Shantanu Dutt ECE Dept. UIC

Slides:



Advertisements
Similar presentations
Modern VLSI Design 3e: Chapter 3 Copyright 1998, 2002 Prentice Hall PTR Topics n Combinational logic functions. n Static complementary logic gate structures.
Advertisements

TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Technology Mapping. Perform the final gate selection from a particular library Two basic approaches 1. ruled based technique 2. graph covering technique.
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.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
ECE 667 Synthesis and Verification of Digital Systems
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.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
CSE241 L5 Synthesis.1Kahng & Cichy, UCSD ©2003 CSE241 VLSI Digital Circuits UC San Diego Winter 2003 Lecture 05: Logic Synthesis Cho Moon Cadence Design.
Technology Mapping.
EDA (CS286.5b) Day 2 Covering. Why covering now? Nice/simple cost model problem can be solved well (somewhat clever solution) general/powerful technique.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
Logical Effort.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 23, 2008 Covering.
1 Technology Mapping as a Binate Covering Problem Slides adapted from A. Kuehlmann, UC Berkeley 2003.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 16: March 23, 2009 Covering.
Technology Mapping 1 Outline –What is Technology Mapping? –Rule-Based Mapping –Tree Pattern Matching Goal –Understand technology mapping –Understand mapping.
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Technology Mapping Outline Goal What is Technology Mapping?
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
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
1 VLSI CAD Flow: Logic Synthesis, Lecture 13 by Ajay Joshi (Slides by S. Devadas)
Design methodology.
Electronic Design Automation. Course Outline 1.Digital circuit design flow 2.Verilog Hardware Description Language 3.Logic Synthesis –Multilevel logic.
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.
CAD for Physical Design of VLSI Circuits
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 26, 2015 Covering Work preclass exercise.
Zvi Kohavi and Niraj K. Jha 1 Multi-level Logic Synthesis.
ECE 260B – CSE 241A Static Timing Analysis 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Logic Synthesis Website:
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
L05 – Synthesis Spring /14/05 Synthesis: Verilog  Gates // 2:1 multiplexer or a or b) begin if (sel) z
COE 405 Design and Modeling of Digital Systems
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Combinational network delay. n Logic optimization.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Chapter 0 deSiGn conCepTs EKT 221 / 4 DIGITAL ELECTRONICS II.
TOPIC : SYNTHESIS INTRODUCTION Module 4.3 : Synthesis.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Example: Base Functions & Pattern Trees inv 1 nand3 3 oai21 3 nor2 2nand2 2 Base Functions: Pattern Trees:
Logic synthesis flow Technology independent mapping –Two level or multilevel optimization to optimize a coarse metric related to area/delay Technology.
Give qualifications of instructors: DAP
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Combinational network delay. n Logic optimization.
Manufacture Testing of Digital Circuits
ELEC Digital Logic Circuits Fall 2015 Logic Synthesis (Chapters 2-5) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
ENGG 340 Midterm Review. Introduced the Concept of Variables and Functions Introduced the Concept of AND, OR, and NOT Introduced the Concept of Truth.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 2: September 28, 2005 Covering.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Combinational Logic Design
Logic Gates.
Overview Part 1 – Design Procedure Beginning Hierarchical Design
EE141 Design Styles and Methodologies
Logic Gates.
ELEC 7770 Advanced VLSI Design Spring 2014 Technology Mapping
ESE535: Electronic Design Automation
ELEC 7770 Advanced VLSI Design Spring 2016 Technology Mapping
Sungho Kang Yonsei University
ECE 667 Synthesis and Verification of Digital Systems
Technology Mapping I based on tree covering
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Logic Synthesis Tutorial
Presentation transcript:

Shantanu Dutt ECE Dept. UIC ECE 565: VLSI Design Automation Introduction: VLSI Design Flow & Logic Opt./Tech. Mapping Shantanu Dutt ECE Dept. UIC Acknowledegements: Some slides are from publicly available slides by Naveed Sherwani (VLSI design flow) and S. Devadas (logic opt.)

Opt. metrics: -- Speed -- Power -- WL/area Other metrics (constraints): -- Temperature -- temperature

IC Design Steps (cont.) High-level Description Functional Description Specifications Behavioral VHDL, C Structural VHDL These steps are not etched in stone: there are lots of varieties High-level description defines major components of the design and their interaction Functional description is usually at Register Transfer Level (RTL). RTL description deals with more details, lists signals, block components. Languages such as VHDL are used to describe the architecture. Figs. [©Sherwani]

IC Design Steps (cont.) Synthesis Physical Design Technology Mapping High-level Description Functional Description Specifications Synthesis HLS Physical Design Technology Mapping Placed & Routed Design Logic Description Gate-level Design Again, these steps are not etched in stone: there are lots of varieties Logic description is usually generated by Computer Aided Design (CAD) tools Gate-level design (also known as “netlist”) describes the design in the atomic entities of the technology. For a CMOS design, transistors are used. In an FPGA design, look-up tables (LUTs) are used. The process of converting a logic description to a gate-level design is called technology mapping. There are a *lot* of optimizations involved after technology mapping We might go back and forth between these steps (e.g., after gate-level desc., we might simulate and find bugs => go back to RTL or high-level description and fix the bug) I haven’t shown testing/verification This course helps you understand the methods and algorithms used for automatic high-level synthesis and and physical design You will develop small CAD tools that do these steps automatically. Fabri- cation X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Packaging Figs. [©Sherwani]

RTL Design Flow Library/ module generators HDL RTL manual Synthesis Includes HLS Library/ module generators HDL RTL Synthesis manual design netlist a b s q 1 d clk logic optimization Logic opt. + Technology mapping netlist a b s q 1 d clk Circuit resynthesis (e.g., buff. Ins., cell replication) physical design layout

Logic optimization flow LOGIC EQUATIONS Factoring Commonality Extraction TECHNOLOGY-INDEPENDENT OPTIMIZATION TECH-DEPENDENT OPTIMIZATION (TECH. MAPPING, TIMING) LIBRARY OPTIMIZED LOGIC NETWORK

Logic optimization flow LOGIC EQUATIONS Factoring Commonality Extraction TECHNOLOGY-INDEPENDENT OPTIMIZATION TECH-DEPENDENT OPTIMIZATION (TECH. MAPPING, TIMING) LIBRARY OPTIMIZED LOGIC NETWORK

Why logic optimization? Transistor count redution AREA Circuit count redution POWER Gate count (fanout) reduction DELAY (Speed) Area reduction, power reduction and delay reduction improves design

Boolean Optimizations Involves: Finding common subexpressions. Substituting one expression into another. Factoring single functions. Find common expressions Extract and substitute common expression f1 = AB + AC + AD + AE + A B C D E ì F = í î f2 = A B + A C + A D + A F + A B C D F f1 = A ( B + C + D + E ) + A B C D E ì F = í î f2 = A ( B + C + D + F ) + A B C D F g1 = B + C + D ì G = í f1 = A ( g1 + E ) + A E g1 ï î f2 = A ( g1 + F ) + A F g1

Algebraic Optimizations Algebraic techniques view equations as polynomials Rules of polynomial algebra are used For e.g. in algebraic substitution (or division) if a function f = f(a, b, c) is divided by g = g(a, b), a and b will not appear in f / g Boolean algebra rules are not applied

Logic optimization flow LOGIC EQUATIONS Factoring Commonality Extraction TECHNOLOGY-INDEPENDENT OPTIMIZATION TECH-DEPENDENT OPTIMIZATION (TECH MAPPING, TIMING) LIBRARY OPTIMIZED LOGIC NETWORK

Standard cell library For each cell (e.g., NANDs, NORs, Invs, AOIs) Functional information Timing information Input slew Intrinsic delay Output capacitance Physical footprint Power characteristics

Sample Library INVERTER 2 NAND2 3 NAND3 4 NAND4 5

Sample Library - 2 AOI21 4 AOI22 5

Mapping via DAG* Covering Represent network in canonical form Þ subject DAG Represent each library gate with canonical forms for the logic function Þ primitive DAGs Each primitive DAG has a cost Goal: Find a minimum cost covering of the subject DAG by the primitive DAGs * Directed Acyclic Graph

Trivial Covering Reduce netlist into ND2 gates → subject DAG 7 NAND2 = 21 5 INV = 10 31 (area cost)

Covering #1 2 INV = 4 2 NAND2 = 6 1 NAND3 = 4 1 NAND4 = 5 19 (area cost)

Covering #2 1 INV = 2 1 NAND2 = 3 2 NAND3 = 8 1 AOI21 = 4 17 (area cost)

Multiple fan-out

Partitioning a Graph Partition input netlist into a forest of trees Solve each tree optimally Stitch trees back together

Optimum Tree Covering INV 11 + 2 = 13 AOI21 4 + 3 = 7 NAND2 2 + 6 + 3 = 11 NAND2 3 + 3 = 6 INV 2 NAND2 3 NAND2 3

DAG Covering steps Partition DAG into a forest of trees Normalize the netlist Optimally cover each tree Generate all candidate matches Find optimal match using dynamic programming

For more details on logic opt. … Refer to Srinivas Devadas’ slides for 6.373 http://csg.csail.mit.edu/u/d/devadas/public_html/6.373/lectures/