It Is Better to Run Iterative Resynthesis on Parts of the Circuit Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University.

Slides:



Advertisements
Similar presentations
New Ways of Generating Large Realistic Benchmarks for Testing Synthesis Tools Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical.
Advertisements

Algorithms Analysis Lecture 6 Quicksort. Quick Sort Divide and Conquer.
Principal Component Analysis (PCA) for Clustering Gene Expression Data K. Y. Yeung and W. L. Ruzzo.
Scalable Test Pattern Generator Design Method for BIST Petr Fišer, Hana Kubátová Czech Technical University in Prague Faculty of Electrical Engineering.
K-Means and DBSCAN Erik Zeitler Uppsala Database Laboratory.
Iterative Optimization of Hierarchical Clusterings Doug Fisher Department of Computer Science, Vanderbilt University Journal of Artificial Intelligence.
Combining Technology Mapping and Retiming EECS 290A Sequential Logic Synthesis and Verification.
Technology Mapping.
1 Generalized Buffering of PTL Logic Stages using Boolean Division and Don’t Cares Rajesh Garg Sunil P. Khatri Department of Electrical and Computer Engineering,
Continuous Retiming EECS 290A Sequential Logic Synthesis and Verification.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Study Group Randomized Algorithms Jun 7, 2003 Jun 14, 2003.
A Probabilistic Method to Determine the Minimum Leakage Vector for Combinational Designs Kanupriya Gulati Nikhil Jayakumar Sunil P. Khatri Department of.
Sept. 19, 2002Workshop on Boolean Problems A Theory of Non-Deterministic Networks R. K. Brayton EECS Dept. University of California Berkeley.
Logic Synthesis Primer
Optimality Study of Logic Synthesis for LUT-Based FPGAs Jason Cong and Kirill Minkovich VLSI CAD Lab Computer Science Department University of California,
Principal Component Analysis (PCA) for Clustering Gene Expression Data K. Y. Yeung and W. L. Ruzzo.
10 Algorithms in 20th Century Science, Vol. 287, No. 5454, p. 799, February 2000 Computing in Science & Engineering, January/February : The Metropolis.
1 A Flexible Minimization and Partitioning Method Petr Fišer, Jan Hlavička Czech Technical University in Prague
Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical.
Pseudo-Random Pattern Generator Design for Column ‑ Matching BIST Petr Fišer Czech Technical University Dept. of Computer Science and Engineering.
1 Chapter 20 Section Slide Set 2 Perceptron examples Additional sources used in preparing the slides: Nils J. Nilsson’s book: Artificial Intelligence:
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
tch?v=Y6ljFaKRTrI Fireflies.
Area and Speed Oriented Implementations of Asynchronous Logic Operating Under Strong Constraints.
BoolTool: A Tool for Manipulation of Boolean Functions Petr Fišer, David Toman Czech Technical University in Prague Dept. of Computer Science and Engineering.
How Much Randomness Makes a Tool Randomized? Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University in Prague
Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering.
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
Chun-Yao Wang ( 王俊堯 ) 2011/12/16 Department of Computer Science, National Tsing Hua University Hsinchu, Taiwan, R.O.C.
Two-Level Boolean Minimizer BOOM-II Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University Karlovo nam. 13,
On Logic Synthesis of Conventionally Hard to Synthesize Circuits Using Genetic Programming Petr Fišer, Jan Schmidt Faculty of Information Technology, Czech.
Cut-Based Inductive Invariant Computation Michael Case 1,2 Alan Mishchenko 1 Robert Brayton 1 Robert Brayton 1 1 UC Berkeley 2 IBM Systems and Technology.
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.
Generating Toffoli Networks from ESOP Expressions Yasaman Sanaee Winter 2009 University of New Brunswick.
Optimality Study of Logic Synthesis for LUT-Based FPGAs Jason Cong and Kirill Minkovich.
1 Implicant Expansion Methods Used in The BOOM Minimizer Petr Fišer, Jan Hlavička Czech Technical University, Karlovo nám. 13, Prague 2
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.
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.
SEMI-SYNTHETIC CIRCUIT GENERATION FOR TESTING INCREMENTAL PLACE AND ROUTE TOOLS David GrantGuy Lemieux University of British Columbia Vancouver, BC.
1 Timing Closure and the constant delay paradigm Problem: (timing closure problem) It has been difficult to get a circuit that meets delay requirements.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
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.
OPTIMIZATION OF MODELS: LOOKING FOR THE BEST STRATEGY
SINGLE-LEVEL PARTITIONING SUPPORT IN BOOM-II
Synthesis for Verification
MAPLD 2005 Reduced Triple Modular Redundancy for Tolerating SEUs in SRAM based FPGAs Vikram Chandrasekhar, Sk. Noor Mahammad, V. Muralidharan Dr. V. Kamakoti.
Delay Optimization using SOP Balancing
Faster Logic Manipulation for Large Designs
SAT-Based Logic Optimization and Resynthesis
Computer Science cpsc322, Lecture 14
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
Logic Synthesis Primer
A Semi-Canonical Form for Sequential AIGs
Applying Logic Synthesis for Speeding Up SAT
Standard-Cell Mapping Revisited
KMeans Clustering on Hadoop Fall 2013 Elke A. Rundensteiner
SAT-Based Optimization with Don’t-Cares Revisited
FPGA Glitch Power Analysis and Reduction
Recording Synthesis History for Sequential Verification
Delay Optimization using SOP Balancing
Magic An Industrial-Strength Logic Optimization, Technology Mapping, and Formal Verification System Alan Mishchenko UC Berkeley.
Robert Brayton Alan Mishchenko Niklas Een
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko Department of EECS UC Berkeley
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Fast Boolean Minimizer for Completely Specified Functions
Presentation transcript:

It Is Better to Run Iterative Resynthesis on Parts of the Circuit Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University in Prague

IWLS’102 Outline Preliminaries Iterative resynthesis Motivation Circuit resynthesis by parts Experiments Conclusions

IWLS’103 Preliminaries Synthesis (optimization) of circuits (networks) will be discussed Just for simplicity: Combinational circuits are assumed Mapping into arbitrary 2-input gates Cost (optimality criterion, quality) = # of gates

IWLS’104 Iterative Resynthesis Iterative resynthesis = improving the result quality by repetitive application of a single synthesis process, in order to improve the result quality Possible assumption: the synthesis process cannot make the circuit worse Needs not be always true

IWLS’105 Iterative Resynthesis in ABC ABC naturally supports iterative resynthesis Emphasized by “choices” Many possible processes Suggested: repeating {choice; map} Superchoice: fraig_store; resyn fraig_store; resyn2 fraig_store; resyn2rs fraig_store; share fraig_store; fraig_restore

IWLS’106 Iterative Resynthesis in ABC

IWLS’107 How Many Iterations suffice? 228 of IWLS’93 benchmarks examined Iterations to converge# of cases < – – – (t481) > (seq, too_large)

IWLS’108 Motivation Imagine: e64 IWLS’93 circuit (65 inputs, 65 outputs, input gates) Case 1 – synthesis of the circuit, as it is: 530 gates 2.33s runtime Case 2 – split the circuit into two halves, synthesize them separately, then merge the results 522 gates 1.73s total runtime Where is the problem? What’s wrong?

IWLS’109 Circuit Resynthesis by Parts Resynthesize(Network N, opt) { do { (W, N R ) = Extract_Window(N, opt); W’ = resynthesize_by_ABC(W); N’ = N R  W’; if (cost(N’) ≤ cost(N)) N = N’; } while (!end()); }

IWLS’1010 Window Extraction

IWLS’1011 Window Extraction Connected circuits are always extracted Method 0 – Random selection Randomly select one “pivot” gate Incrementally add randomly selected adjoining gates Method 1 – Minimize_fanin Randomly select one “pivot” gate Incrementally add adjoining gates, so that the number of window primary inputs is minimized (in a greedy way) Method 2 – Minimize_fanout Randomly select one “pivot” gate Incrementally add adjoining gates, so that the number of window primary outputs is minimized (in a greedy way) Method 3 – Minimize_fanin+fanout Randomly select one “pivot” gate Incrementally add adjoining gates, so that the sum of numbers of window primary inputs and outputs is minimized (in a greedy way) These methods allow for arbitrary window size scaling

IWLS’1012 Window Extraction Method 4 – RadiusSelect Randomly select one “pivot” gate Add all adjoining gates (i.e., all fan-in and fan-out gates) For each gate in the window, do (2.), up to the given radius Method 5 – Windowing-like selection Similar to the window selection algorithm in the resubstitution process in ABC Randomly select one “pivot” gate Find the minimum level of its transitive fan-in to a given depth Generate transitive fan-out of the pivot, to a given depth For these fan-out nodes, include all transitive fan-in nodes up to the computed level into the window The window size is partially determined by the circuit structure

IWLS’1013 Experimental Setup 228 of IWLS’93 benchmarks processed Resynthesis using ABC, using the “superchoice” script, followed by technology mapping into 2-input gates Iterated 1000-times (recall – this should be more than enough) 100% circuit resynthesis yielded 19.97% improvement in the average

IWLS’1014 Comparison of Methods Gates (size 20%) Time (size 20%)

IWLS’1015 Comparison of Methods

IWLS’1016 Results Method 0 (Random select), improvement vs. ABC iterated 1000-times

IWLS’1017 Results Method 4 (Radius select), improvement vs. ABC iterated 1000-times

IWLS’1018 Why This Happens - Example Cases Behavior of one of the “good for us” circuits (e64) Method 0 (random selection)

IWLS’1019 Why This Happens - Example Cases Behavior of one of the “bad for us” circuits (clip) Method 0 (random selection)

IWLS’1020 Convergence, Maybe?

IWLS’1021 Convergence, Maybe?

IWLS’1022 Conclusions Sometimes it is better to resynthesize circuits by parts, rather than as whole In cases where not, probably it is due to random fluctuations caused by random part selections Resynthesis by parts converges slower, but yields better results Why?

IWLS’1023 Questions Discussion Stoning to death…