Xilinx-Academy Training 2/12/99 1 Xilinx Academy M1.5i Advanced Implementation Tools Training Rohit Sawhney.

Slides:



Advertisements
Similar presentations
Basic HDL Coding Techniques
Advertisements

Lecture 15 Finite State Machine Implementation
Spartan-3 FPGA HDL Coding Techniques
Chapter 9: Access Control Lists
Basic FPGA Architecture © 2005 Xilinx, Inc. All Rights Reserved For Academic Use Only Virtex-II Architecture Virtex™-II architecture’s core voltage.
© 2003 Xilinx, Inc. All Rights Reserved Architecture Wizard and PACE FPGA Design Flow Workshop Xilinx: new module Xilinx: new module.
XPower for CoolRunner™-II CPLDs
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
Spartan II Features  Plentiful logic and memory resources –15K to 200K system gates (up to 5,292 logic cells) –Up to 57 Kb block RAM storage  Flexible.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi.
VHDL Synthesis in FPGA By Zhonghai Shi February 24, 1998 School of EECS, Ohio University.
Achieving Timing Closure. Achieving Timing Closure - 2 © Copyright 2010 Xilinx Objectives After completing this module, you will be able to:  Describe.
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic: Internal Organization of an FPGA José Nelson Amaral.
Programmable Logic Training Course Custom Options.
Achieving Timing Closure. Objectives After completing this module, you will be able to: Describe a flow for obtaining timing closure Interpret a timing.
Global Timing Constraints. Objectives After completing this module you will be able to… Apply global timing constraints to a simple synchronous design.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
© 2003 Xilinx, Inc. All Rights Reserved Power Estimation.
Module 7: Configuring TCP/IP Addressing and Name Resolution.
Global Timing Constraints FPGA Design Workshop. Objectives  Apply timing constraints to a simple synchronous design  Specify global timing constraints.
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved Global Timing Constraints.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
© 2003 Xilinx, Inc. All Rights Reserved Reading Reports Xilinx: This module was completely redone. Please translate entire module Some pages are the same.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
© 2003 Xilinx, Inc. All Rights Reserved FPGA Design Techniques.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Xilinx Development Software Design Flow on Foundation M1.5
XPower for CoolRunner™ XPLA3 CPLDs. Quick Start Training Overview Design power considerations Power consumption basics of CMOS devices Calculating power.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Tools - Implementation Options - Chapter15 slide 1 FPGA Tools Course Implementation Options.
© 2003 Xilinx, Inc. All Rights Reserved FPGA Editor: Viewing and Editing a Routed Design.
FPGA_Editor Probes. . Probe Overview 2 Adding a Probe : GUI Probes tie an internal signal to an output pin To Launch the GUI: Click the “probes” button.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
© 2003 Xilinx, Inc. All Rights Reserved Synchronous Design Techniques.
Programmable Logic Training Course Project Manager.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
© 2003 Xilinx, Inc. All Rights Reserved Global Timing Constraints FPGA Design Flow Workshop.
Programmable Logic Training Course HDL Editor
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Timing and Constraints “The software is the lens through which the user views the FPGA.” -Bill Carter.
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
Introduction to FPGA Tools
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
This material exempt per Department of Commerce license exception TSU Synchronous Design Techniques.
© 2005 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Implementation Options.
1 Performance Analysis (Clock Signal). 2 Unbalanced delays Logic with unbalanced delays leads to inefficient use of logic: long clock periodshort clock.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Tools - Analyzing your results - Chapter 7 slide 1 Version 1.5 FPGA Tools Course Analyzing your Results.
Ready to Use Programmable Logic Design Solutions.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Introduction to the FPGA and Labs
Time-borrowing platform in the Xilinx UltraScale+ family of FPGAs and MPSoCs Ilya Ganusov, Benjamin Devlin.
ASIC Design Methodology
M1.5 Foundation Tools Xilinx XC9500/XL CPLD
Timing Analysis 11/21/2018.
FPGA Tools Course Basic Constraints
FPGA Tools Course Answers
Xilinx CPLD Fitter Advanced Optimization
Founded in Silicon Valley in 1984
THE ECE 554 XILINX DESIGN PROCESS
The Xilinx Alliance 3.3i software
FPGA Tools Course Timing Analyzer
The Xilinx Alliance 3.3i software
THE ECE 554 XILINX DESIGN PROCESS
Xilinx Alliance Series
Presentation transcript:

Xilinx-Academy Training 2/12/99 1 Xilinx Academy M1.5i Advanced Implementation Tools Training Rohit Sawhney

Xilinx-Academy Training 2/12/99 2 AGENDA  Intro Lab / Demo  M1 Constraints Lab  Map Lab  M1 PAR (Effort Levels and MPPR) —Place and Route Lab / Re-Entrant Routing Lab — Cleanup Routing Lab (optional)  Floorplanner Lab (Area Based Floorplanning - optional)  EPIC Lab (Editing a Design / Adding a Probe Pin - optional)  Timing Improvement Lab  Guide Lab (optional)  Summary

Xilinx-Academy Training 2/12/99 3 M1 Constraints Understanding Timing and Placement Constraints

Xilinx-Academy Training 2/12/99 4 M1 Design Flow XNF/EDIF netlist NGDBUILD Flatten Hierarchical Design MAP Logical to Physical translation Group LUTs and FFs into CLBs TRCE Static Timing Estimates BITGEN Generates configuration file.BIT UCF User Constraints File.NGD.PCF.NCD PAR Layout of Physical Design Routes Physical Design.NCD Optional: Reports block delays

Xilinx-Academy Training 2/12/99 5 What Needs Constraining?  Internal clock speed for one or more clocks  I/O speed  Logic using multi-cycle clocks  Pin to Pin timing  Pin Locations & Logic Locations OUT1 X Y Z OUT2 2 Levels of Logic Clk & CE Speed I/O Speed Pin 2 Pin Speed I/O Speed Pin Locations Logic Locations 1 Level of Logic QDQD CLK

Xilinx-Academy Training 2/12/99 6 Types of constraints supported  Timing Constraints —Specify delay along logic paths —Allows both “quick and dirty” and “highly detailed” timing control  Location Constraints —Specify location of components on FPGA —Specify mapping constraints INST MY_FMAP BLKNM=ABC INST FLOP1 BLKNM=ABC INST FLOP2 BLKNM=ABC

Xilinx-Academy Training 2/12/99 7 Timing Constraints (I) Using PERIOD and OFFSET constraints

Xilinx-Academy Training 2/12/99 8 Period Constraint - Definition PERIOD  PERIOD is the duration of the clock and can be configured to have different duty cycles  Derived clocks can be defined as a function of another clock (*,/)  PERIOD is preferred over other explicit constraints (FROM:TO) ; M1 tools will have a faster runtime. PERIOD should cover most of design.

Xilinx-Academy Training 2/12/99 9  Period : This constraint covers all paths from a PAD to a synchronous element (FF, Latch or synchronous RAM), and paths between synchronous elements which are clocked by the referenced net. ( Every synchronous element is effectively identified by forward propagation.)  It does not cover paths to output pads, but does cover input pads.  What Constraints Editor writes into UCF file:  Single clock designs: NET “CLKA_IN” TNM_NET = “CLKA_IN”; …...( make a group ) TIMESPEC “TS_CLKA_IN” = PERIOD “CLKA_IN” 20 NS HIGH 50; …..( apply PERIOD to the group )  Multiple Related Clock Designs (after CLKB_IN has also been defined ): TIMESPEC “TS_CLKB2CLKA” = FROM “CLKB_IN” TO CLKA_IN” 15 NS; The Period Constraint OUT1 OUT2 QDQD CLK RAM PERIOD=30 G LATCH FLOP Path controlled by PERIOD Forward propagation path

Xilinx-Academy Training 2/12/99 10 The OFFSET IN - ‘BEFORE’ constraint OFFSET = IN 20nS BEFORE CLK CLK UPSTREAM DEVICE FPGA This says, Data will be valid here, 20nS BEFORE the clock arrives here. In other words: “The Data to be registered in the FPGA will be available on the FPGA’s input Pad 20ns BEFORE the clock pulse is seen by the FPGA’s clock pad.” Therefore, the M1 tools will calculate: Maximum_Allowable_Internal_P2S_Delay = OFFSET + internal_CLK_delay. The tools can automatically calculate and control internal data and clock delays to meet TsuFF Tbufg 20ns Data Out of DEV1 on this edge. Data registered in FPGA on this edge. Internal delay Din CLK Valid Designer must ensure that T(clock_period) - 20ns = ext-delay

Xilinx-Academy Training 2/12/99 11 The OFFSET OUT - ‘AFTER’ constraint OFFSET = OUT 22nS AFTER CLK This says, Data will be valid here, 22nS AFTER the clock arrives here !….. In other words: “The Data to be registered in the Downstream Device will be available on the FPGA’s output Pad 22ns AFTER the clock pulse is seen by the FPGA.” (Maximum_Allowable_Internal_Dout_Delay = OFFSET - internal_CLK_delay). 22ns Data Out of FPGA on this edge. Data clocked into DEV2 on this edge. DOWNSTREAM DEVICE FPGA Designer must ensure that T(clock_period) - 22ns = ext-delay ext-delay = sufficient time for external delays involved with meeting DEV2 setup time. Valid

Xilinx-Academy Training 2/12/99 12 Timing Constraints (II) Using FROM:TO and other constraints

Xilinx-Academy Training 2/12/99 13 Timing Path Keywords  Timing constraints are applied to logic paths  Logic paths typically start and stop at pads, registers, latches, and RAM  M1 recognizes the following keywords to define endpoints or time groups: PADS All I/O pads FFS All flip-flops LATCHES All latches RAMS All RAM elements  Keywords can be used globally, and to create design sub-groups

Xilinx-Academy Training 2/12/99 14 Basic Global Timing Constraints ( using the FROM-TO Syntax) UCF TIMESPEC command using default keywords: TIMESPEC TS_C2S=FROM:FFS:TO:FFS:30; TIMESPEC TS_P2S=FROM:PADS:TO:FFS:25; TIMESPEC TS_P2P=FROM:PADS:TO:PADS:26; TIMESPEC TS_C2P=FROM:FFS:TO:PADS:9; TS_C2P TS_C2S TS_P2S TS_P2P OUT1 QDQD CLK OUT2

Xilinx-Academy Training 2/12/99 15 Basic Global Timing Constraints ( using the FROM-TO Syntax) TIMESPEC TS_F2F=FROM:FFS:TO:FFS:30;  The word TIMESPEC defines the type of specification  The Spec’s name must start with “ TS ” any alpha-numeric after TS is fine. Recommendation: Make the name something you will remember later.  FROM: designates the origin of the path  TO: designates the destination of the path  30; in ns by default, is the specification. You can use MHz, or even another time spec like TS_C2S/2 or TS_C2S*2

Xilinx-Academy Training 2/12/99 16 Using TNM to create Groups NET clock TNM=clk_group;  Any Keyword element can be made into a ‘group’ for timing purposes  In this example the net ‘clock’ is traced forward to the two flip-flop (FFS).  These flip-flops are ‘timing-named’ (TNM) with the name ‘clk_group’.  They can now be referenced by this TNM in TIMESPECs OUT1 QDQD CLOCK OUT2

Xilinx-Academy Training 2/12/99 17 Using TNM to create Groups (cont.) NET clock TNM=clk_group;  These timing groups can overlap, meaning a FFS, LATCHES, RAMS, or PADS can belong to multiple groups if necessary to describe your design’s timing  Time constraints are case sensitive (TNM=abc  TNM=ABC) — No longer an issue due to the intro of the Constraints Editor !  Groups are ideal for identifying groups of logic that work at different speeds…….(multi-cycle paths and other slow exceptions).

Xilinx-Academy Training 2/12/99 18 Using TNM_NET to create Groups NET clock TNM_NET=clk_group;  TNM_NET is equivalent to TNM on a net except for pad nets.  In M1.4, when placing a TNM on a pad net, the TNM would locate itself on the pad and not trace forward through the buffer to the next synchronous element. TNM_NET was created for this purpose in M1.5. If you place a TNM_NET on a pad net, it will trace through the buffer to the next synchronous element.  TNM_NET is extremely useful for synthesis designs because the only meaningful net names are the ones directly connected to pads.  Constraints Editor automatically uses the TNM_NET syntax any time it is placing a timing name on a net.

Xilinx-Academy Training 2/12/99 19 Constraining Between Multiple Clock Domains OUT1 QD CLK_A CLK_B D QD QD Q  Define individual clocks (Constraints Editor - Global Tab) —NET “CLK_A” TNM_NET = “CLK_A”; —TIMESPEC “TS_CLK_A” = PERIOD “CLK_A” 20NS HIGH 50; —NET “CLK_B” TNM_NET = “CLK_B”; —TIMESPEC “TS_CLK_B” = PERIOD “CLK_B” TS_CLK_A*2;  Define phase difference between clocks (Constraints Editor - Advanced Tab) — TIMESPEC TS_CLKA2CLKB=FROM “CLK_A” TO “CLK_B” 15NS;

Xilinx-Academy Training 2/12/99 20 Timing Ignore (TIG)  TIG removes paths from analysis —Reduces reports by removing non-critical paths —This reduces the critical paths that PAR must deal with —TIG does change the percentage of connections covered in the timing report statistics

Xilinx-Academy Training 2/12/99 21 Disappearing Groups/ Paths  Empty Groups —Registers getting sucked into IOBs —Elements get trimmed in mapper  No Paths —Covered by another constraint (Priority) —TIG or Path Tracing Control has eliminated the paths

Xilinx-Academy Training 2/12/99 22 Timing Constraint Priority  Within a particular source: — Highest PriorityTiming ignores ( TIG ) FROM:THRU:TO specs Source and destination defined by user Source or destination defined by user Source and destination are pre-fined groups FROM:TO specs Source and destination defined by user Source or destination defined by user Source and destination are pre-fined groups PERIOD specs — Lowest Priority — Note: OFFSET does not override and cannot be overridden. This will be addressed for M2.1i.

Xilinx-Academy Training 2/12/99 23 M1.5i Constraints Editor

Xilinx-Academy Training 2/12/99 24 Flow NGO EDNNCF EDIF2NGD NGDBUILD EDNNCF EDIF2NGD NGO UCF NGD MAP CONSTRAINTS EDITOR

Xilinx-Academy Training 2/12/99 25 DM/FE and CE

Xilinx-Academy Training 2/12/99 26  Guides user to the best constraint methodology  Eliminates need for user knowledge of syntax  Reduces need for user knowledge of nets and components of the design Graphical Constraints Editor

Xilinx-Academy Training 2/12/99 27 Graphical Constraints Editor Three Easy Tabs!  Global Tab —Automatically displays every clock in the design —Simple entry of clock periods, setup times, and clock-to- pad  Ports Tab —Displays all I/O pins for the design —Simple entry of pin locations, setup, clock-to-pad  Advanced Tab —Enter more detailed constraints here —Create groups, use them in FROM:TO specs  Constraints Window at bottom displays UCF syntax —Editable and Read-Only Tabs —Can view, disable, and delete constraints

Xilinx-Academy Training 2/12/99 28 Global Tab

Xilinx-Academy Training 2/12/99 29 Ports Tab

Xilinx-Academy Training 2/12/99 30 AGENDA Intro Lab / Demo  M1 Constraints Lab  Map Lab  M1 PAR (Effort Levels and MPPR) —Place and Route Lab / Re-Entrant Routing Lab — Cleanup Routing Lab (optional)  Floorplanner Lab (Area Based Floorplanning - optional)  EPIC Lab (Editing a Design / Adding a Probe Pin - optional)  Timing Improvement Lab  Guide Lab (optional)  Summary

Xilinx-Academy Training 2/12/99 31 M1 PAR Effort Levels and MPPR

Xilinx-Academy Training 2/12/99 32 Example 1 MPPR Clock Period Distribution Median: 24.1ns Min: 22.7ns Max:26.6ns Design: bdes2 4010XL

Xilinx-Academy Training 2/12/99 33 Example 1 MPPR Performance and Timing Errors Design: bdes2 4010XL

Xilinx-Academy Training 2/12/99 34 Example 2 MPPR Clock Period Distribution Median: 30.0ns Min: 28.2ns Max:32.2ns Design: txr 4020XL

Xilinx-Academy Training 2/12/99 35 Example 3 MPPR Clock Period Distribution Median: 21.9ns Min: 19.6ns Max:28.4ns Design: mtpp 4013XL

Xilinx-Academy Training 2/12/99 36 Running Fewer Cost Tables Fewer cost tables have a smaller distribution but still useful to estimate performance potential.

Xilinx-Academy Training 2/12/99 37  Realized circuit performance is a random, “bell- shaped” distribution  Even running a limited set of cost tables is useful. —Covers enough of distribution to allow good prediction of ultimate performance potential  Impossible to predict which cost-table is best  MPPR is an advanced option; follow guidelines: —Don’t attempt on your 1st rev....only when design is about 95% complete —Push the limits (good placement->good routing->better timing results) MPPR Performance

Xilinx-Academy Training 2/12/99 38 M1.5i Floorplanner Training Lab

Xilinx-Academy Training 2/12/99 39 Training Lab Agenda  Understand basic floorplanner flow within M1  Look at “traditional” BEL-level floorplanning in a more realistic, datapath oriented design  Learn about what characteristics make a design a good candidate for floorplanning  Advanced: Area-Based Floorplanning

Xilinx-Academy Training 2/12/99 40 Device / Platform Support  Supported Devices: —All 4K families (E, EX, XL, XV, Spartan) —3K, 5K, and Virtex are not supported  Supported Platforms —Windows NT, Win95 —Solaris 2.5.x —HP

Xilinx-Academy Training 2/12/99 41 Invoking the Floorplanner After selecting a particular revision, the Floorplanner can be invoked two ways: Tools->Floorplanner Click on the Floorplanner icon in the toolbar.

Xilinx-Academy Training 2/12/99 42 The Floorplanner / M1 Interface  Input Files: NGD, NCD  Output Files: — FNF : The actual floorplan - constraints and design hierarchy — MFP : Constraints file to control both packing and placement - used as input to mapper.

Xilinx-Academy Training 2/12/99 43 M1.5i Floorplanner Interface Diagram ngdbuild design.ngd map ngd2fnf design.ncd ncd2fnf design.fnf M1.4 FPLAN GUI map -fp design.ncd design.pcf par Floorplanner GUI design.ngd design.fnf design.ngd design.mfp

Xilinx-Academy Training 2/12/99 44 Floorplanner GUI design.fnf M1.5i Floorplanner *Preferred Flow* ngdbuild design.ngd map design.ncd map -fp design.ncd design.pcf par design.ngd design.mfp par design_p.ncd File->New Design: design ngd: design.ngd ncd: design_p.ncd fnf:

Xilinx-Academy Training 2/12/99 45 AGENDA

Xilinx-Academy Training 2/12/99 46  Most appropriate for schematic designs —Low success rate for synthesis designs  Use leverage mode  Use guide PAR alone (not guided MAP) to reduce runtime.  Guide design must be “good”: —Meets timing —I/O locations are satisfactory Guide Lab Simple Rules for Guide

Xilinx-Academy Training 2/12/99 47 Summary  Constraints Editor —Global, Ports, and Advanced Tabs allow for easy entry of design constraints  Place and Route —Time well spent in placement pays off in routing. —Improve timing by increasing effort levels —Push the limits % spread in performance with MPPR  Timing Analysis —Understand what to expect from the tools —Identify when to modify the design source –Reduce Logic Levels (Logic-to-Routing Ratio) –Long net delays (bad pin assignments?) –High fanout nets

Xilinx-Academy Training 2/12/99 48 AGENDA

Xilinx-Academy Training 2/12/99 49 Useful References  Refer to Chapter 12 (Attributes, Constraints and Carry Logic) of the Xilinx Libraries Guide for a full list of all supported constraints and examples of syntax  What else is new in M1.5/i ? Take a look at the Xilinx Implementation Tools Release 1.5 Features Application Note: —  Support.xilinx.com — Troubleshoot - Answers Database — Software - Software Updates (patches) — Library - Expert Journals (ex - Timing Presentation)/ App Notes/ Software Manuals/ Tutorials

Xilinx-Academy Training 2/12/99 50

Xilinx-Academy Training 2/12/99 51