A GENERATION AHEAD SEMINAR SERIES

Size: px
Start display at page:

Download "A GENERATION AHEAD SEMINAR SERIES"

Transcription

1 A GENERATION AHEAD SEMINAR SERIES Constraints &Tcl Scripting Design Methodology Guidelines for Faster Timing Convergence

2 Agenda Vivado Tcl Overview XDC Management Design Methodology for Faster Timing Closure Available Resources & Next Steps

3 Vivado Tcl Overview

4 Vivado Tcl XDC - superset of SDC* includes Industry standard SDC timing constraints Xilinx physical constraints (LOC, IO std, ) Vivado Tcl includes XDC Xilinx flow commands Project management, synthesize, place and route, Objects and interactive query Netlist, device, timing, project, get_*, create_*, connect_* General Tcl (8.5) language *SDC Synopsys Design Constrains

5 Vivado XDC/Tcl Benefits Reduces learning curve A common constraint language from Synthesis to P&R Sign-off static timing analysis (STA) Enables to quickly indentify and fix design challenges Powerful debug and analysis environment Fast custom reports & DRC Design transformation What-if analysis with incremental STA Extendable Accelerates design migration to Xilinx FPGAs Plug & Play with 3rd Party EDA Tools Industry standard Tool Control

6 Vivado XDC/Tcl Benefits Faster Runtime Foundation for Fast STA UCF - Not scaled to handle large* designs XDC - Perfectly suitable for large* designs *large = 2M+ instances Example: apply a constraint to all instances in block A UCF: INST A/* XDC: get_cells A/* Top Top A B A B a1 a2 b1 b2 a1 a2 b1 b2 Full design search pace Enables to control search pace

7 Vivado XDC/Tcl Benefits Constraints Lifetime Predictable names mreg neta D Q mreg Primary ports FFs Nets connected to FF outputs Non-Predictable names Boolean logic instances and nets Example: apply KEEP to a net connected to the D input of mreg UCF XDC set_property DONT_TOUCH 1 [get_nets -of [get_pins mreg/d]] NET neta KEEP; Drawbacks neta - must be known in advance neta - a non-predictable name Changes in logic invalid UCF constraint Advantages The name of a net is not necessary Based on the predictable FF name: mreg Changes in logic - constraint not impacted

8 Vivado XDC/Tcl Benefits Constraining Exclusive Clocks Example REGA REGB D D Q CE Q CE CLK0 CLK1 UCF no easy solution to constraint and analyze the design Sol. 1: use most critical clock (CLK0 or CLK1) Sol. 2: use two UCF files (for CLK0 & for CLK1) XDC Natively supported Just specify that CLK0 and CLK1 are exclusive set_clock_groups -physically_exclusive -group CLK0 -group CLK1

9 Vivado XDC/Tcl Benefits Custom Scripts to Solve Timing Issues DSP48 Accelerate DSP by push a register from fabric into DSP P Replicate a high fanout FF to improve placement and reduce routing delays Generate a custom BUFG report set_property, create_cell, create_net, connect_net, disconnect_net,

10 Vivado Tcl Benefits Example of ECO in Tcl Goal: to connect a internal net to an output pin Assumption: Design is fully routed prb p_sig CLK Five-step process 1. Create a port 2. Select an I/O Standard 3. Select an unused pin create_port set_property IOSTANDARD set_property PACKAGE_PIN 4. Connect the net to the port 5. Route net -direction OUT connect_net route_design prb prb prb -net p_sig prb

11 Vivado XDC/Tcl Benefits Example of ECO in Tcl Example: Modifying MMCM Duty Cycle after routing set_property CLKOUT0_DUTY_CYCLE 0.3 [get_cells mmcm_adv_inst] write_bitstream Note: MMCM Duty cycle can be modified directly in the Attributes window (GUI)

12 Integrate Custom Commands in IDE Create menu for Custom Tcl Procedures Parameters can be # my_drc.tcl Entered manually or proc my_drc1 { } { } As a selected_object (ex: in a schematic viewer) proc my_drc2 { } { } Example: Replicate a selected FF Move Reg to fabric for a selected RAM Report timing through a selected net Traverse clock network to look for LUTs

13 XDC Management

14 Constraint Flow: Vivado vs. ISE ISE two entry points Vivado XCF (XST), UCF(Impl.) No post-implementation constraints tuning Constraints tuning at each flow step Supports various constraint scenarios HDL HDL XCF UCF synth_design XST XDC NGDBuild MAP route_design PAR write_bitstream Bitgen Silicon Silicon opt_design

15 XDC vs. UCF Differences Constraint Order UCF a constraint file Constraint order does not matter TIMESPEC TS_clk = PERIOD OFFSET = IN 15 ns BEFORE clk"; = OFFSET = IN 15 ns BEFORE clk"; TIMESPEC TS_clk = PERIOD XDC is a Tcl Program Constraint order matters (in general) Note: SDC exception rules (non-order set_input_delay -clock based) [get_clocks clk create_clock -name clk... constraints have specific set_input_delay -clock [get_clocks clk] ] create_clock -name clk... The order of constraints in XDC file & the order of XDC files does matter

16 XDC Constraints can be Specified in Different Ways.XDC Files Added to project sources Entered via Constraint Editor Manually Edited (use XDC Templates) Tcl scripts Specified before & after each step of the flow Tcl Console Interactively added Sourced from Tcl scripts

17 Scope of XDC files XDC can apply to the whole flow Synthesis timing IOs XDC can apply to part of the flow Main Main (ISE Style) Implementation Impl Implementation Main: Impl: Synth Synthesis Impl Primary clocks I/O delays Exceptions on clocks Physical constraints Exceptions based on physical netlist

18 Customizing the Push Button Flow Use tcl.pre & tcl.post to execute Tcl scripts before & after flow steps Main Impl Synthesis Implementation opt_design place_design route_design

19 Design Space Exploration Launching Different Strategies Constraint Set & tool options part of implementation strategy Vivado supports multiple constraint sets Create multiple runs with different constraint sets.

20 Leverage IP XDC IP might create their own XDC file Example: clocking wizard In general - IP XDC is read after the user XDC Some IP - IP XDC is read before the user XDC (clocking wizard) (user constraints can override IP defined clocks by default) The order of constraint files matters! To report the order of XDC files: report_compile_order constraints Always verify the clocks: To change the default processing order report clocks set_property set_processing_order early late IP_XDC_File If necessary, IP_XDC_files can be enabled/disabled

21 Using XDC Templates Timing & Physical Accessing templates in IDE Windows Language Templates Contain Clocks Input & Output Exceptions Physical DDR Input DDR Output DDR Templates Inputs and outputs Source synchronous Center aligned.

22 Design Methodology for Faster Timing Closure

23 Fix Design Issues Earlier in the Flow Fix timing issues at early stages C & RTL stages have bigger impact on QoR Iterations at these levels are much faster HLS (C, C++) RTL Synthesis The worst path is a moving target Synthesis reduces longest RTL paths Place optimizes placement for worst path in netlist Route uses preferred routing for next set of paths #paths Path distribution in RTL design optimized in routing optimized in placement optimized in synthesis 0 levels of logic 23 Impact of change on Performance 1000x 10x opt Place physopt 1.2x Route 1.1x

24 Critical Path could be a Moving Target Example from a Real Design Post-synthesis Worst path: 13 levels of logic worst path: 4.3ns Post-place Worst path: 7 levels Paths with 7-13 levels got placed locally worst path: 4.2ns Post-route Worst Path: 4 levels of logic Paths with 5-13 levels got preferred routing worst path: 4.1ns Analyze & Fix timing issues at early stages for faster timing convergence 24

25 Follow HDL Coding & Synthesis Recommendations Adder tree performance bottleneck HDL Coding Follow RAM and DSP templates Pipeline to reduce levels of logic Avoid Resets (or prefer synchronous) Synthesis Do not hinder synthesis. Pipelined adder chain optimal performance Avoid Bottom-up flows Avoid KEEP, syn_preserve attributes Use Synthesis Contorls Control LUT combining Limit Max Fanout Reduce # Control Sets DSP48 DSP48 DSP48 Review and Resolve critical Warnings. DSP48

26 Timing Constraints Must Be Pristine Missing Constraints The corresponding paths are not optimized Violations are not reported, but design may not work Path is incorrectly constrained Optimization effort is spent on the wrong paths Reported timing violations may not result in any issues on HW Constraints create wrong HOLD violations Possible: Long runtime and Setup violations Note: Vivado fixes HOLD violations as #1 priority Designs with HOLD violations won t work Designs with SETUP violations will work, but slower

27 Method to Create Good Constraints Create Constraints: Four Key Steps Create clocks Define clocks interactions Set input and output delays Set timing exceptions Validate Constraints at each step. Monitor unconstraint objects. Validate timing report_timing_summary check_timing report_clocks (Note: Tcl only) report_clock_networks report_clock_interaction report_timing Note: available via GUI & Tcl.

28 Constraints Creation Helpers First review unconstraint objects Helps to monitor constraining progress report_timing_summary: Check Timing section check_timing Avoid Clock Skew Verify clock network topology report_clock_networks Beware of: Gated clocks Unconstrained clocks Related clock from different MMCM.

29 Clock Creation Ground Rules Clocks only exist after you create them CLK1 create_clock -name CLK1 -period 20 CLK2 CLK2 domain: no analysis, no optimization Generated Clocks Clocks automatically propagated through clocking modules (MMCM, PLL) Remaining clocks - define manually: create_generated_clock don t create clock CLK1 CLK2 MMCM CNT CLK_OUT C_CLK create_clock create_clock name CLK2 create_generated_clock name C_CLK create generated clock -name CLK1

30 Creating Clocks Define primary clocks: create_clocks Verify specified and automatically generated clocks: report_clocks Attributes P: Propagated G: Generated Clock sys_clk pll0/clkout0 pll0/clkout1 Period Waveform { } { } { } Attributes P P,G P,G Sources {sys_clk} {pll0/plle2_adv_inst/clkout0} {pll0/plle2_adv_inst/clkout1} Update constraining process status: check_timing Define remaining internal clocks: create_generated_clocks Find them in Check Timing & Report Clock Networks reports Check progress: report_clocks report_clock_networks

31 Clock Interaction Ground Rules All inter-clock paths are evaluated by default CLK1 CLK2 CDC CLK1 & CLK2 UCF: asynchronous SDC: synchronous CDC UCF: ignored SDC: analyzed/optimized Use set_clock_groups to make CLK1 & CLK2 asynchronous ignore CDC # primary clocks create_clock -name clk_oxo create_clock -name clk_core # set Asynchronous Clock Groups set_clock_groups -asynchronous -group [ include_generated_clocks clk_oxo] -group [ include_generated_clocks clk_core]

32 Clock Interaction Helper Evaluate clock interaction: report_clock_interaction Unconstraint inter-clock path (CDC) as needed: set_clock_groups Could be done directly via Clock Interaction Report Regenerate Clock Interaction report - observe changes Check progress: check_timing.

33 Constraining I/Os Specify realistic IO delays: set_input_delay, set_output_delay Wrong delay value (e.g. 0 ns) can cause wrong HOLD violations SDC: delay value is the external delay UCF: internal delay (default) Example: input delay 10 ns Period # UCF OFFSET = IN 6ns BEFORE ClkIn; ClkIn Din Data Valid 4ns Input Delay = 4ns 6ns Offset In = 6ns At FPGA: Tsu = 6ns Th = 4ns 33 # XDC set_input_delay 4 -clock clk_in Check progress: check_timing

34 Timing Exceptions: Less is More! Goal to help timing closure Adjust unrealistic timing requirements Avoid higher implementation runtimes set_false_path set_multicycle_path set_max_delay Exceptions can HURT timing closure Syntax related set_multicycle_path beware about hold (avoid wrong hold violations) regexp Runtime Conflicts resolution check you only cover the expected paths set_false_path from No Impact set_false_path -from -to Big Impact! (due to shared paths) set_multicycle_path 3 from REGA/Q -from wins: it has higher priority vs. -to set_multicycle_path 2 to REGB/D.

35 Timing Analysis, Reading Reports report_timing_summary a complete view on the Design Timing Store results from various commands: check_timing, report_timing, report_timing interactive STA Enables to focus on a specific design part One clock domain All paths between two registers All paths going though a specific net ize m sto u C sis y l na A ing m Ti Use them for constraints tuning at each constraints definition step.

36 Design Migration Helper UCF to XDC Conversion Vivado - XDC based system only write_xdc UCF to XDC conversion helper in PlanAhead SDC and UCF assumptions / engines are very different Translation process must understand the intention of each UCF constraint Timing constraints translation almost never 100% correct a1 Example: pin locking A UCF NET a1 loc=t19 XDC set_property LOC T19 [get_ports A] Write xdc use for Physical constraints XDC Timing constraints write from scratch

37 Available Resources & Next Steps

38 Vivado Tcl Help Help from Tcl prompt % help list categories (see next slide for details) % help -category <name> list commands in that category % help * list all commands with brief description % help get_cells % get_cells -help gives details of get_cells command % help get_* lists all commands starting with get_

39 Available Resources on Documentation Vivado Design Suite User Guide: Using Constraints Vivado Design Suite Tcl Command Reference Guide Vivado Design Suite Properties Reference Guide Vivado Video Tutorials Design Constraints Overview Creating Basic Clock Constraints Training Classes

40 Take the Next Step facebook.com/xilinxinc twitter.com/#!/xilinxinc youtube.com/xilinxinc.

41 Summary Advanced users can analyze and fix design issues in IDE or Tcl Tcl & IDE interact on the same datamodel Tcl allows custom reports and ECO changes Fix problems in HDL first Be mindful of BRAM, LUTRAM, DSP, SRL inference needs Avoid asynchronous reset and wired resets in general Provide clean timing constraints Bad constraints results in bad runtime, performance and HW failures

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

INITIAL DESIGN CHECKS FLOW

INITIAL DESIGN CHECKS FLOW INTRODUCTION This quick reference guide presents the following simplified, step-bystep flows for quickly closing timing, based on the recommendations in the UltraFast Design Methodology Guide for the Vivado

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

Advanced Synthesis Techniques

Advanced Synthesis Techniques Advanced Synthesis Techniques Reminder From Last Year Use UltraFast Design Methodology for Vivado www.xilinx.com/ultrafast Recommendations for Rapid Closure HDL: use HDL Language Templates & DRC Constraints:

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 Synthesis Tips & Tricks

Vivado Synthesis Tips & Tricks Vivado Synthesis Tips & Tricks Presented By Balachander Krishnamurthy Sr. Product Marketing Manager October 2 nd, 2018 Topics for Today The UltraFast Design Methodology UFDM: Customer Case Study Waiver

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

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

Vivado Design Suite Tutorial. Design Flows Overview

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

More information

Vivado Design Suite User Guide

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

More information

Vivado Design Suite Tutorial: Implementation

Vivado Design Suite Tutorial: Implementation Vivado Design Suite Tutorial: Implementation 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

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Implementation 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

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Implementation 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

PlanAhead Release Notes

PlanAhead Release Notes PlanAhead Release Notes What s New in the 11.1 Release UG656(v 11.1.0) April 27, 2009 PlanAhead 11.1 Release Notes Page 1 Table of Contents What s New in the PlanAhead 11.1 Release... 4 Device Support...

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

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS VIVADO TUTORIAL- TIMING AND POWER ANALYSIS IMPORTING THE PROJECT FROM ISE TO VIVADO Initially for migrating the same project which we did in ISE 14.7 to Vivado 2016.1 you will need to follow the steps

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

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

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

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

Vivado Design Suite User Guide

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

More information

ISE Design Suite Software Manuals and Help

ISE Design Suite Software Manuals and Help ISE Design Suite Software Manuals and Help These documents support the Xilinx ISE Design Suite. Click a document title on the left to view a document, or click a design step in the following figure to

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

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

Agenda: Day Two. Unit 6: Specifying Timing Exceptions DAY 2. I/O Paths and Exceptions. Constraining I/O Interface Paths 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: Unit Objectives

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

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

ALTERA FPGAs Architecture & Design

ALTERA FPGAs Architecture & Design ALTERA FPGAs Architecture & Design Course Description This course provides all theoretical and practical know-how to design programmable devices of ALTERA with QUARTUS-II design software. The course combines

More information

Hierarchical Design Using Synopsys and Xilinx FPGAs

Hierarchical Design Using Synopsys and Xilinx FPGAs White Paper: FPGA Design Tools WP386 (v1.0) February 15, 2011 Hierarchical Design Using Synopsys and Xilinx FPGAs By: Kate Kelley Xilinx FPGAs offer up to two million logic cells currently, and they continue

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

Quartus II Prime Foundation

Quartus II Prime Foundation Quartus II Prime Foundation Course Description This course provides all theoretical and practical know-how to design programmable devices of ALTERA with Quartus Prime design software. The course combines

More information

Vivado Design Suite User Guide

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

More information

Introduction to Xilinx Vivado tools

Introduction to Xilinx Vivado tools Introduction to Xilinx Vivado tools This document is meant to be a starting point for users who are new to using the Xilinx Vivado tools. The document will describe the basic steps to start, create, simulate,

More information

Advanced FPGA Design. Jan Pospíšil, CERN BE-BI-BP ISOTDAQ 2018, Vienna

Advanced FPGA Design. Jan Pospíšil, CERN BE-BI-BP ISOTDAQ 2018, Vienna Advanced FPGA Design Jan Pospíšil, CERN BE-BI-BP j.pospisil@cern.ch ISOTDAQ 2018, Vienna Acknowledgement Manoel Barros Marin (CERN) lecturer of ISOTDAQ-17 Markus Joos (CERN) & other organisers of ISOTDAQ-18

More information

Vivado Design Suite Migration Methodology Guide. UG911 (v2012.2) July 25, 2012

Vivado Design Suite Migration Methodology Guide. UG911 (v2012.2) July 25, 2012 Vivado Design Suite Migration Methodology Guide 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

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

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

ELEC 4200 Lab#0 Tutorial

ELEC 4200 Lab#0 Tutorial 1 ELEC 4200 Lab#0 Tutorial Objectives(1) In this Lab exercise, we will design and implement a 2-to-1 multiplexer (MUX), using Xilinx Vivado tools to create a VHDL model of the design, verify the model,

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

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

Synthesis Options FPGA and ASIC Technology Comparison - 1

Synthesis Options FPGA and ASIC Technology Comparison - 1 Synthesis Options Comparison - 1 2009 Xilinx, Inc. All Rights Reserved Welcome If you are new to FPGA design, this module will help you synthesize your design properly These synthesis techniques promote

More information

Vivado Design Suite Migration Methodology Guide. UG911 (v2012.3) November 15, 2012

Vivado Design Suite Migration Methodology Guide. UG911 (v2012.3) November 15, 2012 Vivado Design Suite Migration Methodology Guide 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

FPGA Design Flow 1. All About FPGA

FPGA Design Flow 1. All About FPGA FPGA Design Flow 1 In this part of tutorial we are going to have a short intro on FPGA design flow. A simplified version of FPGA design flow is given in the flowing diagram. FPGA Design Flow 2 FPGA_Design_FLOW

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

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

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

Vivado Design Suite. Migration Methodology Guide. UG911 (v2013.2) June 19, 2013

Vivado Design Suite. Migration Methodology Guide. UG911 (v2013.2) June 19, 2013 Vivado Design Suite Migration Methodology Guide 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

Partial Reconfiguration Tutorial. PlanAhead Design Tool

Partial Reconfiguration Tutorial. PlanAhead Design Tool Partial Reconfiguration Tutorial PlanAhead Design Tool This tutorial document was last validated using the following software version: ISE Design Suite 14.5 If using a later software version, there may

More information

Chapter 2 Vivado Design Tools

Chapter 2 Vivado Design Tools Chapter 2 Vivado Design Tools Sudipto Chakraborty The Vivado suite of design tools contain services that support all phases of FPGA designs starting from design entry, simulation, synthesis, place and

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

Vivado Design Suite Tutorial: Implementation

Vivado Design Suite Tutorial: Implementation Vivado Design Suite Tutorial: Implementation 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

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

Vivado Tutorial. Introduction. Objectives. Procedure. Lab Workbook. Vivado Tutorial

Vivado Tutorial. Introduction. Objectives. Procedure. Lab Workbook. Vivado Tutorial Lab Workbook Introduction This tutorial guides you through the design flow using Xilinx Vivado software to create a simple digital circuit using Verilog HDL. A typical design flow consists of creating

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

Hierarchical Design Methodology Guide. UG748 (v13.2) July 6, 2011

Hierarchical Design Methodology Guide. UG748 (v13.2) July 6, 2011 Hierarchical Design Methodology Guide 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

Vivado Design Suite User Guide

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

More information

Hierarchical Design Methodology Guide. UG748 (v14.5) April 10, 2013

Hierarchical Design Methodology Guide. UG748 (v14.5) April 10, 2013 Hierarchical Design Methodology Guide This document applies to the following software versions: ISE Design Suite 14.5 through 14.6 Notice of Disclaimer The information disclosed to you hereunder (the Materials

More information

Partial Reconfiguration Tutorial. PlanAhead Design Tool

Partial Reconfiguration Tutorial. PlanAhead Design Tool Partial Reconfiguration Tutorial PlanAhead Design Tool This tutorial document was last validated using the following software version: ISE Design Suite 14.1 If using a later software version, there may

More information

journal Xilinx s UltraFast Methodology: A Formula for Generation-Ahead Productivity SOLUTIONS FOR A PROGRAMMABLE WORLD Demystifying Unexpanded Clocks

journal Xilinx s UltraFast Methodology: A Formula for Generation-Ahead Productivity SOLUTIONS FOR A PROGRAMMABLE WORLD Demystifying Unexpanded Clocks Xcell ISSUE 85, FOURTH QUARTER 2013 journal SOLUTIONS FOR A PROGRAMMABLE WORLD Xilinx s UltraFast Methodology: A Formula for Generation-Ahead Productivity Accelerate Cloud Computing with the Zynq SoC Zynq

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

Vivado Design Suite User Guide:

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

More information

EECS 151/251A FPGA Lab Lab 2: Introduction to FPGA Development + Creating a Tone Generator

EECS 151/251A FPGA Lab Lab 2: Introduction to FPGA Development + Creating a Tone Generator EECS 151/251A FPGA Lab Lab 2: Introduction to FPGA Development + Creating a Tone Generator Prof. John Wawrzynek, Nicholas Weaver TAs: Arya Reais-Parsi, Taehwan Kim Department of Electrical Engineering

More information

Timing Constraints User Guide

Timing Constraints User Guide Timing Constraints User Guide [Guide Subtitle] [optional] [optional] www.xilinx.com TIming Constraints User Guide Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation")

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

Vivado Tutorial. Introduction. Objectives. Procedure

Vivado Tutorial. Introduction. Objectives. Procedure Lab Workbook Introduction This tutorial guides you through the design flow using Xilinx Vivado software to create a simple digital circuit using VHDL. A typical design flow consists of creating model(s),

More information

Vivado Design Suite Tutorial. Design Analysis and Closure Techniques

Vivado Design Suite Tutorial. Design Analysis and Closure Techniques Vivado Design Suite Tutorial 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

An easy to read reference is:

An easy to read reference is: 1. Synopsis: Timing Analysis and Timing Constraints The objective of this lab is to make you familiar with two critical reports produced by the Xilinx ISE during your design synthesis and implementation.

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

Introduction. In this exercise you will:

Introduction. In this exercise you will: Introduction In a lot of digital designs (DAQ, Trigger,..) the FPGAs are used. The aim of this exercise is to show you a way to logic design in a FPGA. You will learn all the steps from the idea to the

More information

Vivado Design Suite Tutorial. Design Analysis and Closure Techniques

Vivado Design Suite Tutorial. Design Analysis and Closure Techniques Vivado Design Suite Tutorial 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

Best Practices for Implementing ARM Cortex -A12 Processor and Mali TM -T6XX GPUs for Mid-Range Mobile SoCs.

Best Practices for Implementing ARM Cortex -A12 Processor and Mali TM -T6XX GPUs for Mid-Range Mobile SoCs. Best Practices for Implementing ARM Cortex -A12 Processor and Mali TM -T6XX GPUs for Mid-Range Mobile SoCs. Cortex-A12: ARM-Cadence collaboration Joint team working on ARM Cortex -A12 irm flow irm content:

More information

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly! This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,

More information

PlanAhead Software Tutorial

PlanAhead Software Tutorial PlanAhead Software Tutorial Overview of the Partial Reconfiguration Flow The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied.

More information

Partial Reconfiguration Tutorial. PlanAhead Design Tool

Partial Reconfiguration Tutorial. PlanAhead Design Tool Partial Reconfiguration 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

More information

Xilinx ASMBL Architecture

Xilinx ASMBL Architecture FPGA Structure Xilinx ASMBL Architecture Design Flow Synthesis: HDL to FPGA primitives Translate: FPGA Primitives to FPGA Slice components Map: Packing of Slice components into Slices, placement of Slices

More information

Tutorial: ISE 12.2 and the Spartan3e Board v August 2010

Tutorial: ISE 12.2 and the Spartan3e Board v August 2010 Tutorial: ISE 12.2 and the Spartan3e Board v12.2.1 August 2010 This tutorial will show you how to: Use a combination of schematics and Verilog to specify a design Simulate that design Define pin constraints

More information

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web:

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: www.vhdl.us Appendix C Xilinx ISE Tutorial (ISE 11.1) This tutorial is based on ISE 11.1 WebPack (free at

More information

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0 Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1

More information

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6 ACCESS IC LAB Outline Concepts of Xilinx FPGA Xilinx FPGA Architecture Introduction to ISE Code Generator Constraints

More information

Xilinx ChipScope ICON/VIO/ILA Tutorial

Xilinx ChipScope ICON/VIO/ILA Tutorial Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These

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

Verilog for High Performance

Verilog for High Performance Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes

More information

Chapter 5 Global Timing Constraints. Global Timing Constraints 5-1

Chapter 5 Global Timing Constraints. Global Timing Constraints 5-1 Chapter 5 Global Timing Constraints Global Timing Constraints 5-1 Objectives After completing this module, you will be able to Apply timing constraints to a simple synchronous design Specify global timing

More information

Basic Xilinx Design Capture. Objectives. After completing this module, you will be able to:

Basic Xilinx Design Capture. Objectives. After completing this module, you will be able to: Basic Xilinx Design Capture This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: List various blocksets available in System

More information

ALTERA FPGA Design Using Verilog

ALTERA FPGA Design Using Verilog ALTERA FPGA Design Using Verilog Course Description This course provides all necessary theoretical and practical know-how to design ALTERA FPGA/CPLD using Verilog standard language. The course intention

More information

Vivado Design Suite Tutorial. Design Analysis and Closure Techniques

Vivado Design Suite Tutorial. Design Analysis and Closure Techniques Vivado Design Suite Tutorial 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

Quick Start Guide ZedboardOLED Display Controller IP v1.0

Quick Start Guide ZedboardOLED Display Controller IP v1.0 Quick Start Guide Introduction This document provides instructions to quickly add, connect and use the ZedboardOLED v1.0 IP core. A test application running on an ARM processor system is used to communicate

More information

Vivado Design Suite Tutorial. Designing with IP

Vivado Design Suite Tutorial. Designing with IP Vivado Design Suite Tutorial Designing with IP 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

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

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

Revision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax

Revision: February 27, E Main Suite D Pullman, WA (509) Voice and Fax Xilinx ISE WebPACK Schematic Capture Tutorial Revision: February 27, 2010 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview This tutorial provides instruction for using the Xilinx

More information

Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i

Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i Tutorial: Working with Verilog and the Xilinx FPGA in ISE 9.2i This tutorial will show you how to: Use Verilog to specify a design Simulate that Verilog design Define pin constraints for the FPGA (.ucf

More information

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry EE183 LAB TUTORIAL Introduction You will be using several CAD tools to implement your designs in EE183. The purpose of this lab tutorial is to introduce you to the tools that you will be using, Xilinx

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

Vivado Design Suite Properties Reference Guide. UG912 (v2012.3) November 16, 2012

Vivado Design Suite Properties Reference Guide. UG912 (v2012.3) November 16, 2012 Vivado Design Suite Properties Reference Guide 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

NetFPGA Summer Course

NetFPGA Summer Course NetFPGA Summer Course Presented by: Andrew W Moore, Noa Zilberman, Gianni Antichi Stephen Ibanez, Marcin Wojcik, Jong Hun Han, Salvator Galea, Murali Ramanujam, Jingyun Zhang, Yuta Tokusashi University

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

Altera Technical Training Quartus II Software Design

Altera Technical Training Quartus II Software Design Altera Technical Training Quartus II Software Design Exercises Quartus II Software Design Series: Foundation 2 Quartus II Software Design Series: Foundation Exercises Exercise 1 3 Exercises Quartus II

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