*Internal Synthesizer Flow *Details of Synthesis Steps

Slides:



Advertisements
Similar presentations
Chapter 3 Gate-Level Minimization
Advertisements

TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
ELEC Digital Logic Circuits Fall 2014 Logic Synthesis (Chapters 2-5) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
ECE C03 Lecture 31 Lecture 3 Two-Level Logic Minimization Algorithms Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Introductory Comments Regarding Hardware Description Languages.
The Design Process Outline Goal Reading Design Domain Design Flow
ELEN 468 Lecture 121 ELEN 468 Advanced Logic Design Lecture 12 Synthesis of Combinational Logic I.
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Give qualifications of instructors: DAP
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Overview Part 1 – Design Procedure 3-1 Design Procedure
Digital Fundamentals with PLD Programming Floyd Chapter 4
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
1 VLSI CAD Flow: Logic Synthesis, Lecture 13 by Ajay Joshi (Slides by S. Devadas)
ECE 551 Digital System Design & Synthesis
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
B-1 Appendix B - Reduction of Digital Logic Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
Department of Computer Engineering
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Optimization Algorithm
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Two Level and Multi level Minimization
Copyright 2009 Joanne DeGroat, ECE, OSU 1 ECE 762 Theory and Design of Digital Computers, II (A real course title: Design and Specification of Digital.
Karnaugh map covering Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
2-1 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Comparator Block Diagram and Truth Table A 4-Variable K-map for each of the.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 11 High Desecration Language- Based Design.
1 - CPRE 583 (Reconfigurable Computing): VHDL to FPGA: A Tool Flow Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: 9/7/2011.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
2/1/20001 ECE 551: Digital System Design & Synthesis Lecture Set 7 7.1: Coding for if and case 7.2: Coding logic building blocks (In separate file) 7.3:
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
EET 1131 Unit 5 Boolean Algebra and Reduction Techniques
Advanced Computer Systems
Lecture 7 Multi-Level Gate Networks
MULTI-LEVEL GATE CIRCUITS / NAND AND NOR GATES
CHAPTER 7 MULTI-LEVEL GATE CIRCUITS / NAND AND NOR GATES
Parallel Patterns.
ASIC Design Methodology
ECE 3110: Introduction to Digital Systems
Topics Modeling with hardware description languages (HDLs).
Topics Modeling with hardware description languages (HDLs).
Digital Logic & Design Dr. Waseem Ikram Lecture 13.
ECE 551: Digital System Design & Synthesis
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
CH7 Multilevel Gate Network
Optimization Algorithm
CSE 370 – Winter Combinational Implementation - 1
Chapter 3 – Combinational Logic Design
Digital Logic Design I Gate-Level Minimization
Hardware Descriptive Languages these notes are taken from Mano’s book
ELEC 7770 Advanced VLSI Design Spring 2014 Technology Mapping
Topics Logic synthesis. Placement and routing..
ELEC 7770 Advanced VLSI Design Spring 2016 Technology Mapping
332:437 Lecture 3 Hardware Design Methodology and Advanced Logic Design Hardware design.
Architectural-Level Synthesis
Digital Fundamentals Floyd Chapter 4 Tenth Edition
Overview Part 2 – Circuit Optimization
Technology Mapping I based on tree covering
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
THE ECE 554 XILINX DESIGN PROCESS
ECE 551: Digital System Design & Synthesis
THE ECE 554 XILINX DESIGN PROCESS
Circuit Simplification and
Presentation transcript:

*Internal Synthesizer Flow *Details of Synthesis Steps ECE 551 - Digital System Design & Synthesis Lecture Set 6 - Synthesis Overview *Synthesis Flows *Internal Synthesizer Flow *Details of Synthesis Steps Other Synthesis Levels Benefits of Synthesis Synthesis Methodology Vendor Support * These will be our focus. Other topics for self-study using the text. 2/26/2003

Synthesis Flow Oriented toward Synopsys Design Compiler High-Level Design Flow (from Synopsys Design Compiler User Guide) Design Methodology (from Synopsys HDL Compiler for Verilog) Internal Synthesizer Flow 2/26/2003

Internal Synthesizer Flow HDL Description Structural Representation Parsing and Syntax & Semantic Error Checking Architectural Optimization Technology Library Synthesizer Policy Checking Multi-Level Logic Optimization Technology Mapping Translation (Elaboration) Technology-Based Implementation 2/26/2003

Initial Steps Parsing for Syntax and Semantics Checking Gives error messages and warnings to user User may modify the HDL description in response Synthesizer Policy Checking Check for adherence to allowable language constructs and usage recommendations. 2/26/2003

Translation (Elaboration) Builds a structural representation of the design This is net list like, but includes larger components Gives additional errors or warnings to the user Problems are not syntax or semantics of the language, but issues in initial transformation to hardware. Affects the quality achieved by optimization steps Structural representation depends on HDL quality Poor HDL can lock solutions in undesirable design space for successful optimization 2/26/2003

Architectural Optimization May not be present in all synthesis tools Examples: Replace an adder with fixed inputs with an incrementer Replace adder and subtractor with adder/subtractor if not used simultaneously Performs selection of pre-designed components (Synopsys DesignWare) 2/26/2003

Multi-level Logic Optimization Minimization of two-level single output functions followed by: Minimization of multi-level, multiple output functions 2/26/2003

Minimization of Two-Level Single-Output Functions Typically a near-optimal or optimal alteration of the “textbook” procedures covered in beginning logic design courses. Multi-level logic optimization Example: Espresso from UCB Starts from given 2-level expression representation and manipulates it to get an alternative representation with a lower literal count. 2/26/2003

Minimization of Two-Level Single-Output Functions (Continued) Heuristic Minimization Operators Expand - forms a prime and minimal cover with respect to single implicant containment - Each non-prime implicant is expanded to a prime and all other implicants covered by the expanded implicant are deleted. 2/26/2003

Minimization of Two-Level Single-Output Functions (Continued) Expand Example: C B B A A D D 2/26/2003

Minimization of Two-Level Single-Output Functions (Continued) Operators Reduce - Transforms a cover into a non-prime cover. Attempts to replace each implicant with another contained in it while still covering the function. 2/26/2003

Minimization of Two-Level Single-Output Functions (Continued) Reduce Example: C B B A A D D 2/26/2003

Minimization of Two-Level Single-Output Functions (Continued) Operators Reshape - Transforms a cover without changing the number of implicants. Expands one implicant while reducing another while still covering the function. 2/26/2003

Minimization of Two-Level Single-Output Functions (Continued) Reshape Example: C B B A A D D 2/26/2003

Minimization of Two-Level Single-Output Functions (Continued) Operators Irredundant - A minimal subset of implicants is selected such that no single implicant in that subset is covered by the remaining ones. 2/26/2003

Minimization of Two-Level Single-Output Functions (Continued) Irredundant Example: C B B A A D D 2/26/2003

Espresso Concept Expand Irredundant Iterate on: Reduce with heuristic switching inside operators 2/26/2003

Optimization of Multiple Output, Multi-Level Functions For minimization of two-level single -output functions, minimal cover minimizes both area and delay. For multiple output, multi-level functions, there is a tradeoff between area and delay yielding the “banana” curve. Optimization methods applied for: Area minimization (under delay constraints) Delay minimization (under area constraints) 2/26/2003

Optimization of Multiple Output, Multi-Level Functions Example multiple output, multi-level function logic network: a v = a’d +bd + c’d + ae’ w b p = ce + de r = p + a’ s = r + b’ x c t = ac + ad + bc + bd + e y d e q = a + b u = q’c + qc’ + qc z 2/26/2003 Connections not shown here.

Optimization of Multiple Output, Multi-Level Functions Transformations (Operators) Elimination - Removal of an internal vertex from a network. 2/26/2003

Optimization of Multiple Output, Multi-Level Functions Transformations (Operators) Elimination Example: a v = a’d +bd + c’d + ae’ w b p = ce + de s = p + a’ + b’ x c t = ac + ad + bc + bd + e y d e q = a + b u = q’c + qc’ + qc z 2/26/2003 Connections not shown here.

Optimization of Multiple Output, Multi-Level Functions Transformations (Operators) Decomposition - Replacement of a vertex by two (or more) vertices that form a subnetwork equivalent to the original vertex. 2/26/2003

Optimization of Multiple Output, Multi-Level Functions Transformation (Operators) Decomposition Example: a j = a’ + b + c’ v = jd + ae’ w b p = ce + de r = p + a’ s = r + b’ x c t = ac + ad + bc + bd + e y d e q = a + b u = q’c + qc’ + qc z 2/26/2003 Connections not shown here.

Optimization of Multiple Output, Multi-Level Functions Transformations (Operators) Extraction - factoring out of a common subexpression from two vertex functions to create a new vertex. 2/26/2003

Optimization of Multiple Output, Multi-Level Functions Transformations (Operators) Extraction Example: a v = a’d +bd + c’d + ae’ w b p = ke r = p + a’ s = r + b’ x c k = c + d t = ka + kb + e y d e q = a + b u = q’c + qc’ + qc z 2/26/2003 Connections not shown here.

Optimization of Multiple Output, Multi-Level Functions Transformations (Operators) Simplification - Vertex function reduced in complexity by exploiting the properties of its representation. 2/26/2003

Optimization of Multiple Output, Multi-Level Functions Transformations (Operators) Simplification Example: a v = a’d +bd + c’d + ae’ w b p = ce + de r = p + a’ s = r + b’ x c t = ac + ad + bc + bd + e y d e q = a + b u = q + c z 2/26/2003 Connections not shown here.

Optimization of Multiple Output, Multi-Level Functions Transformations (Operators) Substitution - Vertex function reduced in complexity by adding an input not previously in its set of inputs. 2/26/2003

Optimization of Multiple Output, Multi-Level Functions Transformations (Operators) Substitution Example: a v = a’d +bd + c’d + ae’ w b p = ke r = p + a’ s = r + b’ x c k = c + d t = kq + e y d e q = a + b u = q’c + qc’ + qc z 2/26/2003 Connections not shown here.

Optimization of Multiple Output, Multi-Level Functions Approaches: Algorithmic - defines an algorithm for each transformation type which detects when and where the transform can be applied. Rule-based - transformations of different types can be alternated according to a set of rules that mimic the optimization steps performed by a human designer. 2/26/2003

Technology Mapping Inputs are: Output is: Optimized logic netlist Available components from technology library May include not only primitive gates, but AOIs, OAIs, Adders, subtractors, etc. Output is: Netlist in terms of components from technology library Components may be shared if mutually exclusive use 2/26/2003

References De Micheli, G., Synthesis and Optimization of Digital Circuits, McGraw-Hill, 1994. Devadas, S., A. Ghosh, and K. Keutzer, Logic Synthesis, McGraw-Hill, 1994. Synopsys On-line Documentation and Manuals Cilleti, M., Modeling, Synthesis and Rapid Prototyping with the Verilog HDL, Prentice Hall, 1999. 2/26/2003