Title: FPGA Architecture Evaluation and Technology Mapping using Boolean Satisfiability
 1FPGA Architecture Evaluation and Technology 
Mappingusing Boolean Satisfiability
- Andrew Ling M.A.Sc Candidate 
 -  (University of Toronto) 
 - Deshanand P. Singh Ph.D. 
 - Valavan Manohararajah Ph.D. 
 - Professor Stephen D. Brown 
 - (University of TorontoAltera Corporation - 
Toronto Technology Centre) 
  2Applications of SAT to FPGAs
- FPGA Routing (G. Nam et al. VLSID, 1999) 
 - Sliding Window Resynthesis 
 - PLB (Programmable Logic Block) technology mapping 
 - Verification of PLB Robustness
 
  3FPGA 
 4K-LUT 
 5Background LUT Mapping Problem
- Given a subject graph representing the circuit 
(usually a netlist of 2-input gates)  - Want a covering of the graph using LUTs. 
 - Equivalently - Want a covering of the graph 
using cones. 
  6Cone
- A subgraph consisting of a root node and its 
predecessors such that any node within the cone 
has a path to the root that lies entirely within 
the cone.  - Constraint on the number of unique inputs (K). 
 - Cone  K-LUT. 
 
  7LUT Mapping Problem 
 8LUT Mapping Problem 
 9LUT Mapping Problem 
 10Cone Selection
- Depth-oriented mapping 
 - Select the cones that guarantees the smallest 
depth.  - Area-oriented mapping 
 - Select the cones that cover the most gates per 
cone. 
  11Satisfiability-based Technology Mapping (SATMAP) 
 12K-Input PLB
- The 3-input PLB below CANNOT implement any 
arbitrary 3-input function 
  13K-Input PLB  
 14K-Input PLB 
SAT ? 
 15Deriving Characteristic FunctionT. Larrabee, 
Test pattern generation using Boolean 
satisfiability," TCAD, 1992 (Plaisted's and 
Greenbaum's encoding which is based on Tseitin's 
work) 
 16Extending to Larger Circuits 
 17SAT applied to PLBs
?
- Can function f be implemented in circuit g ? 
 - Does there exist a configuration to g such that 
for all inputs to g, f is equivalent to g 
  18SAT applied to PLBs
?
- Derive characteristic function H for circuit g 
 - Replace all instances of g in H with f,  
 Hg/f (g  f ) 
  19SAT applied to PLBs
?
- Express as a QBF with inputs (x1xn) and 
configuration bits (l1lm)  -  l1lm x1xn (g  f ) 
 - Remove quantifiers to form a SAT problem (A. 
Biere. Resolve and Expand, SAT04)  
A
E 
 20Evaluating PLBs
- Extract set of k-Input Cones from a large set of 
circuits.  - Examine the percentage of cones fit into PLB 
structure. 
  21Evaluation of PLBs 
 22Applying SAT to Techmapping
- Use any existing k-LUT techmapper and apply SAT 
verification step in addition k-LUT feasibility.  - We use IMAP (V. Manohararajah Technology Mapper) 
in our experiments. 
  23Technology Map to the Apex20k PLB 
 24Applied to Techmapping
- Depth-Oriented Techmapping using the Apex20K PLB.
 
  25Applied to Techmapping
- Area-Oriented Techmapping using the Apex20K PLB
 
  26Conclusions
- Novell function mapping technique based on 
Boolean satisfiability  - Introduced method to incorporate SAT into 
technology mapping  - Introduced a PLB evaluation method
 
  27Future Work
- Speed up SAT, use QBF solvers, ALL-solution SAT 
solvers  - Cannot evaluate area efficiency without looking 
at routing architecture  - Use Dont Cares when mapping functions 
 - Use genetic algorithms to create candidate PLBs, 
then pipe architectures to our PLB evaluator tool 
  28Questions?