Exploiting Symmetry in SATBased Boolean Matching for Heterogeneous FPGA Technology Mapping - PowerPoint PPT Presentation

About This Presentation
Title:

Exploiting Symmetry in SATBased Boolean Matching for Heterogeneous FPGA Technology Mapping

Description:

Exploiting Symmetry in SAT-Based. Boolean Matching for Heterogeneous FPGA ... The solution of this SAT problem corresponds to the Boolean matching results ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 18
Provided by: Fei64
Learn more at: http://eda.ee.ucla.edu
Category:

less

Transcript and Presenter's Notes

Title: Exploiting Symmetry in SATBased Boolean Matching for Heterogeneous FPGA Technology Mapping


1
Exploiting Symmetry in SAT-Based Boolean
Matching for Heterogeneous FPGA Technology Mapping
  • Yu Hu1, Victor Shih2, Rupak Majumdar2 and Lei He1
  • 1Electrical Engineering Dept., UCLA
  • 2Computer Science Dept., UCLA
  • Presented by Yu Hu
  • Address comments to lhe_at_ee.ucla.edu

2
Outline
  • Background and Motivations
  • Review of Standard SAT-based Boolean Matching
  • Proposed Improvements
  • Experimental Results
  • Conclusion and Future Work

3
Background
  • FPGA technology mapping
  • Map a design into a network of Programmable
    Logic Blocks (PLBs)
  • Optimize for area, speed and/or power
  • PLB containing heterogeneous devices requires
    Boolean matching (BM) to determine whether
    function fcan be implemented by hardware
    component H

4
Example Boolean Matching (BM) for PLB
  • Answer a Yes-No question
  • Can a Boolean function f be implemented in PLB p?
  • If yes, give the configuration bits of LUTs.

f1 (e c d b)a i.e., f1 za z e c
d b
f1 ea ca da ba f2 a b c d e
5
Motivation for SAT Based PLB BM
  • Application of FPGA PLB Boolean matching
  • Technology mapping
  • Re-synthesis
  • Existing BM algorithms
  • Decomposition based BM is lack of flexibility,
    i.e., algorithm is only applicable to selected
    BLE structure Cong, TCAD01
  • BDD based BM is not scalable (memory explosion)
    Ciric, TCAD03
  • Fast BM is hard to deal with programmable devices
    Wei, ISQED06
  • SAT based BM Ling, DAC05Safarpour,
    DAC06Cong, FPGA07
  • Introduces extreme flexibility
  • Provide a tradeoff between memory and runtime to
    deal with complicated BLE structures
  • Still slow, hard to be applied to complex PLBs

6
Review SAT Based Encoding for BM
  • Encoding non-programmable devices
  • Requires common/interconnect variables
  • Is a linear time procedure
  • Example

f AND (x2z1) (x1z1) (x2x1 z1)
f OR (x3g) (z1g) (x3z1 g)
f total fAND fOR (x2z1) (x1z1) (x2x1
z1) (x3g) (z1g) (x3z1 g)
7
Review SAT Based Encoding for BM
  • Encoding programmable devices
  • Configuration bits are encoded

f LUT ( x1 x2 L0 z1) ( x1 x2
L0 z1) ( x1 x2 L1 z1) ( x1
x2 L1 z1) ( x1 x2 L2 z1) ( x1
x2 L2 z1) ( x1 x2 L3 z1) ( x1
x2 L3 z1)
8
Review SAT Based Encoding for BM
Configuration bits are encoded as SAT literals
G AND2 ( x3 f ) ( x3 f ) ( x3 z f )
G LUT2 ( x1 x2 L0 z) ( x1 x2
L0 z) ( x1 x2 L1 z) ( x1
x2 L1 z) ( x1 x2 L2 z) ( x1
x2 L2 z) ( x1 x2 L3 z) ( x1
x2 L3 z)
The solution of this SAT problem corresponds to
the Boolean matching results
G G AND2 G LUT2
SAT G expand GX/000, f/0 , z/z0 GX/001,
f/0, z/z1 GX/010, f/1 , z/z2 GX/011,
f/0 , z/z3 GX/100, f/1 , z/z4 GX/101,
f/1 , z/z5 GX/110, f/1 , z/z6 GX/111,
f/1 , z/z7
Boolean function
9
Handle Input Permutation and Bridge
Virtual MUXes increase runtime exponentially!
10
Impact of Virtual MUXes
11
Symmetries in Circuits and PLB
  • Functional Symmetries
  • Variable a and variable b are symmetric if
    swapping a and b does not change the truth table
    of function F(,a,,b,)
  • General symmetries which consider the permutation
    of more than two variables can also be explored
  • Eg F(a,b,c) a(bc), where b and c are
    symmetric
  • Architectural Symmetries
  • Structures of certain inputs of a PLB are
    equivalent
  • Eg Inputs of the primary input LUTs of each PLB
    are symmetric
  • F(a, b, c, d)

F(b, a, c, d)
12
Impact of Considering Symmetries
  • The number of distinct permutations under
    symmetries decreases substantially
  • Functional symmetries and architecture symmetries
    independently reduce 100x permutations

13
Overall Algorithm
Boolean function
Target architecture
Functional symmetry detection
Pre-calculate architecture symmetries patterns
Pruning by architecture symmetries
Architecture symmetry information
Non-redundant permutation set (NPS)
Generate characteristic function template
Is NPs empty?
Characteristic function template
Y
N
Pop a permutation p
Exit
Pre-process for the target PLB, one-time cost
14
Overall Algorithm (cont.)
Is NPs empty?
Target architecture
Y
N
Pre-calculate architecture symmetries patterns
Pop a permutation p
Architecture symmetry information
Replicate CNFs of p
Solve the SAT problem
Generate characteristic function template
N
SAT?
Characteristic function template
Y
Return implementable
Exit
Pre-process for the target PLB, one-time cost
15
Experimental Results
  • Experimental settings
  • Tested by Boolean functions in MCNC circuits
  • Target PLB is PLB_d
  • Use minSAT1.14 to solve SAT instances
  • Obtain over 100x speedup compared to the standard
    approach Ling05

Breakdown of speedup techniques
16
Conclusions and Future Work
  • An improvement for SAT-based Boolean matching is
    presented by considering functional and
    architectural symmetries
  • Over 100x speedup is obtained compared to the
    standard SAT-based Boolean matching approach
  • Future Work
  • Integrate the improved SAT-based Boolean matcher
    into heterogeneous FPGA technology mapping phase
  • Perform architecture exploration by our improved
    technology mapper

17
Thank You!
  • Exploiting Symmetry in SAT-Based Boolean
    Matching for Heterogeneous FPGA Technology
    Mapping
  • Yu Hu, Victor Shih, Rupak Majumdar and Lei He
Write a Comment
User Comments (0)
About PowerShow.com