Achieving Timing Closure in ALTERA FPGAs

Similar documents
קורס Achieving Timing Closure in ALTERA FPGAs

TimeQuest User Guide

Intel Quartus Prime Timing Analyzer Cookbook

Static Timing Analysis for Nanometer Designs

9. Synopsys PrimeTime Support

Using the Quartus II Chip Editor

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8

FPGA Development for Radar, Radio-Astronomy and Communications

TKK S ASIC-PIIRIEN SUUNNITTELU

CHAPTER 3 EXPERIMENTAL SETUP

FPGA TechNote: Asynchronous signals and Metastability

DE2-115/FGPA README. 1. Running the DE2-115 for basic operation. 2. The code/project files. Project Files

Using SignalTap II in the Quartus II Software

Laboratory 4. Figure 1: Serdes Transceiver

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

Static Timing Analysis for Nanometer Designs. A Practical Approach

T1 Deframer. LogiCORE Facts. Features. Applications. General Description. Core Specifics

Implementing Audio IP in SDI II on Arria V Development Board

DEDICATED TO EMBEDDED SOLUTIONS

Scan. This is a sample of the first 15 pages of the Scan chapter.

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Using on-chip Test Pattern Compression for Full Scan SoC Designs

CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits. Sequencing

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Digital Blocks Semiconductor IP

FPGA Design. Part I - Hardware Components. Thomas Lenzi


Lecture 10: Sequential Circuits

DC Ultra. Concurrent Timing, Area, Power and Test Optimization. Overview

Level and edge-sensitive behaviour

Cyclone II EPC35. M4K = memory IOE = Input Output Elements PLL = Phase Locked Loop

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

Synchronization Issues During Encoder / Decoder Tests

EE178 Spring 2018 Lecture Module 5. Eric Crabill

2.6 Reset Design Strategy

Single Channel LVDS Tx

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic. Prof. Sherief Reda School of Engineering, Brown University Fall 2014

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

TSIU03: Lab 3 - VGA. Petter Källström, Mario Garrido. September 10, 2018

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity.

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

At-speed Testing of SOC ICs

Lecture #4: Clocking in Synchronous Circuits

LOW POWER DIGITAL EQUALIZATION FOR HIGH SPEED SERDES. Masum Hossain University of Alberta

Lecture 11: Sequential Circuit Design

11. Sequential Elements

Innovative Fast Timing Design

Altera JESD204B IP Core and ADI AD9144 Hardware Checkout Report

Quad ADC EV10AQ190A Synchronization of Multiple ADCs

EEM Digital Systems II

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

ECEN454 Digital Integrated Circuit Design. Sequential Circuits. Sequencing. Output depends on current inputs

2. Logic Elements and Logic Array Blocks in the Cyclone III Device Family

Sub-LVDS-to-Parallel Sensor Bridge

VARIABLE FREQUENCY CLOCKING HARDWARE

High Performance Microprocessor Design and Automation: Overview, Challenges and Opportunities IBM Corporation

Good afternoon! My name is Swetha Mettala Gilla you can call me Swetha.

HOLITA HDLC Core: Datasheet

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

4. Formal Equivalence Checking

TV Synchronism Generation with PIC Microcontroller

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

OpenXLR8: How to Load Custom FPGA Blocks

AN-822 APPLICATION NOTE

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

Remote Diagnostics and Upgrades

More Digital Circuits

Synchronous Sequential Design

Agilent Technologies. N5106A PXB MIMO Receiver Tester. Error Messages. Agilent Technologies

Clocking Spring /18/05

Solutions to Embedded System Design Challenges Part II

SignalTap Analysis in the Quartus II Software Version 2.0

EE273 Lecture 11 Pipelined Timing Closed-Loop Timing November 2, Today s Assignment

SDI Audio IP Cores User Guide

Asynchronous inputs. 9 - Metastability and Clock Recovery. A simple synchronizer. Only one synchronizer per input

Electrical and Telecommunications Engineering Technology_TCET3122/TC520. NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York

Lecture 23 Design for Testability (DFT): Full-Scan

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Synchronous Timing. Latch Parameters. Class Material. Homework #8 due next Tuesday

Altera JESD204B IP Core and ADI AD6676 Hardware Checkout Report

AN-605 APPLICATION NOTE

LogiCORE IP Video Timing Controller v3.0

SoC Design Flow from DFT Engineers angle

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005

Last time, we saw how latches can be used as memory in a circuit

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

AN 823: Intel FPGA JESD204B IP Core and ADI AD9625 Hardware Checkout Report for Intel Stratix 10 Devices

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers

Simulation Mismatches Can Foul Up Test-Pattern Verification

cascading flip-flops for proper operation clock skew Hardware description languages and sequential logic

FSM Cookbook. 1. Introduction. 2. What Functional Information Must be Modeled

Saving time & money with JTAG

Metastability Analysis of Synchronizer

Sequential Circuit Design: Part 1

Lecture 23 Design for Testability (DFT): Full-Scan (chapter14)

Clock - key to synchronous systems. Topic 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

Clock - key to synchronous systems. Lecture 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

Digital Blocks Semiconductor IP

Adding Analog and Mixed Signal Concerns to a Digital VLSI Course

Transcription:

Achieving Timing Closure in ALTERA FPGAs Course Description This course provides all necessary theoretical and practical know-how to write system timing constraints for variety designs in ALTERA FPGAs. The course goes into great depth and touches upon every aspect of timing constraints for high frequency, I/Os, area, power, timing analysis, timing problems, as well as timing exceptions. The course begins with static timing analysis flow, continues with methods to write timing constraints into an SDC file, write test-benches and run them in the simulator post place & route. The course also covers timing analysis methodology, and how to achieve timing closure. In addition, the course embeds complex timing constraints examples such as DDR memory, Analog to digital converter, SERDES, source synchronous, multiple clock domains, IPs. The course ends with teaching of how to generate advanced reports, analyze variety problems and solve them via RTL code and Quartus II software. The course combines 50% theory with 50% practical work in every meeting. The practical labs cover most of the theory and also include practical digital design. Course Duration 4 days

Goals 1. Become familiar with the design process using TimeQuest 2. Generate SDC file and reports 3. Become familiar with TimeQuest terms and terminology 4. Write clock constraints 5. Write I/Os constraints 6. Write asynchronous signals constraints 7. Write multi-cycle and false path constraints 8. Write DDR and high-speed interfaces constraints 9. Optimize frequency, area and power with Quartus II tools 10. Analyze timing problems and solve them in a teamwork Intended Users Hardware engineers who develop FPGAs and would like to enhance their skills, in order to acquire better expertise with TimeQuest, and be able to write constraints for advanced interfaces Previous Knowledge FPGA design, VHDL/Verilog, ModelSim Course Material 1. Synthesizer and Place & Route: Quartus II (ALTERA) 2. Course book (including labs)

Table of Contents Day #1 Introduction to Timing Analysis o TimeQuest tool overview o Basic steps to using TimeQuest (generate timing netlist, enter SDC constraints, update timing netlist, generate timing reports) o Using TimeQuest in Quartus II flow o Timing analysis basics (Launch Vs Latch edges, setup and hold times, data and clock arrival time, data required time, setup and hold slack analysis, I/O analysis, recovery and removal, timing models) Timing Reports o Reporting in Quartus II Vs reporting in TimeQuest o Custom, summary and diagnostic reports o Clock transfer, datasheet, Fmax reports o Slack histogram report o Detailed slack/path report, further path analysis Introduction to Timing Constraints o Importance of constraining o Enter constraints o SDC netlist terminology o Collections SDC Timing Constraints o Internal and virtual clocks o Generated clocks (inverted clocks, phase shifted clocks o PLL clocks and derive_pll_clocks Altera SDC extension o Automatic clock detection and creation o Non ideal clock constraints (Jitter, latency on PCB) o Common clock path pessimism removal o Checking clock constraints o Report clocks

Day #2 SDC Timing Constraints for I/O o Combinational I/O interface constraints (max & min delay constraints) o Synchronous inputs constraints (setup and hold time calculations, set_input_delay max & min, set_output_delay min& max, when to use each constraint, output pin load, signal integrity metrices) o Source synchronous interface constraints (SDR Source synchronous input center aligned, using SDC with source synchronous input, SDR source synchronous output center aligned, source synchronous edge aligned) o Checking I/O constraints (report SDC, report unconstrained path, report ignored constraint) Asynchronous Path Constraints o Asynchronous path definition o TimeQuest and asynchronous ports o Recovery and removal constraints o Externally registered asynchronous paths constraints o Internally registered asynchronous paths constraints o Checking and reporting asynchronous control constraints o Truly asynchronous control inputs o The problem with latches Timing exception o False path constraints (logic based, timing based, set_clock_groups and set_false_path commands, clock mux constraints, synchronizers constraints, FIFO constraints) o Verifying false paths and groups o Multicycle path constraints (multicycle types, multicycle setup and hold, multicycle with and without enable signal, positive clock phase shift or offset, source clock at higher frequency) o Reporting multicycles o Absolute and annotated delays constraints

Day #3 Application Constraints o Reset synchronizer constraints & reporting o Externally switched clocks constraints o PLL clock switchover constraints o Multiple virtual clocks in I/O constraints o I/O timing requirements Tsetup, Tco, Th o JTAG signals constraints o Tri-state outputs constraints o Input and output delays with multiple clocks o High performance FPGA PLL analysis with TimeQuest o LVDS SERDES constraints (TCCS and RSKM) o Analyzing timing of external memory (DDR,DDR2,DDR3) o ADC constraints Day #4 Achieving Timing Closure o Frequency problems & solutions (long combinational path, fanout, place & route issues, global signals, synchronous vs asynchronous generated signals, pipeline) o Clock domain problems (where to place and constrain the synchronizers) o I/O problems (I/O registers, lock the delay chain settings for I/O cells, PLL shifting to meet I/O timing, slew rate) Achieving Timing Closure in Team Based Designs o Design partitioning with incremental compilation & LogicLock o Hierarchical design rules o Design space explorer o Floorplanning assignments o ECO (Engineering Change Order) o Missing timing constraints o Conflicting timing constraints o Overly restrictive location constraints