Sungho Kang Yonsei University

Slides:



Advertisements
Similar presentations
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Advertisements

ECE 667 Synthesis and Verification of Digital Circuits
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 10: RC Principles: Software (3/4) Prof. Sherief Reda.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Retiming.
FPGA Technology Mapping. 2 Technology mapping:  Implements the optimized nodes of the Boolean network to the target device library.  For FPGA, library.
ENEE 644 Dr. Ankur Srivastava Office: 1349 A.V. Williams URL: Computer-Aided Design of.
Power Reduction for FPGA using Multiple Vdd/Vth
Principles Of Digital Design Chapter 1 Introduction Design Representation Levels of Abstraction Design Tasks and Design Processes CAD Tools.
Logic Synthesis for Low Power(CHAPTER 6) 6.1 Introduction 6.2 Power Estimation Techniques 6.3 Power Minimization Techniques 6.4 Summary.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Testability and architecture. Design methodologies. Multiprocessor system-on-chip.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
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.
1 SYNTHESIS of PIPELINED SYSTEMS for the CONTEMPORANEOUS EXECUTION of PERIODIC and APERIODIC TASKS with HARD REAL-TIME CONSTRAINTS Paolo Palazzari Luca.
Exercise TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of 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.
Logic synthesis flow Technology independent mapping –Two level or multilevel optimization to optimize a coarse metric related to area/delay Technology.
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Nov 3, 2005.
Static Timing Analysis
04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Functional & Timing Verification 10.2: Faults & Testing.
CHAPTER 16 SEQUENTIAL CIRCUIT DESIGN
ICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design
ASIC Design Methodology
Finite state machine optimization
Finite state machine optimization
Lecture 15 Sequential Circuit Design
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
Register Transfer Specification And Design
Delay Optimization using SOP Balancing
VLSI Testing Lecture 6: Fault Simulation
CS137: Electronic Design Automation
James D. Z. Ma Department of Electrical and Computer Engineering
Lecture 7 Fault Simulation
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
VLSI Testing Lecture 6: Fault Simulation
ESE535: Electronic Design Automation
Lecture 10 Sequential Circuit ATPG Time-Frame Expansion
Reconfigurable Computing
ICS 252 Introduction to Computer Design
Timing Analysis 11/21/2018.
IAY 0800 Digitaalsüsteemide disain
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
ECE 551: Digital System Design & Synthesis
Alan Mishchenko University of California, Berkeley
COE 561 Digital System Design & Synthesis Introduction
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
ESE535: Electronic Design Automation
Vishwani D. Agrawal James J. Danaher Professor
Sungho Kang Yonsei University
ECE 667 Synthesis and Verification of Digital Systems
Timing Optimization.
HIGH LEVEL SYNTHESIS.
Post-Silicon Calibration for Large-Volume Products
ESE535: Electronic Design Automation
Technology Mapping I based on tree covering
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Delay Optimization using SOP Balancing
Low Power Digital Design
COE 561 Digital System Design & Synthesis Introduction
Timing Analysis and Optimization of Sequential Circuits
Fast Min-Register Retiming Through Binary Max-Flow
Reconfigurable Computing (EN2911X, Fall07)
CS137: Electronic Design Automation
Presentation transcript:

Sungho Kang Yonsei University Introduction Sungho Kang Yonsei University

Outline VLSI Design Styles SIS Overview of Optimal Logic Synthesis Graph Algorithm and Complexity Asymptotic Complexity Brief Summary of MOS Device Behavior

VLSI Manufacturing Technology Design Technology Why VLSI Minimum feature size The number of interconnection layers Design Technology CAD tools Why VLSI New markets Operation speed Protection investments in design

Design Style - Decomposition Behavioral Synthesis Resource allocation; Pipelining; Control flow parallelization; Communicating Sequential Processes; Partitioning Sequential Synthesis Register Movement and Retiming; State Minimization; State Assignment; Synthesis for Testable FSM’s; State Machine Verification Logic Synthesis Extraction of combinational logic to HDL; Two-level minimization; Algebraic Decomposition; Multilevel Logic Minimization; Synthesis for Multifault Testability; Test Generation via Minimization; Technology mapping; Timing optimization Technology Mapping Mapping to Library of Logic Gates; Timing Optimization Physical Design Synthesis Cell Placement; Routing; Fabrication; Engineering Changes

Logic Design Styles Full custom design Semi-custom design Every circuit part is especially optimized for the purpose it must serve in the design Semi-custom design The circuit is designed by assembling pre-designed and pre-characterized sub-circuits Manufacturing may use a pre-diffused substrate Programmed design The design is obtained by programming a standard part Some circuits may be programmed only once while others may be programmed an unlimited number of times

Design Methodology ECEN4703

Design Tradeoffs Factors to be optimized in chip design: Logic Synthesis Factors to be optimized in chip design: Area Delay Power Testability These competing objectives require Tradeoffs Synthesis tools automate tradeoff According to the commands used by the designer, area or delay (or power, or testability) is reduced

Area vs Delay:The Bit-Serial Adder Logic Synthesis A typical tradeoff is area versus delay With just one full adder, this circuit can do 32-bit addition But, it is 32x slower than a parallel adder (32 full adders, 1 bit output per clock cycle)

Design Tradeoff Curve Logic Synthesis Holding other factors constant, the Area vs Delay tradeoff curve is typically parabolic The first design requirement is meet Constraints on Chip Area and Critical Path Delay (0 to 1)

Design Tradeoffs The next priority is to optimize a feasible design Logic Synthesis The next priority is to optimize a feasible design Design 2 is optimal, in the sense that area and delay cannot both be decreased from this point Tradeoff is now necessary, according to Policy

Design Tradeoffs Logic Synthesis 4 A typical design Policy is to optimize area subject to a delay constraint (2 to 3) Often a preferred policy is to optimize delay subject to an area constraint (2 to 4)

Prioritizing Testability Logic Synthesis Sometimes other factors, such as testability or power, take priority Typically this moves the area-delay tradeoff curve up and to the right Thus designs 1 and 2 are optimal

Area Optimization Logic Synthesis Typically performed in a technology independent view of the circuit In this view gates are regarded as logic functions These functions are converted to physical gates by Technology Mapping

Technology Independent View Logic Synthesis a = xi yi b = xi’ yi’ e = a’ b’ zi = eci-1‘ +e’ci-1 c = xi yi d = xi + y + i f = dci-1 ci = c + f In this view the gates of the full adder circuit are just logic equations

Optimization and Technology Mapping Logic Synthesis Common subfunctions shared Functions “Technology Mapped” to negative gates

Testing Faults Models Test vectors Diagnosis Testable Design Logic Synthesis Faults Models Stuck-at faults Delay faults Test vectors Fault simulation Automatic test pattern generation Diagnosis Testable Design

Delay Optimization First step is to identify the Critical Path Logic Synthesis First step is to identify the Critical Path Simplest delay model: “number of logic levels”

Critical Path Analyzers Logic Synthesis Static Delay Models: Levels of Logic Delay function of size, load Worst, best case models Dynamic Delay Models Simplified device models Full Spice analysis

VLSI : Scalable Algorithms Logic Synthesis In the 70s IBM found that 75% of all its cpu cycles went to critical path algorithms Now the bottleneck is Formal Verification Scalable algorithms required, for which cpu time and space increase: linearly in problem size n (O(n)) log-linearly (O(nlog(n))) even quadratic (O(n2)) too expensive

Graph Models and FSM Graph Edge Vertex Undirected graph Digraph Logic Synthesis Graph Edge Vertex Undirected graph Digraph All edges are directed Mixed graph DAG (directed acyclic graph)

Graph Terminology Graph: ordered set of two sets Logic Synthesis Graph: ordered set of two sets : a set of vertices or nodes : a set of edges or arcs : the successors (fanouts) of node 4 : the predecessors (fanins) of node 4

Graph Models Transitive closure fanout fanin Source Sink Logic Synthesis Transitive closure fanout fanin Source v has no predecessors Sink v has no successors

Products of Sets of Sets Graph Algorithms Intersecting 2 sets of sets Procedure SET_CARTESIAN_PRODUCT(G,H) { Ops Times/call Best Worst m =G; n=H; c1 1 1 P = NULL c2 1 1 for (i = 1, 2, …, m) { c3m 1 1 for (j = 1, 2, …, n) { c4n m m P = P  (Gi  Hj) c5 mn mnq } return(P) c6 1 1

Computing Critical Path Length Graph Algorithms This problem is modeled as that of finding the longest path in a DAG (Directed Acyclic Graph) Thus we digress for a while, and introduce the notions of sets and graphs Then we discuss a scalable (linear) complexity algorithm for finding the longest path in a DAG

Longest Paths Graph Algorithms

Backtracing Graph Algorithms The slack of an edge(a,v) is the slack of v plus the difference between the length of the longest path to v and the longest path to v through (a,v) In formula, slacka,v = slack v + (v - ( a + La,v )) Here v is the length of the longest path to v, and ( a + La,v ) is the length of the longest path to v that passes through the edge (a,v) The slack of a node u is defined as the minimum of its fanout edge slacks, so slacka = min slackv

Asymptotic Complexity A function F(n) is in the set O(g(n)) if and only if there exist positive constants co and no such that F(n) cog(n) for all n  no This means that F(n) is asymptotically bounded from above by a linear function of g(n) A function F(n) is in the set (g(n)) if and only if there exist positive constants c and n such that F(n)  c g(n) for all n  n This means that F(n) is asymptotically bounded from below by a linear function of g(n)