Agenda: Day Two. Unit 6: Specifying Timing Exceptions DAY 2. I/O Paths and Exceptions. Constraining I/O Interface Paths

Size: px
Start display at page:

Download "Agenda: Day Two. Unit 6: Specifying Timing Exceptions DAY 2. I/O Paths and Exceptions. Constraining I/O Interface Paths"

Transcription

1 Agenda: Day Two 6-1 DAY 2 Unit I/O Paths and Exceptions Lab 5 Constraining I/O Interface Paths 6 7 Introduction to Timing Models (QTM) 8 Performing STA 9 Summary 10 Customer Support 6-1 Unit 6:

2 Unit Objectives 6-2 After completing this unit, you should be able to: List 4 timing exception commands and state their legal start and end points Specify false path exception in 3 design examples Write down the relationship between the Setup and Hold Multipliers when applying a multicycle path exception State the command to look for ignored exceptions Give 2 recommendations to specify timing exceptions effectively 6-2 Unit 6:

3 The Inputs and Outputs of PrimeTime 6-3 Gate-Level Netlist Constraints Exceptions Setup File Technology Libraries SDF PrimeTime Timing Models in.db format Reports Log, Script Files Our Focus 6-3 Unit 6:

4 Five Step Static Timing Analysis Flow 6-4 READ CONSTRAIN EXCEPTIONS CHECK Our Focus ANALYZE 6-4 Unit 6:

5 What are Timing Exceptions? 6-5 F1 F2 single clock cycle Timing exceptions are are used to to override the the default single-cycle constraints described by by create_clock, set_input_delay, and set_output_delay. 6-5 Unit 6:

6 Timing Exception Commands 6-6 Timing exceptions can be be applied to to any timing path: set_false_path Removes timing constraints from a timing path set_multicycle_path Allows more than one clock cycle for a timing path set_max_delay set_min_delay Specifies max and min delays on paths report_exceptions Reports current timing exceptions reset_path Restores the default timing constraints on specified paths 6-6 Unit 6:

7 Applying Exceptions 1/2 6-7 When using from and to options, you need to specify legal path start and end points: Start Input Ports and Clock Pins of Registers End Output Ports and Data Pins of Registers Start & End Clock Objects, Registers A D Q R1 clk1 clk2 D R2 Q pt_shell> set_false_path from A to R1/D pt_shell> set_false_path from clk1 to clk2 The complete commands for the example shown above should be: set_false_path from [get_pins A] to [get_pins R1/D] set_false_path from [get_clocks clk1] to [get_clocks clk2] When specifying register cell names for the start and end points, (under the hood) PrimeTime will look for the actual start and end pins of the register cell and apply the timing exception correctly for you. You can be very specific with timing exceptions with -to/-from/-through options by specifying rise or fall edges. New options include: -rise_from -fall_from -rise_to -fall_to -rise_through -fall_through 6-7 Unit 6:

8 Applying Exceptions 2/2 6-8 When using the through option, any pin can be used to describe the path: D R1 Q U12 Z D R2 Q clk pt_shell> set_false_path through U12/Z The path from R1/CP to R2/D will be false Assumption: No fanin/fanout When using the through option, multiple through arguments mean AND, multiple pins in one through are an OR. Example: set_false_path through A through B through {C D} means set a false path through the path that goes through A and B and (C or D). 6-8 Unit 6:

9 Multiple Paths 6-9 pt_shell> set_multicycle_path 2 -from -from FFA/CP \ -through Multiply/Out -to -to FFB/D FFB/D Two-Cycle Path -through -from FFA In Multiply Out D FFB -to CP One-Cycle Path Add sel In this example, it is sufficient to specify Multiply/Out using the through option, without the -from and to. 6-9 Unit 6:

10 Logically False Paths 6-10 A B B 1 mux1 The paths through both A s and both B s cannot happen: 10 They are logical false paths! Use the -through option: A mux2 set_false_path through mux1/a through mux2/a set_false_path through mux1/b through mux2/b You can find logical false paths with the report_timing true/-false/-justify command. This command will apply input combinations and trace through the netlist to find whether the reported path is logically correct. Consult the PrimeTime User Guide for a detailed explanation. Generally, you would only set this path as a false path if it appears in the timing reports with a violation Unit 6:

11 Paths Between Asynchronous Clocks 6-11 CLKA (100 Mhz from OSC1) FUNC_CORE Des_A Des_B N D Q D Q X D Q CLKB (100 Mhz from OSC2) current_design FUNC_CORE /* Make sure register-register paths meet timing */ create_clock -period 10 [get_ports CLKA] create_clock -period 10 [get_ports CLKB] /* Don t optimize logic crossing clock domains */ set_false_path -from [get_clocks CLKA] -to [get_clocks CLKB] set_false_path -from [get_clocks CLKB] -to [get_clocks CLKA] CLKA and CLKB are asynchronous to each other. To exclude Timing analysis between these 2 clock domains, specify the path(s) as false paths Unit 6:

12 Constrain Tri-states at the Top-Level 6-12 Tri-states can be the cause of many false paths. set_false_path -through [get_pins U1/DATA_BUS_OUT[1]] \ -through [get_pins U1/DATA_BUS_IN[1]] UART U1 TIMER U2 DATA_BUS_OUT DATA_BUS_IN DATA_BUS CPU U3 TOP_BLOCK 6-12 Unit 6:

13 Multi-cycle Paths 6-13 Clock period is is ns. ns. Per Specification, the the adder takes 6 clock cycles. How do do you constrain the the design? A B D E D E A B Q Q < 60 ns C_reg D Q + 64 E Y Clk D Q shift_reg 6-13 Unit 6:

14 Timing with Multi-cycle Constraints 6-14 create_clock -period [get_ports CLK] CLK] set_multicycle_path 6 setup -to -to [get_pins C_reg[*]/D] Launch Capture CLK -10 0ns C_reg/D IDEAL: T H < Adder_Delay < (60 - T SU ) C_reg/D PT assumes change could occur near any clock edge causing metastability! Where does PT perform hold analysis? T SU = setup time T H = hold time PT will perform the setup analysis on edge 6, i.e. at 60 ns. This will allow the adder s logic to have a delay of (60 setup_time uncertainty) Unit 6:

15 Default Hold Check 6-15 IMPLICIT! set_multicycle_path -setup -setup 6 -to -to [get_pins [get_pins C_reg[*]/D] C_reg[*]/D] set_multicycle_path -hold -hold 0 -to -to [get_pins [get_pins C_reg[*]/D] C_reg[*]/D] Launch Default Hold Check Capture CLK -10 0ns C_reg/D (50 + T H ) < Combo_Logic < (60 - T SU ) Why is hold check performed at 50 ns? The default Hold check is always performed one edge before the setup check. PT assumes that the clock edges at ns can cause metastability if they occur at the same time the data changes. Putting the hold check at 50 ns is the safest Unit 6:

16 Set the Proper Hold Constraint 6-16 OVERRIDE! set_multicycle_path -setup -setup 6 -to -to [get_pins [get_pins C_reg[*]/D] C_reg[*]/D] set_multicycle_path -hold -hold 5 -to -to [get_pins [get_pins C_reg[*]/D] C_reg[*]/D] M H = M S -1 Hold checks for : M H = 5 M H = 4 M H = 3 M H = 2 M H = 1 M H = 0 Setup Check with M S = 6 CLK -10 0ns C_reg/D Now allows change between T H and (60 - T SU ) D Q + E DESIRED RESULT: ALLOW 60ns for ADDER C_reg D Q E MH stands for Hold Multiplier, MS for Setup Multiplier. The Setup multiplier counts up with increasing clock cycles, the Hold multiplier counts up with decreasing cycles. The origin (0) for the Hold Multiplier is always at the Setup Multiplier 1 position Unit 6:

17 Precedence of Timing Exceptions 6-17 F1 F2 More than one exception set on the path from F1 to F2. set_false_path has higher precedence! (see student notes) clk1 clk2 set_false_path from clk1 to to clk2 set_max_delay 7 from F1 F1 to to F2 F2 PrimeTime uses the following general precedence rules, when applying multiple exceptions to the same path: set_false_path > set_max_delay or set_min_delay > set_multicycle_path pin > clock -from > -to > -through tighter constraint > looser constraint For more detailed information refer to the PrimeTime User Guide: Advanced Timing Analysis Unit 6:

18 Ignored Timing Exceptions 6-18 PrimeTime will warn you when invalid exceptions are applied. pt_shell> set_false_path -from FF1/Q Warning: Object 'FF1/Q' is not a valid startpoint. (UITE-216) How would you correct this exception? set_false_path -from FF1/Q -- Invalid because this is an INVALID start point. The exception needs the CLK pin of the flip-flop, so the correct syntax would be: set_false_path -from FF1/CLK 6-18 Unit 6:

19 Always Check for Invalid Exceptions 6-19 pt_shell> check_timing Warning: Warning: There There are are timing timing exceptions exceptions which which are are ignored. ignored. pt_shell> check_timing -verbose -ignored Warning: Warning: There There are are timing timing exceptions exceptions which which are are ignored. ignored. From From To To Setup Setup Hold Hold FF1/Q FF1/Q * FALSE FALSE FALSE FALSE To remove any unwanted exceptions, use the reset_path command, e.g.: reset_path from FF1/Q You may also use the command report_exceptions ignored to view ignored exceptions Unit 6:

20 Reduce Number of Timing Exceptions 6-20 To reduce the run-time for timing analysis, minimize the total number of exceptions! The paths from F1_reg to F2_reg are false. How many exceptions do each of the following commands generate? 32 F1 F2 F3 clk1 clk2 set_false_path set_false_path -from -from F1_reg[*]/CP F1_reg[*]/CP -to -to F2_reg[*]/D F2_reg[*]/D 1 for for {set {set i i 1} 1} {$i {$i <= <= 32} 32} {incr {incr i} i} { { set_false_path set_false_path -from -from F1_reg[$i]/CP F1_reg[$i]/CP -to -to F2_reg[$i]/D F2_reg[$i]/D } } set_false_path set_false_path -from -from F1_reg[*]/CP F1_reg[*]/CP 3 set_false_path set_false_path -from -from [get_clocks [get_clocks clk1] clk1] -to -to [get_clocks [get_clocks clk2] clk2] 4 2 The most efficient way to specify timing exceptions is between clock domains! 6-20 Unit 6:

21 Optimizing Analysis Time 1/ The -through option requires more CPU for large designs Do not use -through unless it is necessary Sub-Optimal: set_multicycle_path 2 -from U1/CP -through U2/A -through U3/B -through U4/A -through U5/C -to -to U6/D Optimal: set_multicycle_path 2 -to -to U6/D To help PT s run time, use -to option when possible Unit 6:

22 Optimizing Analysis Time 2/ Use set_disable_timing instead of set_false_path -through when there is one pin. Slow Sub-Optimal: set_false_path -through [get_pins ADDER/CI] Fast Optimal: set_disable_timing [get_pins ADDER/CI] 6-22 Unit 6:

23 Lab Overview and Review 6-23 LAB 60 min Apply Multicycle and false path exceptions on a complex design Lab Review How do you know where in a design to apply a multicycle path constraint? After applying a multicycle path constraint, how can you verify the constraint has been applied correctly? Answers will follow Unit 6:

24 Test For Understanding 6-24 A path between 2 flops are controlled by a 200 MHz clock. The path delay is 13 ns worst case. Clock has a network delay of 3 ns, and an uncertainty of 1 ns. Assume both setup and hold time are 0.5 ns. The best case delay of this path is known to be 6 ns. Write down the exceptions such that there will not be any setup or hold violations: How can you constrain a path from an asynchronous Reset input port to the Rst pin of a flop? The worst case absolute delay is 3 ns and the best case absolute delay is 0.9 ns Unit 6:

Specifying Timing Exceptions

Specifying Timing Exceptions Specifying Timing Exceptions Learning Objectives This lab is intended to give you a better understanding of how static timing analysis works and how timing exceptions are applied properly. After completing

More information

Comparing Constraint Behavior to Determine Equivalency TAU Sonia Singhal Loa Mize Subramanyam Sripada Szu-Tsung Cheng Cho Moon

Comparing Constraint Behavior to Determine Equivalency TAU Sonia Singhal Loa Mize Subramanyam Sripada Szu-Tsung Cheng Cho Moon Comparing Constraint Behavior to Determine Equivalency TAU 2011 Sonia Singhal Loa Mize Subramanyam Sripada Szu-Tsung Cheng Cho Moon 1 Constraints Communicate design requirements and intent to implementation

More information

Multiple Clocks and Timing Exceptions

Multiple Clocks and Timing Exceptions 10 Multiple Clocks and Timing Exceptions Learning Objectives This lab is intended to give you a better understanding of how static timing analysis works and how timing exceptions are properly applied.

More information

Designing RGMII Interface with FPGA and HardCopy Devices

Designing RGMII Interface with FPGA and HardCopy Devices Designing RGMII Interface with FPGA and HardCopy Devices November 2007, ver. 1.0 Application Note 477 Introduction The Reduced Gigabit Media Independent Interface (RGMII) is an alternative to the IEEE

More information

Equivalence Checking for Timing Constraints Subramanyam Sripada March 6, 2014

Equivalence Checking for Timing Constraints Subramanyam Sripada March 6, 2014 Equivalence Checking for Constraints Subramanyam Sripada March 6, 2014 2014 Synopsys. All rights reserved. 1 Agenda Motivation Existing Solutions Multi-pass approach Results Conclusion 2014 Synopsys. All

More information

SmartTime for Libero SoC v11.5

SmartTime for Libero SoC v11.5 SmartTime for Libero SoC v11.5 User s Guide NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate an error

More information

Timing Constraints Editor User Guide

Timing Constraints Editor User Guide Libero SoC v11.8 SP1 and SP2 NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate an error when clicked. View

More information

Preparing for Optimization 7

Preparing for Optimization 7 7 Preparing for Optimization 7 This chapter contains the following sections: Defining the Design Environment Selecting a Compile Strategy Setting Design Rule Constraints Setting Optimization Constraints

More information

UG0776 User Guide PolarFire FPGA Design Constraints

UG0776 User Guide PolarFire FPGA Design Constraints UG0776 User Guide PolarFire FPGA Design Constraints NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate an

More information

TRILOBYTE SYSTEMS. Consistent Timing Constraints with PrimeTime. Steve Golson Trilobyte Systems.

TRILOBYTE SYSTEMS. Consistent Timing Constraints with PrimeTime. Steve Golson Trilobyte Systems. TRILOBYTE SYSTEMS Consistent Timing Constraints with PrimeTime Steve Golson Trilobyte Systems http://www.trilobyte.com 2 Physical implementation Rule #1 Do not change the functionality Rule #2 Meet the

More information

SDC and TimeQuest API Reference Manual

SDC and TimeQuest API Reference Manual SDC and TimeQuest API Reference Manual 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com MNL-SDCTMQ-1.1 Copyright 2007 Altera Corporation. All rights reserved. Altera, The Programmable

More information

Constraint Verification

Constraint Verification Constraint Verification Constraint verification refers to the verification of the contents of an SDC file to flag situations where the specified constraints are either incorrect, or incomplete, both of

More information

Introduction to STA using PT

Introduction to STA using PT Introduction to STA using PT Learning Objectives Given the design, library and script files, your task will be to successfully perform STA using the PrimeTime GUI and generate reports. After completing

More information

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview Synopsys Synthesis Overview Ben 2006.02.16 ACCESS IC LAB Outline Introduction Setting Design Environment Setting Design Constraints Synthesis Report and Analysis pp. 2 What is Synthesis Synthesis = translation

More information

The Formal Verification of Design Constraints by Ajay Daga, CEO, FishTail Design Automation Inc.

The Formal Verification of Design Constraints by Ajay Daga, CEO, FishTail Design Automation Inc. The Formal Verification of Design Constraints by Ajay Daga, CEO, FishTail Design Automation Inc. There are two approaches to the verification of design constraints: formal verification and structural analysis.

More information

Timing Analyzer Quick-Start Tutorial

Timing Analyzer Quick-Start Tutorial Timing Analyzer Quick-Start Tutorial Intel Quartus Prime Pro Edition Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents Timing

More information

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints Chip design is not getting any easier. With increased gate counts, higher clock speeds, smaller chip sizes and

More information

8. Switching to the Quartus II TimeQuest Timing Analyzer

8. Switching to the Quartus II TimeQuest Timing Analyzer December 2010 QII53019-10.1.0 8. Switching to the Quartus II TimeQuest Timing Analyzer QII53019-10.1.0 This chapter describes the benefits of switching to the Quartus II TimeQuest Timing Analyzer, the

More information

Performing STA. Learning Objectives

Performing STA. Learning Objectives Performing STA Learning Objectives UNIT 45 minutes Unit 8 You are provided with a design netlist that does not meet timing. You are also provided with another set of sub blocks that were improved for timing

More information

King Fahd University of Petroleum and Minerals. Computer Engineering Department. COE 561 Digital Systems Design and Synthesis (Course Activity)

King Fahd University of Petroleum and Minerals. Computer Engineering Department. COE 561 Digital Systems Design and Synthesis (Course Activity) King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis using Synopsys Design Compiler Tutorial The Synthesis

More information

Compile RISC_CORE. Learning Objectives. After completing this lab, you should be able to: Perform a top-down compile strategy on the RISC_CORE design

Compile RISC_CORE. Learning Objectives. After completing this lab, you should be able to: Perform a top-down compile strategy on the RISC_CORE design 15 Learning Objectives After completing this lab, you should be able to: Perform a top-down compile strategy on the RISC_CORE design Lab Duration: 75 minutes Lab 15-1 Synopsys 31833-000-S38 Flow Diagram

More information

A GENERATION AHEAD SEMINAR SERIES

A GENERATION AHEAD SEMINAR SERIES A GENERATION AHEAD SEMINAR SERIES Constraints &Tcl Scripting Design Methodology Guidelines for Faster Timing Convergence Agenda Vivado Tcl Overview XDC Management Design Methodology for Faster Timing Closure

More information

A. Setting Up the Environment a. ~/ece394 % mkdir synopsys b.

A. Setting Up the Environment a. ~/ece394 % mkdir synopsys b. ECE 394 ASIC & FPGA Design Synopsys Design Compiler and Design Analyzer Tutorial A. Setting Up the Environment a. Create a new folder (i.e. synopsys) under your ece394 directory ~/ece394 % mkdir synopsys

More information

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,

More information

PrimeTime: Introduction to Static Timing Analysis Workshop

PrimeTime: Introduction to Static Timing Analysis Workshop i-1 PrimeTime: Introduction to Static Timing Analysis Workshop Synopsys Customer Education Services 2002 Synopsys, Inc. All Rights Reserved PrimeTime: Introduction to Static 34000-000-S16 Timing Analysis

More information

EECS 151/251A ASIC Lab 6: Power and Timing Verification

EECS 151/251A ASIC Lab 6: Power and Timing Verification EECS 151/251A ASIC Lab 6: Power and Timing Verification Written by Nathan Narevsky (2014,2017) and Brian Zimmer (2014) Modified by John Wright (2015,2016), Ali Moin (2017) and Taehwan Kim (2018) Overview

More information

Behavioral Modeling and Timing Constraints

Behavioral Modeling and Timing Constraints Introduction Behavioral modeling was introduced in Lab 1 as one of three widely used modeling styles. Additional capabilities with respect to testbenches were further introduced in Lab 4. However, there

More information

Design Rules and Min Timing

Design Rules and Min Timing 7 Design Rules and Min Timing Learning Objectives After completing this lab, you should be able to: Apply design rules and hold time constraints Fix design rule violations Fix hold time violations Lab

More information

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one

More information

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER This tutorial explains how to synthesize a verilog code using RTL Compiler. In order to do so, let s consider the verilog codes below. CNT_16 Module: 16

More information

Intel Quartus Prime Standard Edition User Guide

Intel Quartus Prime Standard Edition User Guide Intel Quartus Prime Standard Edition User Guide Timing Analyzer Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Timing Analysis Introduction...

More information

Agenda: Day One 3-1 DAY. Welcome. Introduction to Static Timing Analysis. Writing Basic Tcl Constructs in PT. Constraining Internal Reg-Reg paths

Agenda: Day One 3-1 DAY. Welcome. Introduction to Static Timing Analysis. Writing Basic Tcl Constructs in PT. Constraining Internal Reg-Reg paths Agenda: Day One 3-1 DAY 1 Unit Register Register Paths Lab 0i Welcome 1 Introduction Static Timing Analysis 2 Writing Basic Tcl Constructs in PT 3 4 Constraining Internal Reg-Reg paths 3-1 Unit 3: Unit

More information

RTL Synthesis using Design Compiler. Dr Basel Halak

RTL Synthesis using Design Compiler. Dr Basel Halak RTL Synthesis using Design Compiler Dr Basel Halak Learning Outcomes: After completing this unit, you should be able to: 1. Set up the DC RTL Synthesis Software and run synthesis tasks 2. Synthesize a

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Synthesis Revision History The following table shows the revision history for this document: Date Version Revision 06/24/2015 2015.2 Changes are: Added Important note on

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Synthesis Revision History The following table shows the revision history for this document: Date Version Revision 04/01/2015 2015.1 Initial release for 2015.1. Changes include:

More information

Reading the Design into PT

Reading the Design into PT Reading the Design into PT Learning Objectives Given a set of design and library files, you will read them into PrimeTime memory and access the design objects. After completing this lab, you should be

More information

Microtronix Video LVDS SerDes Transmitter / Receiver IP Core

Microtronix Video LVDS SerDes Transmitter / Receiver IP Core Microtronix Video LVDS SerDes Transmitter / Receiver IP Core User Manual Revision 2.2 4056 Meadowbrook Drive, Unmit 126 London, ON Canada N5L 1E3 www.microtronix.com Document Revision History This user

More information

CS/EE 6710 Digital VLSI Design Tutorial on Cadence to Synopsys Interface (CSI)

CS/EE 6710 Digital VLSI Design Tutorial on Cadence to Synopsys Interface (CSI) CS/EE 6710 Digital VLSI Design Tutorial on Cadence to Synopsys Interface (CSI) This tutorial walks you through the Cadence to Synopsys Interface (CSI). This interface lets you take a schematic from composer

More information

A STANDARDIZED PROCEDURE FOR CLOSING TIMING ON OpenHPSDR FPGA FIRMWARE DESIGNS

A STANDARDIZED PROCEDURE FOR CLOSING TIMING ON OpenHPSDR FPGA FIRMWARE DESIGNS A STANDARDIZED PROCEDURE FOR CLOSING TIMING ON OpenHPSDR FPGA FIRMWARE DESIGNS by Joe A. Martin, PhD, K5SO August 26, 2014 Introduction! 2 Running the Quartus II TimeQuest Utility! 3 The *.SDC file! 6

More information

Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers

Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers 2008 Table of Contents Introduction... 3 Steps Taken and Simulation... 3 Pitfalls... 8 Simulated Delay... 9 APPENDIX

More information

Using Synopsys Design Constraints (SDC) with Designer

Using Synopsys Design Constraints (SDC) with Designer Technical Brief Using Synopsys Design Constraints (SDC) with Designer This technical brief describes the commands and provides usage examples of Synopsys Design Constraints (SDC) format with Actel s Designer

More information

EE4415 Integrated Digital Design Project Report. Name: Phang Swee King Matric Number: U066584J

EE4415 Integrated Digital Design Project Report. Name: Phang Swee King Matric Number: U066584J EE4415 Integrated Digital Design Project Report Name: Phang Swee King Matric Number: U066584J April 10, 2010 Contents 1 Lab Unit 1 2 2 Lab Unit 2 3 3 Lab Unit 3 6 4 Lab Unit 4 8 5 Lab Unit 5 9 6 Lab Unit

More information

DC-Tcl Procedures. Learning Objectives. After completing this lab, you should be able to: Write generic DC-Tcl procedures. Lab Duration: 30 minutes

DC-Tcl Procedures. Learning Objectives. After completing this lab, you should be able to: Write generic DC-Tcl procedures. Lab Duration: 30 minutes w 14 Learning Objectives After completing this lab, you should be able to: Write generic DC-Tcl procedures Lab Duration: 30 minutes Lab 14-1 Synopsys 31833-000-S38 Flow Diagram of Lab Create and test myprocs.tcl

More information

Lecture 11 Logic Synthesis, Part 2

Lecture 11 Logic Synthesis, Part 2 Lecture 11 Logic Synthesis, Part 2 Xuan Silvia Zhang Washington University in St. Louis http://classes.engineering.wustl.edu/ese461/ Write Synthesizable Code Use meaningful names for signals and variables

More information

NetFPGA Summer Course

NetFPGA Summer Course NetFPGA Summer Course Presented by: Noa Zilberman Yury Audzevich Technion August 2 August 6, 2015 http://netfpga.org Summer Course Technion, Haifa, IL 2015 1 Section I: General Overview Summer Course Technion,

More information

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

Note: Closed book no notes or other material allowed, no calculators or other electronic devices. ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Exam Review Note: Closed book no notes or other material allowed, no calculators or other electronic devices. One page

More information

Vivado Design Suite Tutorial. Using Constraints

Vivado Design Suite Tutorial. Using Constraints Vivado Design Suite Tutorial Using Constraints Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Design Analysis and Closure Techniques Revision History The following table shows the revision history for this document. Date Version Revision 11/18/2015 2015.4 Updates

More information

Intel FPGA GPIO IP Core User Guide

Intel FPGA GPIO IP Core User Guide Intel FPGA GPIO IP Core User Guide Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents...3 Intel FPGA GPIO IP Core Features...

More information

CoreRGMII v2.0. Handbook

CoreRGMII v2.0. Handbook CoreRGMII v2.0 Handbook CoreRGMII v2.0 Handbook Table of Contents Introduction... 3 Core Overview... 3 Core Version... 3 Supported Families... 3 Key Features... 3 Utilization and Performance... 3 Functional

More information

Using DCFIFO for Data Transfer between Asynchronous Clock Domains

Using DCFIFO for Data Transfer between Asynchronous Clock Domains Using DCFIFO for Data Transfer between Asynchronous Clock Domains, version 1.0 Application Note 473 Introduction In the design world, there are very few designs with a single clock domain. With increasingly

More information

ProASIC PLUS Timing Closure in Libero IDE v5.2

ProASIC PLUS Timing Closure in Libero IDE v5.2 Application Note AC205 ProASIC PLUS Timing Closure in Libero IDE v5.2 Introduction This application note discusses the new ProASIC PLUS timing-driven place-and-route (TDPR) flow introduced in Libero Integrated

More information

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim ENGN 1630 Fall 2018 Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim You will use the Xilinx ISim simulation software for the required timing simulation of the XC9572XL CPLD programmable

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Synthesis Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To the maximum

More information

IDEA! Avnet SpeedWay Design Workshop

IDEA! Avnet SpeedWay Design Workshop The essence of FPGA technology IDEA! 2 ISE Tool Flow Overview Design Entry Synthesis Constraints Synthesis Simulation Implementation Constraints Floor-Planning Translate Map Place & Route Timing Analysis

More information

High-Performance FPGA PLL Analysis with TimeQuest

High-Performance FPGA PLL Analysis with TimeQuest High-Performance FPGA PLL Analysis with TimeQuest August 2007, ver. 1.0 Application Note 471 Introduction f Phase-locked loops (PLLs) provide robust clock management and clock synthesis capabilities for

More information

First Name: Last Name: PID: CSE 140L Exam. Prof. Tajana Simunic Rosing. Winter 2010

First Name: Last Name: PID: CSE 140L Exam. Prof. Tajana Simunic Rosing. Winter 2010 CSE 140L Exam Prof. Tajana Simunic Rosing Winter 2010 Do not start the exam until you are told to. Turn off any cell phones or pagers. Write your name and PID at the top of every page. Do not separate

More information

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB SYNTHESIS Synthesis Involves synthesizing a gate netlist from verilog source code We use Design Compiler (DC) by Synopsys which is the most popular synthesis tool used in industry Target library examples:

More information

Characterization of Asynchronous Templates for Integration into Clocked CAD Flows

Characterization of Asynchronous Templates for Integration into Clocked CAD Flows Characterization of Asynchronous Templates for Integration into Clocked CAD Flows Kenneth S. Stevens, Yang Xu, and Vikas Vij Electrical and Computer Engineering University of Utah Abstract Asynchronous

More information

Vivado Design Suite User Guide. Design Analysis and Closure Techniques

Vivado Design Suite User Guide. Design Analysis and Closure Techniques Vivado Design Suite User Guide Design Analysis and Closure Techniques Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx

More information

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 ACCESS IC LAB Introduction Outline Synopsys Graphical Environment Setting Design Environment Setting Design Constraints Design Optimization Finite

More information

Automated Synthesis from HDL models. Design Compiler (Synopsys) Leonardo (Mentor Graphics)

Automated Synthesis from HDL models. Design Compiler (Synopsys) Leonardo (Mentor Graphics) Automated Synthesis from HDL models Design Compiler (Synopsys) Leonardo (Mentor Graphics) Front-End Design & Verification VHDL Verilog SystemC Create Behavioral/RTL HDL Model(s) VHDL-AMS Verilog-A ModelSim

More information

CPE/EE 421 Microcomputers

CPE/EE 421 Microcomputers CPE/EE 421 Microcomputers THE 68000 CPU HARDWARE MODEL Instructor: Dr Aleksandar Milenkovic Lecture Notes Lecture 19 CPE/EE 421/521 Microcomputers 1 THE 68000 CPU HARDWARE MODEL Chapter 4 68000 interface

More information

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences Introductory Digital Systems Lab (6.111) uiz - Spring 2004 Prof. Anantha Chandrakasan Student Name: Problem

More information

Chapter Operation Pinout Operation 35

Chapter Operation Pinout Operation 35 68000 Operation 35 Chapter 6 68000 Operation 6-1. 68000 Pinout We will do no construction in this chapter; instead, we will take a detailed look at the individual pins of the 68000 and what they do. Fig.

More information

Introduction to Design Compiler

Introduction to Design Compiler Introduction to Design Compiler Courtesy of Dr. An-Yeu Wu @NTU, CIC/NARL@Taiwan http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu What is Synthesis Synthesis = translation + optimization We will get

More information

Getting a Quick Start 2

Getting a Quick Start 2 2 Getting a Quick Start 2 This chapter walks you through the basic synthesis design flow (shown in Figure 2-1). You use the same basic flow for both design exploration and design implementation. The following

More information

Part B. Dengxue Yan Washington University in St. Louis

Part B. Dengxue Yan Washington University in St. Louis Tools Tutorials Part B Dengxue Yan Washington University in St. Louis Tools mainly used in this class Synopsys VCS Simulation Synopsys Design Compiler Generate gate-level netlist Cadence Encounter placing

More information

Summer 2003 Lecture 21 07/15/03

Summer 2003 Lecture 21 07/15/03 Summer 2003 Lecture 21 07/15/03 Simple I/O Devices Simple i/o hardware generally refers to simple input or output ports. These devices generally accept external logic signals as input and allow the CPU

More information

CPE/EE 421/521 Fall 2004 Chapter 4 The CPU Hardware Model. Dr. Rhonda Kay Gaede UAH. The CPU Hardware Model - Overview

CPE/EE 421/521 Fall 2004 Chapter 4 The CPU Hardware Model. Dr. Rhonda Kay Gaede UAH. The CPU Hardware Model - Overview CPE/EE 421/521 Fall 2004 Chapter 4 The 68000 CPU Hardware Model Dr. Rhonda Kay Gaede UAH Fall 2004 1 The 68000 CPU Hardware Model - Overview 68000 interface Timing diagram Minimal configuration using the

More information

White Paper Performing Equivalent Timing Analysis Between Altera Classic Timing Analyzer and Xilinx Trace

White Paper Performing Equivalent Timing Analysis Between Altera Classic Timing Analyzer and Xilinx Trace Introduction White Paper Between Altera Classic Timing Analyzer and Xilinx Trace Most hardware designers who are qualifying FPGA performance normally run bake-off -style software benchmark comparisons

More information

PCI Arbiter Workarounds for the NS9775

PCI Arbiter Workarounds for the NS9775 PCI Arbiter Workarounds for the NS9775 Table of Contents Overview... 3 Description of Errata... 3 Software Workaround... 4 Hardware Workaround... 4 Description... 4 Sample Implementation... 5 2 PCI Arbiter

More information

Using Tcl. Learning Objectives

Using Tcl. Learning Objectives Using Tcl Learning Objectives Using the transcript program, you will translate a given specification (in DC-Shell format) into PrimeTime Tcl format. After completing this lab, you should be able to: Write

More information

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation ECE 4514 Digital Design II Lecture 20: Timing Analysis and Timed Simulation A Tools/Methods Lecture Topics Static and Dynamic Timing Analysis Static Timing Analysis Delay Model Path Delay False Paths Timing

More information

SystemVerilog Assertions for Clock-Domain-Crossing Data Paths. Don Mills Microchip Technology Inc.

SystemVerilog Assertions for Clock-Domain-Crossing Data Paths. Don Mills Microchip Technology Inc. SystemVerilog Assertions for Clock-Domain-Crossing Data Paths Don Mills Microchip Technology Inc. Outline Brief Review of CDC Concepts and Issues Basics of SystemVerilog Assertions Modeling Techniques

More information

Project Timing Analysis

Project Timing Analysis Project Timing Analysis Jacob Schneider, Intel Corp Sanjeev Gokhale, Intel Corp Mark McDermott EE 382M Class Notes Overview Brief overview of global timing Example of extracting AT, RAT, and PASSTHROUGHs

More information

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL for Synthesis. Course Description. Course Duration. Goals VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes

More information

Vivado Design Suite Tutorial

Vivado Design Suite Tutorial Vivado Design Suite Tutorial Design Analysis and Closure Techniques Revision History The following table shows the revision history for this document. Section Revision Summary 06/29/2018 Version 2018.2

More information

10. Synopsys Synplify Support

10. Synopsys Synplify Support 10. Synopsys Synplify Support QII51009-9.1.0 This chapter documents support for the Synopsys Synplify software in the Quartus II software, as well as key design flows, methodologies, and techniques for

More information

Timing Analysis in Xilinx ISE

Timing Analysis in Xilinx ISE Timing Analysis in Xilinx ISE For each design which is to be implemented, constraints should be defined to get predictable results. The first important class of constraints was already introduced in the

More information

Interfacing an Intel386 TM EX Microprocessor to an CAN Controller

Interfacing an Intel386 TM EX Microprocessor to an CAN Controller APPLICATION NOTE Interfacing an Intel386 TM EX Microprocessor to an 82527 CAN Controller GREG SCOTT TECHNICAL MARKETING ENGINEER January 1996 Order Number 272790-001 COPYRIGHT INTEL CORPORATION 1995 1

More information

Timing and Verification

Timing and Verification Timing and Verification Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted

More information

Spiral 1 / Unit 6. Flip-flops and Registers

Spiral 1 / Unit 6. Flip-flops and Registers 1-5.1 Spiral 1 / Unit 6 Flip-flops and Registers 1-5.2 Outcomes I know the difference between combinational and sequential logic and can name examples of each. I understand latency, throughput, and at

More information

EE577A FINAL PROJECT REPORT Design of a General Purpose CPU

EE577A FINAL PROJECT REPORT Design of a General Purpose CPU EE577A FINAL PROJECT REPORT Design of a General Purpose CPU Submitted By Youngseok Lee - 4930239194 Narayana Reddy Lekkala - 9623274062 Chirag Ahuja - 5920609598 Phase 2 Part 1 A. Introduction The core

More information

L11: Major/Minor FSMs

L11: Major/Minor FSMs L11: Major/Minor FSMs Acknowledgements: Materials in this lecture are courtesy of the following sources and are used with permission. Rex Min 1 Quiz Quiz will be Closed Book Tuesday, March 21, 2006, 7:30pm-9:30pm

More information

Tcl and SDC Tutorial. PlanAhead Design Tool

Tcl and SDC Tutorial. PlanAhead Design Tool Tcl and SDC Tutorial PlanAhead Design Tool Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you solely for use in the development of designs to operate

More information

Intel Quartus Prime Standard Edition User Guide

Intel Quartus Prime Standard Edition User Guide Intel Quartus Prime Standard Edition User Guide Third-party Synthesis Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Synopsys Synplify*

More information

Interpreting the Timing Diagram

Interpreting the Timing Diagram CPE/EE 421 Microcomputers WEEK #10 Interpreting the Timing Diagram The 68000 Read Cycle 2 Timing Diagram of a Simple Flip-Flop Idealized form of the timing diagram Actual behavior of a D flip-flop Data

More information

EECS150 - Digital Design Lecture 17 Memory 2

EECS150 - Digital Design Lecture 17 Memory 2 EECS150 - Digital Design Lecture 17 Memory 2 October 22, 2002 John Wawrzynek Fall 2002 EECS150 Lec17-mem2 Page 1 SDRAM Recap General Characteristics Optimized for high density and therefore low cost/bit

More information

EECS 373 Practice Midterm / Homework #3 Fall 2014

EECS 373 Practice Midterm / Homework #3 Fall 2014 Exam #: EECS 373 Practice Midterm / Homework #3 Fall 2014 Name: Uniquename: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem #

More information

Push-button Synthesis or, Using dc_perl to do_the_right_thing

Push-button Synthesis or, Using dc_perl to do_the_right_thing Push-button Synthesis or, Using dc_perl to do_the_right_thing Kurt Baty WSFDB Consulting 26 Hill Street Medway MA 02053 Phone: +1.508.429.4198 Email: kurt@wsfdb.com Steve Golson Trilobyte Systems 33 Sunset

More information

Arithmetic Operators There are two types of operators: binary and unary Binary operators:

Arithmetic Operators There are two types of operators: binary and unary Binary operators: Verilog operators operate on several data types to produce an output Not all Verilog operators are synthesible (can produce gates) Some operators are similar to those in the C language Remember, you are

More information

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain

More information

A Comparison of Hierarchical Compile Strategies

A Comparison of Hierarchical Compile Strategies A Comparison of Hierarchical Compile Strategies Steve Golson Trilobyte Systems 33 Sunset Road Carlisle MA 01741 Phone: +1.978.369.9669 Fax: +1.978.371.9964 Email: sgolson@trilobyte.com http://www.trilobyte.com

More information

Floorplanning ProASIC /ProASIC PLUS Devices for Increased Performance

Floorplanning ProASIC /ProASIC PLUS Devices for Increased Performance Application Note AC192 Floorplanning ProASIC /ProASIC PLUS Devices for Increased Performance Introduction to Floorplanning This application note provides tips and techniques for floorplanning ProASIC and

More information

2015 Paper E2.1: Digital Electronics II

2015 Paper E2.1: Digital Electronics II s 2015 Paper E2.1: Digital Electronics II Answer ALL questions. There are THREE questions on the paper. Question ONE counts for 40% of the marks, other questions 30% Time allowed: 2 hours (Not to be removed

More information

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Thursday 21st January 2016 Time: 14:00-15:30 Answer BOTH Questions

More information

Techniques for Digital Systems Lab. Verilog HDL. Tajana Simunic Rosing. Source: Eric Crabill, Xilinx

Techniques for Digital Systems Lab. Verilog HDL. Tajana Simunic Rosing. Source: Eric Crabill, Xilinx CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Tajana Simunic Rosing Source: Eric Crabill, Xilinx 1 More complex behavioral model module life (n0, n1, n2, n3, n4, n5, n6,

More information

AccuCore. Product Overview of Block Characterization, Modeling and STA

AccuCore. Product Overview of Block Characterization, Modeling and STA AccuCore Product Overview of Block Characterization, Modeling and STA What is AccuCore? AccuCore performs timing characterization of multi-million device circuits with SmartSpice accuracy and performs

More information

Design Constraints User Guide

Design Constraints User Guide Design Constraints User Guide Libero SoC v11.8 SP1 and SP2 NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate

More information