Exploiting Symmetry in SAT-Based Boolean Matching for Heterogeneous FPGA Technology Mapping Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1 Electrical.

Slides:



Advertisements
Similar presentations
Abdullah Aldahami ( ) Jan 29,  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques.
Advertisements

Address comments to FPGA Area Reduction by Multi-Output Sequential Resynthesis Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1.
Exploiting Symmetry in SAT-Based Boolean Matching for Heterogeneous FPGA Technology Mapping Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1 Electrical.
Optical Architecture for (Restricted) Exponential Time Hard Problems Nova Fandina Ben-Gurion University of the Negev, Israel Joint work with: Prof. Shlomi.
Design, Synthesis and Evaluation of Heterogeneous FPGA with Mixed LUTs and Macro-Gates Yu Hu 1, Satyaki Das 2, Steve Trimberger 2, and Lei He 1 1. Electrical.
©2004 Brooks/Cole FIGURES FOR CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES Click the mouse to move to the next page. Use the ESC key.
From Sequences of Dependent Instructions to Functions An Approach for Improving Performance without ILP or Speculation Ben Rudzyn.
Reconfigurable Computing: What, Why, and Implications for Design Automation André DeHon and John Wawrzynek June 23, 1999 BRASS Project University of California.
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
Application Specific Instruction Generation for Configurable Processor Architectures VLSI CAD Lab Computer Science Department, UCLA Led by Jason Cong Yiping.
Technology Mapping.
A High Performance Application Representation for Reconfigurable Systems Wenrui GongGang WangRyan Kastner Department of Electrical and Computer Engineering.
Address comments to Robust FPGA Resynthesis Based on Fault-Tolerant Boolean Matching Yu Hu 1, Zhe Feng 1, Lei He 1 and Rupak Majumdar 2.
Yu Hu1, Satyaki Das2 Steve Trimberger2, and Lei He1
Rewiring – Review, Quantitative Analysis and Applications Matthew Tang Wai Chung CUHK CSE MPhil 10/11/2003.
Boolean Matching in Logic Synthesis. Equivalence of Functions Equivalence of two functions defined under l Negation of input variables l Permutation of.
 Y. Hu, V. Shih, R. Majumdar and L. He, “Exploiting Symmetries to Speedup SAT-based Boolean Matching for Logic Synthesis of FPGAs”, TCAD  Y. Hu,
Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan.
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
1 Miodrag Bolic ARCHITECTURES FOR EFFICIENT IMPLEMENTATION OF PARTICLE FILTERS Department of Electrical and Computer Engineering Stony Brook University.
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization Jia Wang, Shiyan Hu Department of Electrical and Computer Engineering.
CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES
Reconfigurable Computing Using Content Addressable Memory (CAM) for Improved Performance and Resource Usage Group Members: Anderson Raid Marie Beltrao.
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimisation in Lookup- Table Based FPGA Designs 04/06/ Presented by Qiwei Jin.
FPGA PLB Evaluation using Quantified Boolean Satisfiability Andrew C. Ling M.A.Sc. Candidate University of Toronto Deshanand P. Singh Ph.D. Altera Corporation.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #4 – FPGA.
Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.
Kuo-Hua Wang, Chung-Ming Chan, Jung-Chang Liu Dept. of CSIE Fu Jen Catholic University Slide: Chih-Fan Lai Simulation and SAT-Based Boolean Matching for.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
ATS Exploiting Free LUT Entries to Mitigate Soft Errors in SRAM- based FPGAs Keheng Huang, Yu Hu, Xiaowei Li Institute of Computing Technology Chinese.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Output Grouping Method Based on a Similarity of Boolean Functions Petr Fišer, Pavel Kubalík, Hana Kubátová Czech Technical University in Prague Department.
Optimality FPGA Technology Mapping: A Study of Optimality Andrew C. Ling M.A.Sc. Candidate University of Toronto Deshanand P. Singh Ph.D. Altera Corporation.
In-Place Decomposition for Robustness in FPGA Ju-Yueh Lee, Zhe Feng, and Lei He Electrical Engineering Dept., UCLA Presented by Ju-Yueh Lee Address comments.
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
FPGA Logic Cluster Design Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
IPR: In-Place Reconfiguration for FPGA Fault Tolerance Zhe Feng 1, Yu Hu 1, Lei He 1 and Rupak Majumdar 2 1 Electrical Engineering Department 2 Computer.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
New Canonical Form for Fast Boolean Matching in Logic Synthesis and Verification Afshin Abdollahi and Massoud Pedram Department of Electrical Engineering.
A Survey of Fault Tolerant Methodologies for FPGA’s Gökhan Kabukcu
Presented By Anna Fariha Roll : SN – 213 MS, 1 st Semester Session: Boolean Matching.
Resource Sharing in LegUp. Resource Sharing in High Level Synthesis Resource Sharing is a well-known technique in HLS to reduce circuit area by sharing.
Fault-Tolerant Resynthesis for Dual-Output LUTs Roy Lee 1, Yu Hu 1, Rupak Majumdar 2, Lei He 1 and Minming Li 3 1 Electrical Engineering Dept., UCLA 2.
Global Delay Optimization using Structural Choices Alan Mishchenko Robert Brayton UC Berkeley Stephen Jang Xilinx Inc.
Hardware Acceleration of A Boolean Satisfiability Solver
Chih-Fan Lai1, J.-H. Roland Jiang1, and Kuo-Hua Wang2
A New Logic Synthesis, ExorBDS
This chapter in the book includes: Objectives Study Guide
Robust FPGA Resynthesis Based on Fault-Tolerant Boolean Matching
Technology Mapping into General Programmable Cells
Mapping into LUT Structures
Logic and Computer Design Fundamentals
Samuel Luckenbill1, Ju-Yueh Lee2, Yu Hu3, Rupak Majumdar1, and Lei He2
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
Versatile SAT-based Remapping for Standard Cells
Leakage-Aware FPGA Re-synthesis
A Boolean Paradigm in Multi-Valued Logic Synthesis
LPSAT: A Unified Approach to RTL Satisfiability
SAT-Based Area Recovery in Technology Mapping
ECE 331 – Digital System Design
FPGA Logic Synthesis using Quantified Boolean Satisfiability
Sungho Kang Yonsei University
FPGA Glitch Power Analysis and Reduction
Yu Hu1, Satyaki Das2, Steve Trimberger2, and Lei He1
Off-path Leakage Power Aware Routing for SRAM-based FPGAs
SAT-based Methods: Logic Synthesis and Technology Mapping
CSE 575 Computer Arithmetic Spring 2003 Mary Jane Irwin (www. cse. psu
Presentation transcript:

Exploiting Symmetry in SAT-Based Boolean Matching for Heterogeneous FPGA Technology Mapping Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1 Electrical Engineering Dept., UCLA 2 Computer Science Dept., UCLA Presented by Yu Hu Address comments to

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

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 f can be implemented by hardware component H

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*a + c*a + d*a + b*a f2 = a + b + c + d + e f1 = (e + c + d + b)*a i.e., f1 = z*a z = e + c + d + b z e c d b a f1 L0 (0000)0 L1 (0001)1 L2 (0010)1 ……… L15(1111)1

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, TCAD’01]  BDD based BM is not scalable (memory explosion) [Ciric, TCAD’03]  Fast BM is hard to deal with programmable devices [Wei, ISQED’06] SAT based BM [Ling, DAC’05][Safarpour, DAC’06][Cong, FPGA’07]  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

Review: SAT Based Encoding for BM Encoding non-programmable devices  Requires common/interconnect variables  Is a linear time procedure Example: f AND = (x 2 +¬z 1 ) (x 1 +¬z 1 ) (¬x 2 +¬x 1 + z 1 ) f OR = (¬x 3 +g) (¬z 1 +g) (x 3 +z 1 + ¬g) f total = f AND f OR = (x 2 +¬z 1 ) (x 1 +¬z 1 ) (¬x 2 +¬x 1 + z 1 ) (¬x 3 +g) (¬z 1 +g) (x 3 +z 1 + ¬g)

Review: SAT Based Encoding for BM Encoding programmable devices  Configuration bits are encoded f LUT =( x 1 + x 2 + ¬L 0 + z 1 ) ( x 1 + x 2 + L 0 + ¬ z 1 ) ( x 1 + ¬ x 2 + ¬L 1 + z 1 ) ( x 1 + ¬ x 2 + L 1 + ¬ z 1 ) (¬ x 1 + x 2 + ¬L 2 + z 1 ) (¬ x 1 + x 2 + L 2 + ¬ z 1 ) (¬ x 1 + ¬ x 2 + ¬L 3 + z 1 ) (¬ x 1 + ¬ x 2 + L 3 + ¬ z 1 )

Review: SAT Based Encoding for BM G LUT2 =( x 1 + x 2 + ¬L 0 + z) ( x 1 + x 2 + L 0 + ¬ z) ( x 1 + ¬ x 2 + ¬L 1 + z) ( x 1 + ¬ x 2 + L 1 + ¬ z) (¬ x 1 + x 2 + ¬L 2 + z) (¬ x 1 + x 2 + L 2 + ¬ z) (¬ x 1 + ¬ x 2 + ¬L 3 + z) (¬ x 1 + ¬ x 2 + L 3 + ¬ z) G AND2 = ( x 3 + ¬f ) (¬ x 3 + ¬f ) ( ¬x 3 + ¬z + f ) G = G AND2 · G LUT2 x1x2x3x1x2x3 f SAT: G expand = G[X/000, f/0, z/z 0 ] · G[X/001, f/0, z/z 1 ] G[X/010, f/1, z/z 2 ] · G[X/011, f/0, z/z 3 ] G[X/100, f/1, z/z 4 ] · G[X/101, f/1, z/z 5 ] G[X/110, f/1, z/z 6 ] · G[X/111, f/1, z/z 7 ] Boolean function The solution of this SAT problem corresponds to the Boolean matching results Configuration bits are encoded as SAT literals

Handle Input Permutation and Bridge Virtual MUXes increase runtime exponentially!

Impact of Virtual MUXes

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(b+c), 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)

Impact of Considering Symmetries The number of distinct permutations under symmetries decreases substantially  Functional symmetries and architecture symmetries independently reduce 100x permutations

Overall Algorithm Target architecture Pre-calculate architecture symmetries patterns Architecture symmetry information Characteristic function template Generate characteristic function template Boolean function Functional symmetry detection Pruning by architecture symmetries Non-redundant permutation set (NPS) Is NPs empty? Pre-process for the target PLB, one-time cost Exit Pop a permutation p Y N

Overall Algorithm (cont.) Replicate CNFs of p Solve the SAT problem SAT ? Return implementable Target architecture Pre-calculate architecture symmetries patterns Architecture symmetry information Characteristic function template Generate characteristic function template Pre-process for the target PLB, one-time cost Exit Y Is NPs empty? Pop a permutation p Y N N

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 [Ling ’ 05] Breakdown of speedup techniques

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

Thank You! Exploiting Symmetry in SAT-Based Boolean Matching for Heterogeneous FPGA Technology Mapping Yu Hu, Victor Shih, Rupak Majumdar and Lei He