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.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

Simulation executable (simv)
OCV-Aware Top-Level Clock Tree Optimization
Programmable Interval Timer
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
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.
Timing sign-off with PrimeTime
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Ch.3 Overview of Standard Cell Design
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
DCDL The Design Constraints Description Language An Emerging OVI Standard.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
Timing Analysis Timing Analysis Instructor: Dr. Vishwani D. Agrawal ELEC 7770 Advanced VLSI Design Team Project.
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.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 12 - Timing, Project.
CSE241 L4 System.1Kahng & Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Lecture 04: Static Timing Analysis.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
An Introduction to Synopsys Design Automation Jeremy Lee November 7, 2007.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
CS 151 Digital Systems Design Lecture 28 Timing Analysis.
STATIC TIMING ANALYSIS
Signal Integrity Methodology on 300 MHz SoC using ALF libraries and tools Wolfgang Roethig, Ramakrishna Nibhanupudi, Arun Balakrishnan, Gopal Dandu Steven.
03/30/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file)
Hierarchical Physical Design Methodology for Multi-Million Gate Chips Session 11 Wei-Jin Dai.
Robust Low Power VLSI R obust L ow P ower VLSI Aatmesh Shrivastava Taniya Siddiqua Incorporating Reliability in SoC Flow.
Global Timing Constraints FPGA Design Workshop. Objectives  Apply timing constraints to a simple synchronous design  Specify global timing constraints.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 11 – Design Concepts.
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 2 A Circuit Design Example.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
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.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
My Second FPGA for Altera DE2-115 Board 數位電路實驗 TA: 吳柏辰 Author: Trumen.
Introduction to CMOS VLSI Design Lecture 5: Logical Effort GRECO-CIn-UFPE Harvey Mudd College Spring 2004.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
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.
DFT Compiler Synopsys Customer Education Services
ECE 545 Project 2 Specification. Schedule of Projects (1) Project 1 RTL design for FPGAs (20 points) Due date: Tuesday, November 22, midnight (firm) Checkpoints:
© 2003 Xilinx, Inc. All Rights Reserved Global Timing Constraints FPGA Design Flow Workshop.
Programmable Logic Training Course HDL Editor
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
ECE 545 Project 2 Specification. Project 2 (15 points) – due Tuesday, December 19, noon Application: cryptography OR digital signal processing optimized.
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.
ECE 260B – CSE 241A /UCB EECS Kahng/Keutzer/Newton Physical Design Flow Read Netlist Initial Placement Placement Improvement Cost Estimation Routing.
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
Physical Synthesis Buffer Insertion, Gate Sizing, Wire Sizing,
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.
George Mason University ECE 545 – Introduction to VHDL Logic Synthesis with Synopsys ECE 545 Lecture 11.
Static Timing Analysis
Implementing Tile-based Chip Multiprocessors with GALS Clocking Styles Zhiyi Yu, Bevan Baas VLSI Computation Lab, ECE Department University of California,
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Functional & Timing Verification 10.2: Faults & Testing.
Written by Whitney J. Wadlow
-1- Soft Core Viterbi Decoder EECS 290A Project Dave Chinnery, Rhett Davis, Chris Taylor, Ning Zhang.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
ASIC Design Methodology
VLSI Testing Lecture 5: Logic Simulation
Synopsys PrimeTime.
Limitations of STA, Slew of a waveform, Skew between Signals
Introduction to Static Timing Analysis:
Timing Analysis 11/21/2018.
Lecture 14: Timing Analysis and Timed Simulation
Presentation transcript:

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 extracted from Synopsys PrimeTime manuals)

Kazi ECE Features of Primetime PrimeTime is a full-chip, gate-level static timing analysis tool targeted for complex, multimillion-gate designs. It is used for Static timing analysis for the pre and post layout gate level netlist. During the pre-layout, it uses the wire load models specified in the library to estimate the net delays. Any violations found during the pre-layout static timing analysis should be fixed (either resynthesizing or RTL recoding) prior to moving ahead for placement and routing. Place and route produces a chip layout database from which accurate delay information or detailed parasitic information can be extracted. This data, when back-annotated on the design in PrimeTime, results in a layout-accurate timing analysis. A successful validation of the circuit timing at this point leads to signoff of the completed design.

Kazi ECE Physical Synthesis flow using PrimeTime The diagram only shows the steps related to timing analysis in the physical synthesis flow. It does not include unrelated steps such as formal verification, scan synthesis, and logic simulation.

Kazi ECE Typical Checks performed with PrimeTime Setup and hold User-specified data-to-data timing constraints Clock-gating setup and hold constraints Minimum period and minimum pulse width for clocks Design rules (minimum/maximum transition time, capacitance, and fanout) Bus contention and floating net conditions

Kazi ECE Some of the analysis features Multiple clocks and clock frequencies Multicycle path timing exceptions False path timing exceptions and automatic false path detection Simultaneous minimum/maximum delay analysis for setup and hold constraints Analysis with on-chip variation of process, voltage, and temperature (PVT) conditions Mode analysis (analysis with module-specific operating modes, such as read mode or write mode for a RAM module) Bottleneck analysis (reporting of cells that cause the most timing violations) “What-if” analysis without modifying the original netlist, using inserted buffers, resized cells, and modified nets Analysis of crosstalk effects between physically adjacent nets using the PrimeTime SI (signal integrity) option

Kazi ECE Command Interface PrimeTime offers two command environments for timing analysis: pt_shell Graphical user interface (GUI).

Kazi ECE pt_shell window

Kazi ECE pt_shell interface The pt_shell interface is the command environment used most often by experienced PrimeTime users. It is a text-only environment in which you enter commands at a prompt (pt_shell> ) and view responses and reports in text form. The pt_shell interface is based on the Tcl scripting language, which means that you can use Tcl features such as procedures, lists, and array processing functions. Routine tasks are typically done by executing scripts or procedures prepared beforehand.

Kazi ECE GUI window

Kazi ECE GUI The GUI offers some visual analysis capabilities that are not available in pt_shell. For example, you can view schematics of the design, display clock waveforms, and generate histograms of analysis results such as path slack, net capacitance, and bottleneck cost. The console window within the top-level window lets you enter commands and view the text response, just like pt_shell.

Kazi ECE Commonality between Primetime and Design compiler They use the same technology libraries and read the same design data files in.db format. They share many of the same commands, such as create_clock, set_input_delay, and report_timing. Shared commands are identical or very similar in operation. They share the same delay calculation algorithms and generally produce identical delay results. Timing reports generated by the two tools are very similar.

Kazi ECE Why use PrimeTime on top of DC Although Design Compiler has its own built-in static timing analysis capability, PrimeTime has better speed, capacity, and flexibility for static timing analysis, and offers many features not supported by Design Compiler such as timing models, mode analysis, and internal clocks.

Kazi ECE Overview of Static Timing Analysis (STA) PrimeTime breaks the design down into a set of timing paths, calculates the signal propagation delay along each path, and checks for violations of timing constraints inside the design and at the input/output interface. Each path has a startpoint and an endpoint. The startpoint is a place in the design where data is launched by a clock edge. The data is propagated through combinational logic in the path and then captured at the endpoint by another clock edge.

Kazi ECE Timing paths

Kazi ECE Combinatorial logic may have multiple paths PrimeTime uses the longest path to calculate a maximum delay or the shortest path to calculate a minimum delay.

Kazi ECE Other types of Timing paths Clock path (a path from a clock input port or cell pin, through one or more buffers or inverters, to the clock pin of a sequential element) for data setup and hold checks Clock-gating path (a path from an input port to a clock-gating element) for clock-gating setup and hold checks Asynchronous path (a path from an input port to an asynchronous set or clear pin of a sequential element) for recovery and removal checks

Kazi ECE Other types of paths depicted

Kazi ECE Delay calculations Once the paths are identifies, PT, calculates the delays. The total delay of a path is the sum of all cell and net delays in the path. It estimates delays if the analysis is being performed prior to layout using wire load models After layout, an external tool can accurately determine the delays and write them to a Standard Delay Format (SDF) file. PrimeTime can read the SDF file and back-annotate the design with the delay information for layout-accurate timing analysis. PrimeTime can also accept a detailed description of parasitic capacitors and resistors in the interconnection network, and then accurately calculate net delays based on that information.

Kazi ECE Constraints Checking Once the path delays are calculated, PT, checks the delays against the constraints provided to it. For example it check the setup or hold timing violations. The amount of time by which a violation is avoided is called the slack. For example, for a setup constraint, if a signal must reach a cell input at no later than 8 ns and is determined to arrive at 5 ns, the slack is 3 ns. A slack of 0 means that the constraint is just barely satisfied. A negative slack indicates a timing violation.

Kazi ECE Input and Output delays

Kazi ECE Setup and Hold checks

Kazi ECE Path Delay for Flip-Flops Using Different Clocks (setup analysis)

Kazi ECE Hold time analysis when two different clocks

Kazi ECE Single-Cycle Path analysis

Kazi ECE Setting the output load

Kazi ECE To run PT To run in GUI mode type: (you may want to set an alias for this locally) /opt/synopsys/pt_vT /sparc64/syn/bin/primetime To run in shell mode type: /opt/synopsys/pt_vT /sparc64/syn/bin/pt_shell

Kazi ECE A Sample PT script set search_path {~kkazi/synopsys_examples/db} set link_path {*/opt/synopsys/syn/libraries/syn/lsi_10k.db} read_db ~kkazi/synopsys_examples/db/REG_FILE.db #link design check_timing set_operating_conditions WCCOM create_clock -name "Clk" -period 10 -waveform { "0" "5" }\ { "Clk" } # The clock latency value of 2.5 ns specifies that the clock delay # from the input port Clk to all the endpoints is fixed at 2.5 ns set_clock_latency 2.5 [get_clocks Clk] set_clock_transition 0.2 [get_clocks Clk] # Clock skew is approximated with 1.2 ns specified for set-up time set_clock_uncertainty 1.2 -setup [get_clocks Clk] # Clock skew is approximated with 0.5 ns specified for hold time set_clock_uncertainty 0.5 -hold [get_clocks Clk] #set_input_delay 2.0 -clock CLK [all_inputs] #set_output_delay 1.0 -clock CLK [all_outputs] set_load 50.0 [all_outputs] report_clock –skew report_port -input_delay report_port -output_delay check_timing set_wire_load_model -name 20x20 # Writing timing reports with different options to #different files report_timing -to [all_registers -data_pins] > pt1.rpt report_timing -to [all_outputs] > pt2.rpt #Writing the SDF file write_sdf REG_FILE.sdf

Kazi ECE Mini Assignment Choose the final synthesis results of the FIFO and perform PrimeTime analysis. Write a small paragraph about the similarities or differences in the two results (i.e. DC analysis and PrimeTime analysis).