03/30/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file)

Slides:



Advertisements
Similar presentations
ECE C03 Lecture 71 Lecture 7 Delays and Timing in Multilevel Logic Synthesis Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Advertisements

1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
ELEN 468 Lecture 61 ELEN 468 Advanced Logic Design Lecture 6 Delay Models.
Copyright 2001, Agrawal & BushnellLecture 12: DFT and Scan1 VLSI Testing Lecture 10: DFT and Scan n Definitions n Ad-hoc methods n Scan design  Design.
1 COMP541 Flip-Flop Timing Montek Singh Oct 6, 2014.
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.
ECE543 Intro to Digital Systems Lecture 36 Propagation Delay in Counter Designs II 04/26/2013.
ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.
Chapter 6 –Selected Design Topics Part 2 – Propagation Delay and Timing Logic and Computer Design Fundamentals.
Leveraging Software to Enhance Timing Analysis for Actel RTAX-S Devices Johnny Chung Corporate Applications Engineering Actel Corporation MAPLD 2005.
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Sequential Logic 1 clock data in may changestable data out (Q) stable Registers  Sample data using clock  Hold data between clock cycles  Computation.
Synchronous Digital Design Methodology and Guidelines
CSE477 L19 Timing Issues; Datapaths.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 19: Timing Issues; Introduction to Datapath.
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
Fall 06, Sep 19, 21 ELEC / Lecture 6 1 ELEC / (Fall 2005) Special Topics in Electrical Engineering Low-Power Design of Electronic.
ECE 331 – Digital System Design
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
Design of Variable Input Delay Gates for Low Dynamic Power Circuits
1Kazi Spring 2008 CSCI 660 CSCI-660 Introduction to VLSI Design Khurram Kazi.
ENGIN112 L28: Timing Analysis November 7, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 28 Timing Analysis.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi.
Power-Aware Placement
CSE 140L Lecture 4 Flip-Flops, Shifters and Counters Professor CK Cheng CSE Dept. UC San Diego.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 12 - Timing, Project.
Embedded Systems Hardware:
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
ECE C03 Lecture 61 Lecture 6 Delays and Timing in Multilevel Logic Synthesis Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
Chapter #6: Sequential Logic Design 6.2 Timing Methodologies
CS 151 Digital Systems Design Lecture 28 Timing Analysis.
Lecture 21, Slide 1EECS40, Fall 2004Prof. White Lecture #21 OUTLINE –Sequential logic circuits –Fan-out –Propagation delay –CMOS power consumption Reading:
1 A Method for Fast Delay/Area Estimation EE219b Semester Project Mike Sheets May 16, 2000.
Chapter 1_4 Part II Counters
ECE 331 – Digital System Design Power Dissipation and Additional Design Constraints (Lecture #14) The slides included herein were taken from the materials.
ECE 331 – Digital System Design Power Dissipation and Propagation Delay.
Practical Aspects of Logic Gates COE 202 Digital Logic Design Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum.
Global Timing Constraints FPGA Design Workshop. Objectives  Apply timing constraints to a simple synchronous design  Specify global timing constraints.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi* Lecture 10 Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth (*Mostly.
© 2003 Xilinx, Inc. All Rights Reserved FPGA Design Techniques.
Logic Synthesis For Low Power CMOS Digital Design.
ASIC Design Flow – An Overview Ing. Pullini Antonio
ECE Advanced Digital Systems Design Lecture 12 – Timing Analysis Capt Michael Tanner Room 2F46A HQ U.S. Air Force Academy I n t e g r i.
ECE 331 – Digital System Design Constraints in Logic Circuit Design (Lecture #13) The slides included herein were taken from the materials accompanying.
1 Sequential Logic Lecture #7. 모바일컴퓨팅특강 2 강의순서 Latch FlipFlop Shift Register Counter.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
Optimal digital circuit design Mohammad Sharifkhani.
Introduction to CMOS VLSI Design Lecture 5: Logical Effort GRECO-CIn-UFPE Harvey Mudd College Spring 2004.
EEE2243 Digital System Design Chapter 7: Advanced Design Considerations by Muhazam Mustapha, extracted from Intel Training Slides, April 2012.
1 CSE370, Lecture 17 Lecture 17 u Logistics n Lab 7 this week n HW6 is due Friday n Office Hours íMine: Friday 10:00-11:00 as usual íSara: Thursday 2:30-3:20.
1 Logic Synthesis Using Cadence Ambit. 2 Environment Setup Enter the following to.cshrc or a c-shell command file. –setenv LM_LICENSE_FILE full_path/license.dat.
ECE 551 Fall /6/2001 ECE Digital System Design & Synthesis Lecture 2 - Pragmatic Design Issues Overview  Classification of Issues oThree-State.
04/06/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing (In separate file) 9.2: Optimization - Part 1 9.3: Optimization.
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth (most of the material.
Z. Feng MTU EE EE4800 Fall 2011 CMOS Digital IC Design & Analysis Lecture 14 Final Exam Review Zhuo Feng.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Low power design. n Pipelining.
1 COMP541 Sequential Logic Timing Montek Singh Sep 30, 2015.
Static Timing Analysis
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:
03/30/031 ECE Digital System Design & Synthesis Lecture Design Partitioning for Synthesis Strategies  Partition for design reuse  Keep related.
04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Functional & Timing Verification 10.2: Faults & Testing.
Basic Language Concepts
Overview Part 1 – The Design Space
Timing Analysis 11/21/2018.
ECE 551: Digital System Design & Synthesis
Presentation transcript:

03/30/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file)

03/31/032 ECE Digital System Design & Synthesis Lecture Constraints and Timing Overview  Constraint Concepts  Constraint Classification Design Rule Constraints Optimization Constraints Defining timing paths and path delays Setting Constraints

03/31/033 Overview (continued)  Signal Interface Constraints Drive characteristics for input ports Load characteristics on output ports Input delays and output delays

03/31/034 Constraint Concepts  Constraints are used to: Define limitations required for the target technology to function properly Specify the environment in which the design must function in terms of input drive, output loading, temperature, power supply voltage, etc. Specify the design goals (other than functionality) in terms of bounds on input loading, output drive, area, performance, and power consumption.

03/31/035 References  Design Compiler User Guide (DCUG)  Design Compiler Reference Manual: Constraints and Timing (DCRM)  Design Compiler Reference Manual: Optimization and Timing Analysis (DCRMO)

03/31/036 Classification of Constraints  Design rule constraints Implicit constraints defined by the technology library Required for the design to function correctly Apply to any design using the library  Optimization constraints Explicit constraints defined by the user Represent design goals

03/31/037 Design Constraints  Figure 1-1 RMCT (See Next Slide)  Constraints: Maximum Transition Time Maximum Fanout Maximum and minimum capacitance Cell degradation  Cannot remove default values from tech lib  Can make more restrictive than tech lib values

03/31/038

9 Maximum Transition Time  Maximum transition time for a net is the longest time required for its driving pin to change logical values. Implies that slow transitions are to be avoided. What’s wrong with slow transitions?  Can be made more restrictive using set_max_transition

03/31/0310 Maximum Fanout  Places fanout restrictions on driving pins  Each driven input or driven output port has a fanout_load value  Each driving output has a max_fanout value  Sum of driven fanout_loads must be no more than max_fanout of driver  Fanout_load is dimensionless, typically a value normalized to some unit capacitance  Can be made more restrictive by using set_max_fanout and set_fanout_load

03/31/0311 Maximum and Minimum Capacitance  Permits limiting capacitance directly rather than implicitly using max_fanout and max_transition  Can make more restrictive by using set_max_capacitance  Similar for minimum capacitance which is more of a modeling constraint and has lower priority in terms of being met.

03/31/0312 Cell Degradation  Delays are often determined with an “ideal” input transition time on a cell  As the input transition time increases, delay increases for a given capacitive load increase  Cell degradation tables that list maximum capacitance that can be driven by a cell as a function of transition times at the inputs of a cell.  compile_fix_cell_degradation to fix table and set_cell_degradation to specify degradation.

03/31/0313 Precedence for Design Rule Constraints  Default higher priority than optimization constraints  Descending order of priority Minimum capacitance* Maximum transition Maximum fanout Maximum capacitance Cell degradation  Try not to apply multiple constraints from list * Contradicts another statement in DCRM!

03/31/0314 Transition Time Calculation  CMOS delay model: Transition Time = Drive R X Load C  Non-linear delay model: Transition Time from table lookup and interpolation  Set_driving_cell and set_drive give different behavior If R-C model, same If Nonlinear model,  set_driving_cell calculates transition time dynamically  set_drive picks a value from midrange in table

03/31/0315 Design Rule Constraints Summary set_max_fanoutInput ports or designs set_fanout_loadOutput ports set_loadPorts or nets set_maximum_transition Ports or designs set_cell_degradation Input ports set_min_capacitance Input ports

03/31/0316 Optimization Constraints  Timing constraints (performance & speed) Timing paths Constraint violations Input and output delays (synchronous paths) minimum and maximum delays (asynchronous paths)  Maximum area (# of gates)  Minimum porosity (routability)

03/31/0317 Timing Paths  Timing path structure: FF IN OUT CLK Primary input to primary output Primary input to register Register to register Register to to primary output

03/31/0318  Synchronous  Slack - the extra time available for signals to propagate from the clock to the input of a flip-flop (FF)  slack = clock period - path delay - setup Constraint Violations clock period Maximum FF, combinational and wiring delay slack setup

03/31/0319  Synchronous  “Hold” Slack - the extra delay present for signals to propagate from the clock to the input of a flip-flop (FF)  slack = path delay - clock period - hold Constraint Violations (continued) CORRECTED clock period Minimum FF, combinational and wiring delay slack hold

03/31/0320 Constraint Violations (continued)  Synchronous Timing Violations Setup Time  Uses maximum path delay (worst case model)  Violation if slack < 0 Hold Time  Uses minimum path delay (best case model)  Violation if slack < 0

03/31/0321 Constraint Violations  Asynchronous  Constraint Violation if slack < 0 maximum delay combinational and wiring delay slack

03/31/0322 Constraint Violations  Asynchronous  Constraint Violation if slack < 0 minimum delay combinational and wiring delay slack

03/31/0323 Clock, Input Delay and Output Delay FF IN OUT CLK input_delay output_delay CLK The two clock signals are the same signal drawn to different scales. Primary input to primary output Primary input to register

03/31/0324 Clocks, Input Delay and Output Delay (continued)  Examples: create_clock -period 3.3 CLK  Establishes a clock CLK with period 3.3 ns create_clock -period 3.3 -waveform (10,25) \ -name SYS_CLK  Establishes virtual clock for system without a clock set_input_delay 0.3 -clock CLK IN  Value on IN is available 0.3 ns after CLK set_output_delay 1.0 -clock CLK OUT  Value on OUT must be available 1.0 ns before CLK

03/31/0325 Maximum Delay and Minimum Delay FF IN OUT CLK Primary input to primary output max_delay min_delay Primary input to register max_delay min_delay

03/31/0326 Maximum Delay and Minimum Delay (continued)  Examples: set_maximum_delay 2.5 -from IN -to OUT  Specifies that the delay from IN to OUT is to be no more than 2.5 ns set_minimum_delay 1.0 -from IN -to OUT  Specifies that the delay from IN to OUT is to be no less than 1.0 ns set_maximum_delay 1.5 -from IN -to FF1/D

03/31/0327 Maximum Area  set_max_area area Specifies the maximum allowable area of the design in area units of the technology

03/31/0328 Minimum Porosity  Effective only for two-layer metal technology (therefore not used in our work)  set_min_porosity porosity [design list] Specifies the part of the total cell area to be used for over the cell routing porosity - a percentage ratio of routing track area over cells to cell area; from 0 to 90.