On Logic Synthesis of Conventionally Hard to Synthesize Circuits Using Genetic Programming Petr Fišer, Jan Schmidt Faculty of Information Technology, Czech.

Slides:



Advertisements
Similar presentations
Three Special Functions
Advertisements

New Ways of Generating Large Realistic Benchmarks for Testing Synthesis Tools Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical.
Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
Scalable Test Pattern Generator Design Method for BIST Petr Fišer, Hana Kubátová Czech Technical University in Prague Faculty of Electrical Engineering.
Genetic Algorithms Sushil J. Louis Evolutionary Computing Systems LAB Dept. of Computer Science University of Nevada, Reno
It Is Better to Run Iterative Resynthesis on Parts of the Circuit Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University.
ECE 667 Synthesis and Verification of Digital Systems
CS 151 Digital Systems Design Lecture 11 NAND and XOR Implementations.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
ENGIN112 L11: NAND and XOR Implementation September 26, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 11 NAND and XOR Implementations.
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.
Logic Synthesis for Programmable Devices Onur Bay & Debatosh Debnath
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by.
Logic Synthesis 3 Outline –Multi-Level Logic Optimization –Local Transformations –Weak Division Goal –Understand multi-level optimization –Understand local.
Logic Verification 1 Outline –Logic Verification Problem –Verification Approaches –Recursive Learning Approach Goal –Understand verification problem –Understand.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
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,
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Genetic Programming.
Genetic Algorithm.
June 10, Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs Tomasz S. Czajkowski and Stephen D. Brown University of Toronto.
Artificial Neural Networks
Faster Logic Manipulation for Large Designs Alan Mishchenko Robert Brayton University of California, Berkeley.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic Algorithms Michael J. Watts
An Iterative Heuristic for State Justification in Sequential Automatic Test Pattern Generation Aiman H. El-MalehSadiq M. SaitSyed Z. Shazli Department.
THE TESTING APPROACH FOR FPGA LOGIC CELLS E. Bareiša, V. Jusas, K. Motiejūnas, R. Šeinauskas Kaunas University of Technology LITHUANIA EWDTW'04.
1 Formal Verification of Candidate Solutions for Evolutionary Circuit Design (Entry 04) Zdeněk Vašíček and Lukáš Sekanina Faculty of Information Technology.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
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.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
Genetic Algorithms Czech Technical University in Prague, Faculty of Electrical Engineering Ondřej Vaněk, Agent Technology Center ZUI 2011.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
1 Synthesizing Datapath Circuits for FPGAs With Emphasis on Area Minimization Andy Ye, David Lewis, Jonathan Rose Department of Electrical and Computer.
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 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.
CS151 Introduction to Digital Design Chapter 2: Combinational Logic Circuits 2-9 Exclusive-OR Operator and Gates 1Created by: Ms.Amany AlSaleh.
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic (Evolutionary) Algorithms CEE 6410 David Rosenberg “Natural Selection or the Survival of the Fittest.” -- Charles Darwin.
1 A genetic algorithm with embedded constraints – An example on the design of robust D-stable IIR filters 潘欣泰 國立高雄大學 資工系.
Search-Based Synthesis of Approximate Circuits Implemented into FPGAs
A New Logic Synthesis, ExorBDS
Zdeněk Vašíček and Lukáš Sekanina
Mapping into LUT Structures
Delay Optimization using SOP Balancing
Faster Logic Manipulation for Large Designs
Faster Logic Manipulation for Large Designs
SAT-Based Optimization with Don’t-Cares Revisited
FPGA Glitch Power Analysis and Reduction
Overview Part 1 – Design Procedure Part 2 – Combinational Logic
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Technology Mapping I based on tree covering
Delay Optimization using SOP Balancing
Artificial Intelligence CIS 342
Beyond Classical Search
Fast Boolean Minimizer for Completely Specified Functions
Presentation transcript:

On Logic Synthesis of Conventionally Hard to Synthesize Circuits Using Genetic Programming Petr Fišer, Jan Schmidt Faculty of Information Technology, Czech Technical University in Prague Zdeněk Vašíček, Lukáš Sekanina Faculty of Information Technology, Brno University of Technology

DDECS’102 Outline Motivation Hard to Synthesize Circuits Cartesian Genetic Programming Experimental Results Conclusions

DDECS’103 Motivation Target: synthesis (minimization) of combinational circuits – multi-level networks Problem: conventional synthesis tools “fail” on some circuits. Synthesized networks are sometimes orders of magnitude larger the expected size Synthesis fails even for very small circuits  There is a class of hard to synthesize circuits  Genetic programming could help

DDECS’104 Hard to Synthesize Circuits Several classes of such: LEKO and LEKU benchmarks Realistic LEKU benchmarks Difficult standard benchmark circuits Parity benchmark circuits Tautology and near-tautology circuits

DDECS’105 LEKO and LEKU Benchmarks Logic Examples with Known Optimum (LEKO) Logic Examples with Known Upper Bound (LEKU) Published in J. Cong and K. Minkovich, “Optimality study of logic synthesis for LUT-based FPGAs”, IEEE Trans. CAD, vol. 26, pp. 230–239, Feb Originally for testing LUT mappers Construction: Small artificial circuit (7 LUTs) is replicated (e.g. 10-times) The network is collapsed into a two-level representation It is mapped into 2-input gates  Large circuit is obtained Both commercial and academic tools produce results 500-times the optimum size!  synthesis fails, because of the circuit is large

DDECS’106 Realistic LEKU Benchmarks Cong’s benchmarks are artificial However, the same benchmark generation process (collapsing & mapping) may be applied to any circuit For most of real circuits, collapsing & mapping produces large networks as well … and the consequences are the same:  synthesis fails, because of the circuit is large

DDECS’107 Difficult Standard Benchmark Circuits Some circuits from standard banchmark sets (LGSynth, ISCAS, IWLS, MCNC) are hard to synthesize as well Mostly because XOR decomposition is needed In most of available synthesis tools it is not supported  synthesis fails, even for small circuits

DDECS’108 Parity Benchmark Circuits The above-mentioned problem can be artificially induced for any circuit: A parity tree is appended to the circuit The network is collapsed into a two-level representation It is mapped into 2-input gates   Sometimes a large circuit is obtained, sometimes not XOR decomposition capability is necessary to obtain good results  synthesis fails, for both small and big circuits

DDECS’109 Tautology and Near-Tautology Circuits Artificially large representations of small circuits: Random SOP with many terms is generated This SOP is tautology, or near-tautology (only few minterms missing to tautology) This SOP is mapped into 2-input gates The circuit is a constant (or just a few gates). Synthesis tools are not able to discover it, because of the representation is too large  synthesis fails, because of the circuit is large

DDECS’1010 Motivation, cont. Common properties of all these classes: We know the complexity upper bound, which is rather small Standard synthesis fails  There is a need for universal synthesis process able to efficiently handle any kind of circuits, regardless their nature, structure, etc.  Genetic programming becomes a candidate, since all synthesis processes are being done implicitly

DDECS’1011 Cartesian Genetic Programming (CGP) The circuit is modeled as a 2-dimensional array of programmable elements The chromosome describes the interconnection and element (gate) types  its size is fixed The size of the phenotype is variable

DDECS’1012 Cartesian Genetic Programming (CGP) The algorithm The initial population of 1+ individuals is generated (randomly or using a conventional synthesis) Evaluate the population Select the highest scored individual – parent Use mutation to create offspring of the parent individual Create the new population using the parent and its offspring If the termination criterion is not satisfied, go to step 2.

DDECS’1013 Cartesian Genetic Programming (CGP) Mutation

DDECS’1014 Cartesian Genetic Programming (CGP) Fitness Should reflect the circuit (phenotype) size Must reflect, if the circuit is functionally equivalent to the original Could reflect the “distance” to the original

DDECS’1015 Cartesian Genetic Programming (CGP) Fitness Should reflect the circuit (phenotype) size  The number of gates is subtracted from the fitness value Must reflect, if the circuit is functionally equivalent to the original Could reflect the “distance” to the original

DDECS’1016 Cartesian Genetic Programming (CGP) Fitness Should reflect the circuit (phenotype) size  The number of gates is subtracted from the fitness value Must reflect, if the circuit is functionally equivalent to the original  Invalid individuals are assigned zero fitness Could reflect the “distance” to the original

DDECS’1017 Cartesian Genetic Programming (CGP) Fitness Should reflect the circuit (phenotype) size  The number of gates is subtracted from the fitness value Must reflect, if the circuit is functionally equivalent to the original  Invalid individuals are assigned zero fitness Could reflect the “distance” to the original  fitness = B + (u.v - g) B – number of correct bits, out of 2 n u, v – dimensions of the array g – number of gates

DDECS’1018 Experiments Experimental setup ABC is used for conventional synthesis Extended “choice” script used for the circuit optimization Iterated 1000-times Mapping into 2-input gates (AND, NAND, OR, NOR, NOR, XNOR) Cartesian Genetic Programming v = 1 (number of rows) u = L (number of columns / levels) Fitness = number of gates, invalid individuals are assigned zero fitness. SAT-based equivalence checking is used = 2 (offsprings) Run for 5 hours

DDECS’1019 Experiments CGP Used as a Primary Optimization Process Namenini nono originalABCCGPCGP vs. ABC 9sym % 9sym_p_c % alu1_p_c % big_pla % c8_p_c % cc_p_c % count_p_c % in6_p_c % rd % s1238_p_c % s298_p_c % s344_p_c % s349_p_c % s420_p_c % signet_p_c % t % taut % term1_p_c %

DDECS’1020 Experiments CGP Used as a Primary Optimization Process ABCCGP Convergence curves

DDECS’1021 Experiments CGP Used for a Post-Synthesis Optimization First, the circuit was synthesized using conventional synthesis tools, the “best” conventional synthesis process possible was used Then it was optimized by CGP Namenini nono gatesBest conv.Best conv. + CGPImpr. 9sym % 9sym_p_c % b4_p_c % big_pla % cc_p_c % in6_p_c % LEKU-CB % rd % s1238_p_c % s420.1_p_c % s420_p_c % signet_p_c % term1_p_c %

DDECS’1022 Conclusions A circuit optimization method based on Cartesian genetic programming (CGP) was proposed CGP is able to implicitly discover “good” circuit structures  it is the sought universal synthesis process CGP significantly outperforms conventional synthesis tools This is especially apparent for hard-to-synthesize circuits CGP may be advantageously used for post-synthesis optimization The CGP iterative strength is much higher than the iterative strength of the ABC iterative synthesis process  CGP can produce better and better results for a cost of a runtime, whereas ABC gets quickly stuck in a local optimum