Download presentation

Presentation is loading. Please wait.

Published byGretchen Regis Modified over 2 years ago

1
Address comments to lhe@ee.ucla.edu FPGA Area Reduction by Multi-Output Sequential Resynthesis 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

2
Outline Background and Motivation Combinational Resynthesis with MIMO Blocks Sequential Resynthesis Experimental Results Conclusion and Future Work

3
Background Area-optimal Technology Mapping for LUT-based FPGAs is NP-Hard [Farrahi, TCAD’94] Post-mapping resynthesis is effective to reduce area (LUT#) [Ling, DAC’05] Area reduction Fault tolerance, power optimization, physical-aware optimization, and many others.

4
Boolean Matching Based Resynthesis Attempt to re-map a logic block to reduce LUT# BM can be used to handle both homogenous and heterogeneous PLBs (Source: Andrew Ling, University of Toronto, DAC'05)

5
Overall Flow of BM-based Resynthesis Multi-iterations of block-based Boolean Matching (Source: Andrew Ling, University of Toronto, DAC'05)

6
Limitations of Existing Work Considering single-output logic blocks Considering combinational portion of the circuit A larger solution space can be explored and area could be reduced if Multiple-output logic blocks are considered FF boundaries are eliminated

7
Motivation Example – Retiming Resynthesis is restricted by FF boundaries … Retiming creates chances for resynthesis 2-LUT network

8
Motivation Example – MISO Resynthesis 2-LUT network Function of O 2 has to be preserved … Only 1-LUT reduction

9
Motivation Example – MIMO Resynthesis 2-LUT network 60% area reduction is obtained by sequential MIMO resynthesis!

10
Major Contributions Present a Boolean matching based resynthesis algorithm considering multi-output logic blocks Propose a sequential resynthesis technique Reduce area by up to 10% compared to combinational resynthesis, when both using MIMO blocks

11
Outline Background and Motivation Combinational Resynthesis with MIMO Blocks SAT-based Boolean Matching for Multiple Output Functions Resynthesis Algorithm Experimental Results Sequential Resynthesis Experimental Results Conclusion and Future Work

12
Existing Boolean Matching for MISO 2-LUT fg ? Formulate the sub-problem of resynthesis to Boolean matching (BM) BM: Can function f be implemented in circuit g ? Resynthesis: Is there a configuration to g so that for all inputs to g, f is equivalent to g ? (Source: Andrew Ling, University of Toronto, DAC'05)

13
SAT-BM for Multi-Output Functions G LUT [i 1, i 2, F] = ( i 1 + i 2 + ¬L 0 + F) ( i 1 + i 2 + L 0 + ¬ F) ( i 1 + ¬ i 2 + ¬L 1 + F) ( i 1 + ¬ i 2 + L 1 + ¬ F) (¬ i 1 + i 2 + ¬L 2 + F) (¬ i 1 + i 2 + L 2 + ¬ F) (¬ i 1 + ¬ i 2 + ¬L 3 + F) (¬ i 1 + ¬ i 2 + L 3 + ¬ F) G = G LUT1 [x 1, x 2, F 2 ] · G LUT2 [F 2, x 3, F 1 ] Configuration bits are encoded as SAT literals Characteristic function

14
SAT-BM for Multi-Output Functions G = G LUT1 [x 1, x 2, F 2 ] · G LUT2 [F 2, x 3, F 1 ] Replicated SAT Problem: G expand = G[X/000, F 1 /0, F 2 /0] · G[X/001, F 1 /0, F 2 /0] G[X/010, F 1 /1, F 2 /0] · G[X/011, F 1 /0, F 2 /0] G[X/100, F 1 /1, F 2 /0] · G[X/101, F 1 /0, F 2 /0] G[X/110, F 1 /1, F 2 /1] · G[X/111, F 1 /1, F 2 /1] The solution of this SAT problem corresponds to the Boolean matching results SAT!

15
Unique Problem of MIMO Synthesis MIMO-resynthesis can generate new path in the block The new path might cause combinational cycles Conservative solution: detect combinational cycles and discard resynthesis solutions with cycles Combinational cycle! PI PO 5 1 2 4 3 False path?

16
Experimental Settings Implementation in OAGear SAT-BM uses miniSAT2.0 20 biggest MCNC benchmarks are tested 10 combinational 10 sequential mapped with 4-LUTs by Berkeley ABC Resynthesis settings One traversal is performed Blocks with up to 10 inputs are considered Results are verified by ABC equivalency checkers

17
Experimental Settings – PLB templates All three possible structures for PLBs with up to 10 inputs and less than 4 4-LUTs [Ling, DAC’05] All intermediate wires are treated as the outputs in MIMO resynthesis

18
Combinational Resynthesis: MISO vs. MIMO MIMO does not out-perform MISO significantly, probably due to Rejecting “false paths” introduced by MIMO resynthesis Narrow PLB templates Small block size and LUT size No iterations of re-synthesis

19
Outline Background and Motivation Combinational Resynthesis with MIMO Blocks Sequential Resynthesis Experimental Results Conclusion and Future Work

20
Structure Impact on Sequential Resynthesis The structure of a logic block decides the sequential resynthesis strategies Retiming Classic retiming All edges have non-negative weights after retiming Peripheral retiming Result in negative number of FFs at peripheral edges Logic Duplication Allow duplication Not allow duplication

21
Case I: Classic Retiming w/o Duplication Step1: backward retiming Step2: combinational resynthesis Step3: forward retiming

22
Case II: Peripheral Retiming w/o Duplication Step1: peripheral retiming Step2: combinational resynthesis Step3: check feasibility of forward retiming Brorrow FFs from outside. A resynthesis solution w/ feasible retiming

23
Case II: Peripheral Retiming w/o Duplication Step4: forward retiming

24
Case III: Retiming w/ Duplication FF not movable! FF# = 1 FF# = 0 Duplication is required to enable retiming!

25
Case III: Peripheral Retiming w/ Duplication FF not movable! Identical configuration for LUT-c and LUT-d.

26
Duplication or Not? – A Sufficient and Necessary Condition An acyclic block is feasible for retiming w/o duplication iff [Brayton, TCAD’91] a. All input-output paths have the same FF# b. There exist numbers α i and β j for input i and output j, s.t. FF# in (i,j) path is equal to (α i +β j ) α 1 +β 1 α 2 +β 1 α 3 +β 1 α 4 +β 1 * * α 3 +β 2 α 4 +β 2 1 0 1 1 * * 0 0 = α 1 = 1, α 2 = 0, α 3 = 1, α 4 = 1, β 1 = 0, β 2 = -1 α 1 α 2 α 3 α 4 β 1 β 2

27
Duplication or Not? – A Sufficient and Necessary Condition An acyclic block is feasible for retiming w/o duplication iff [Brayton, TCAD’91] a. All input-output paths have the same FF# b. There exist numbers α i and β j for input i and output j, s.t. FF# in (i,j) path is equal to (α i +β j ) Time complexity O(e min(m,n)) Negligible for small block Classic or peripheral retiming? Classic retiming iff there exist non-negative α i and β j

28
Can We Accept Every Single Resynthesis? – Feasibility Checking for Sequential Resynthesis Initial State Computation Filter out some of the rewriting steps so that an equivalent initial state for the synthesized machine can be computed from a given initial state of the original machine. Rewriting invariant [Brayton, IWLS’07] Can be reduced to a SAT problem Clock Period Preservation A New Retiming-based Technology Mapping Algorithm for LUT-based FPGAs [Pan, FPGA’98] Sequential arrival time: l-values

29
Experimental Results – Sequential vs. Combinational Resynthesis Seq-resynthesis obtains up to 9% area reduction Factors to affect seq-resynthesis Sequential structure All factors in combinational resynthesis

30
Outline Background and Motivation Combinational Resynthesis with MIMO Blocks SAT-based Boolean Matching for Multiple Output Functions Resynthesis Algorithm Sequential Resynthesis Conclusion and Future Work

31
Conclusions and Future Work Proposed a new resynthesis considering both MIMO blocks and retiming Results indicate that sequential resynthesis obtains more gain than MIMO resynthesis Future work PLBs from [Ling, DAC’05] are optimal only for MISO, and we will develop new PLB structures for MIMO re- synthesis Study the resynthesis for heterogeneous FPGAs

32
Thanks FPGA Area Reduction by Multi-Output Sequential Resynthesis Yu Hu, Victor Shih, Rupak Majumdar and Lei He

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google