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?