Timing Issues in FPGA Synchronous Circuit Design

Similar documents
INF3430 Clock and Synchronization

EITF35: Introduction to Structured VLSI Design

ECE 2300 Digital Logic & Computer Organization

ENGIN 112 Intro to Electrical and Computer Engineering

The Need for Gate-Level CDC

ENEE 359a Digital VLSI Design

CS/EE Homework 9 Solutions

1 Q' 3. You are given a sequential circuit that has the following circuit to compute the next state:

Static Timing Overview with intro to FPGAs. Prof. MacDonald

Mohit Arora. The Art of Hardware Architecture. Design Methods and Techniques. for Digital Circuits. Springer

Timing analysis can be done right after synthesis. But it can only be accurately done when layout is available

Lecture 9: Clocking for High Performance Processors

Digital design & Embedded systems

Managing Metastability with the Quartus II Software

DFT for Testing High-Performance Pipelined Circuits with Slow-Speed Testers

Lecture #2 Solving the Interconnect Problems in VLSI

CHAPTER III THE FPGA IMPLEMENTATION OF PULSE WIDTH MODULATION

ECE 551: Digital System Design & Synthesis

Implementing Multipliers with Actel FPGAs

Metastability. 1

Course Summary. 3213: Digital Systems & Microprocessors: L#14_15

ECEN 720 High-Speed Links Circuits and Systems

Lecture 19: Design for Skew

Digital Systems Design

EDA Challenges for Low Power Design. Anand Iyer, Cadence Design Systems

ECEN 720 High-Speed Links: Circuits and Systems

EECS150 - Digital Design Lecture 15 - CMOS Implementation Technologies. Overview of Physical Implementations

EECS150 - Digital Design Lecture 9 - CMOS Implementation Technologies

Digital Design and System Implementation. Overview of Physical Implementations

CHAPTER 4 GALS ARCHITECTURE

We ve looked at timing issues in combinational logic Let s now examine timing issues we must deal with in sequential circuits

SIMMAT A Metastability Analysis Tool

Lecture 3, Handouts Page 1. Introduction. EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Simulation Techniques.

64-Macrocell MAX EPLD

EE 42/100 Lecture 24: Latches and Flip Flops. Rev A 4/14/2010 (8:30 PM) Prof. Ali M. Niknejad

In this lecture, we will first examine practical digital signals. Then we will discuss the timing constraints in digital systems.

EECS150 - Digital Design Lecture 28 Course Wrap Up. Recap 1

A HIGH PERFORMANCE LOW POWER MESOCHRONOUS PIPELINE ARCHITECTURE FOR COMPUTER SYSTEMS

Design of a Restartable Clock Generator for Use in GALS SoCs

EECS150 - Digital Design Lecture 2 - CMOS

! Review: Sequential MOS Logic. " SR Latch. " D-Latch. ! Timing Hazards. ! Dynamic Logic. " Domino Logic. ! Charge Sharing Setup.

CPE/EE 427, CPE 527 VLSI Design I: Homeworks 3 & 4

DLL Based Frequency Multiplier

Programmable Interconnect. CPE/EE 428, CPE 528: Session #13. Actel Programmable Interconnect. Actel Programmable Interconnect

ICS2510C. 3.3V Phase-Lock Loop Clock Driver. Integrated Circuit Systems, Inc. General Description. Pin Configuration.

R Using the Virtex Delay-Locked Loop

Module -18 Flip flops

Digital Systems Design

Geared Oscillator Project Final Design Review. Nick Edwards Richard Wright

VLSI Design Verification and Test Delay Faults II CMPE 646

VLSI Design: Challenges and Promise

Interconnect/Via CONCORDIA VLSI DESIGN LAB

A Digital Clock Multiplier for Globally Asynchronous Locally Synchronous Designs

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING SEMESTER TWO EXAMINATION 2017/2018

EECS150 - Digital Design Lecture 19 CMOS Implementation Technologies. Recap and Outline

ECE380 Digital Logic

Advanced Digital Design

Basic Logic Circuits

Lecture 1. Tinoosh Mohsenin

Pulse propagation for the detection of small delay defects

CMOS Digital Integrated Circuits Lec 11 Sequential CMOS Logic Circuits

74F50729 Synchronizing dual D-type flip-flop with edge-triggered set and reset with metastable immune characteristics

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

2009 Spring CS211 Digital Systems & Lab 1 CHAPTER 3: TECHNOLOGY (PART 2)

DIGITAL INTEGRATED CIRCUITS A DESIGN PERSPECTIVE 2 N D E D I T I O N

VLSI Design 11. Sequential Elements

Lecture 11: Clocking

2014 Paper E2.1: Digital Electronics II

A LOW POWER SINGLE PHASE CLOCK DISTRIBUTION USING 4/5 PRESCALER TECHNIQUE

DYNAMICALLY RECONFIGURABLE PWM CONTROLLER FOR THREE PHASE VOLTAGE SOURCE INVERTERS. In this Chapter the SPWM and SVPWM controllers are designed and

Technology Timeline. Transistors ICs (General) SRAMs & DRAMs Microprocessors SPLDs CPLDs ASICs. FPGAs. The Design Warrior s Guide to.

CMOS Digital Integrated Circuits Analysis and Design

Towards PVT-Tolerant Glitch-Free Operation in FPGAs

logic system Outputs The addition of feedback means that the state of the circuit may change with time; it is sequential. logic system Outputs

Outline. EECS Components and Design Techniques for Digital Systems. Lec 12 - Timing. General Model of Synchronous Circuit

74F5074 Synchronizing dual D-type flip-flop/clock driver

EFFICIENT FPGA IMPLEMENTATION OF 2 ND ORDER DIGITAL CONTROLLERS USING MATLAB/SIMULINK

Managing Cross-talk Noise

EE 434 ASIC and Digital Systems. Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University.

1/19/2012. Timing in Asynchronous Circuits

FPGA Circuits. na A simple FPGA model. nfull-adder realization

Lecture 4&5 CMOS Circuits

CSE241 VLSI Digital Circuits Winter Lecture 06: Timing

PROGRAMMABLE ASICs. Antifuse SRAM EPROM

An Optimized Design for Parallel MAC based on Radix-4 MBA

(VE2: Verilog HDL) Software Development & Education Center

Machine Learning for Next Generation EDA. Paul Franzon, NCSU (Site Director) Cirrus Logic Distinguished Professor Director of Graduate Programs

University of Toronto Faculty of Applied Science and Engineering. Digital Electronics. Winter Final Exam. Instructor: R.

XC2C32 CoolRunner-II CPLD

Asynchronous Pipeline Controller Based on Early Acknowledgement Protocol

Arria V Timing Optimization Guidelines

XC3000A Field Programmable Gate Arrays. Features. Description

Wave Pipelined Circuit with Self Tuning for Clock Skew and Clock Period Using BIST Approach

Department of Electrical and Computer Systems Engineering

FILTER_0/Prog. Delay Combination Function Macrocells Pin 3 GPIO RC Oscillator. 2-bit LUT2_0 or DFF0. 3bit LUT3_0 or DFF2

64/256/512/1K/2K/4K/8K x 9 Synchronous FIFOs

Signal Integrity Management in an SoC Physical Design Flow

PRESENTATION OF THE PROJECTX-FINAL LEVEL 1.

FPGA Based System Design

Gomoku Player Design

Transcription:

ECE 428 Programmable ASIC Design Timing Issues in FPGA Synchronous Circuit Design Haibo Wang ECE Department Southern Illinois University Carbondale, IL 62901 1-1

FPGA Design Flow Schematic capture HDL coding Design Entry Function Simulation Implementation Synthesis, Technology mapping placement and routing Timing Verification Download 1-2

Introduction to Synchronous Circuits What are synchronous circuits? In synchronous circuits, latching data in to memory elements (D flip-flops) are synchronized by a number of clocks. CLK Comb. Comb. Why synchronous design? Well developed design methodologies Easy to design, debug, and testing Currently, most ASICs are synchronous circuits 1-3

D Flip-Flop Timing Parameters D Q CLK CLK D t S setup time t H hold time Q t clk Q clock to Q propagation delay 1-4

Critical Path in Combinational Circuits Critical path Critical Path: The signal path that has the longest propagation delay Assume that each gate has the same delay d The delay of the critical path in the above circuit is 3 d 1-5

Determine Maximum Clock Frequency clk Comb. Comb. Logic 1 Logic 2 The delays of the critical paths in comb. 1 and comb. Logic 2 are d1 and d2, respectively. In addition, d1>d2 Minimum clock period T = t CLK Q + d1 + t S T t CLK Q d1 t S 1-6

Slow Combinational Logic Clock period is selected. The propagation delay of Comb. Logic 2 is too large Comb. Comb. Logic 1 Logic 2 clk T t CLK Q d1 t S Set-up time violation 1-7

Too Fast Combinational Logic Clock period is selected. The propagation delay of Comb. Logic 2 is too small Comb. Comb. Logic 1 Logic 2 clk T hold Old Data Old Data New Data New Data Timing to guarantee correct data latched in t CLK Q d1 Hold time violation 1-8

Clock Skew Due to interconnect delay, the same clock signal may switch at different time depending on the distance from the clock source. This effect is called clock skew. Comb. Comb. Logic 1 Logic 2 3ns clk1 1ns clk2 2ns CLK Propagation delay caused by interconnect clk1 clk2 clk1 clk2 t CLK Q d1 t S t CLK Q d1 ts Setup time Signal propagation Without clock skew Signal propagation With clock skew violation 1-9

Clock Skew Comb. Comb. Logic 1 Logic 2 1ns clk1 5ns clk2 2ns CLK Propagation delay caused by interconnect clk1 clk2 clk1 clk2 t hold t hold t CLK Q dl t CLK Q dl With clock skew Without clock skew Hold time violation 1-10

Techniques to Reduce Clock Skew Use global buffers to distribute clock signals to minimize clock skew. Modern FPGAs normally contain dedicated buffers (global buffers) to distribute clock signals around FPGA chips. The global buffers are connected through specially balanced routing resources to minimize clock skew. Use symbol BUFG to indicate the use of global buffers in schematic entry. Most synthesis tools can automatically use global buffers for clock signals In latest FPGAs, more sophisticated circuit techniques, such as Phase-Locked Loop (PLL), are used to minimize clock skew. 1-11

Timing Constraints in Synchronous Circuits Shortest path t ds Longest path t dl t sk clock To avoid setup time violation clk > Q To avoid hold time violation t + t + t T + t clk > Q dl ds setup hold clk t + t t + t sk sk 1-12

Techniques to Avoid Timing Violations Insert delay elements on clock path to avoid setup time violations data Comb. Logic clock Insert delay elements on data path to avoid hold time violations data Comb. Logic clock 1-13

Specifying Timing Constraints in ASIC Design Timing constraints are used to specify delay of circuit paths The end points of paths can be D flip-flops, Latches, Input or Output pads, and Memories Path from IPAD to Path between S Path from to OPAD IPAD FF FF OPAD IPAD IPAD OPAD Path from IPAD to OPAD 1-14

Period Constraint Period constraints specify delay of paths between synchronous elements that are clocked by the same clock Period constraint is also called register-to-register delay Synchronous elements include D flip-flops, latches, and synchronous Rams In the following example, the period constraint specify delay of a path between two D flip-flops Path between S IPAD FF FF OPAD IPAD IPAD OPAD The delay of the path t dl < T - t CLK Q - t S 1-15

Offset Constraint Offset constraints specify delays of paths: From input pads to synchronous elements. The constraints for this type paths are called as offset in constraints. For the input paths, external setup time and external hold time have to be considered From synchronous elements to output pads. The constraints for this type paths are called as offset out constraints. Offset In Constraints Offset Out Constraints IPAD FF FF OPAD IPAD 1-16

External Setup Time t DATA t S : setup time IPAD FF FF OPAD IPAD t CLK Worst case setup time for input occurs when input is DELAYED relative to CLK. Means clock edge arrives early, requiring input to be ready sooner. External setup time = t S + t DATA (max) t CLK (min) 1-17

External Hold Time t DATA t H : hold time IPAD FF FF OPAD IPAD t CLK Worst case hold time for input occurs when CLK is DELAYED relative to input. Means clock edge arrives late, requiring input to hold its value longer. External hold time = t H + t CLK (max) t DATA (min) 1-18

Pad-to-Pad Time Constraint IPAD FF FF OPAD IPAD IPAD Pad-to-Pad time constraint OPAD It specifies delays for paths that are from input pads to output pads Purely combinatorial delay paths do not contain any synchronous elements 1-19

Specifying Time Constraints in Xilinx Tools Example circuit A B O clk 1-20

Specifying Time Constraints in Xilinx Tools 1-21

Report from Static Timing Analysis Asterisk (*) preceding a constraint indicates it was not met. This may be due to a setup or hold violation. -------------------------------------------------------------------------------------------------------- Constraint Requested Actual Logic Levels -------------------------------------------------------------------------------------------------------- TS_CLK = PERIOD TIMEGRP "CLK" 20 ns HI 20.000ns 3.568ns 1 GH 50.000000 % -------------------------------------------------------------------------------------------------------- COMP "A" OFFSET = IN 10 ns BEFORE COMP " 10.000ns 1.788ns 2 CLK" ------------------------------------------------------------------------------------------------------- * COMP "B" OFFSET = IN 1000 ps BEFORE COMP 1.000ns 1.334ns 2 "CLK" ------------------------------------------------------------------------------------------------------ COMP "O" OFFSET = OUT 10 ns AFTER COMP " 10.000ns 9.352ns 1 CLK" ------------------------------------------------------------------------------------------------------- 1-22

Flow for Achieving Timing Closure Design Entry Schematic capture HDL coding Modify circuit or HDL coding style Implementation Increase P&R effort level Timing Verification Done Yes Meet timing Constraints? No Are constraints realistic? 1-23

What Affect Circuit Timing Performance Environmental factors Commercial Products are expected to work in the following environment Supply voltage varies 10% Temperature from 0 to 85 C Fast Corner (circuits have small delay) Supply voltage: V DD + V DD 10%; Temperature: 0 C Slow Corner (circuits have large delay) Supply voltage: V DD -V DD 10%; Temperature: 85 C Perform timing analysis at fast corner to check hold time violations and perform timing analysis at slow corner to check setup time violations 1-24

What Else Affect Circuit Timing Performance Process variations NFET (fast, slow, typical) PFET (fast, slow, typical) Interconnect (fast, slow, typical) Due to process variations and other factors, including operating voltage, circuit design, etc, devices from the same family can achieve different operating speeds: Source: www.xilinx.com 1-25

Example on Calculating Timing Parameters Calculate timing parameters 1-26

Calculating Timing Parameters Maximum register to register delay U2 Tc2q + U3 Tpd + U1 Tsu= 5 + 8 + 3 = 16 ns. External setup time Tsu + A2D Tpd max - Clk Tpd min = 3 + (8 + 1) - 2 = 10 ns External hold time Thd + Clk Tpd max - A2D Tpd min = 4 + 2 - (7 + 1) = -2 ns Clock to Out Delay U8 Tpd + U2 Tc2q + U5 Tpd + U6 Tpd = 2 + 5 + 9 + 6 = 22 ns Pad to pad Delay U7 Tpd + U5 Tpd + U6 Tpd = = 1 + 9 + 6 = 16 ns 1-27

Interface with Asynchronous Inputs Asynchronous signal FF Q1 FF Q2 CLK Synchronous circuit Asynchr. Signal 1 0 Undefined region CLK Q1 Metastable state 1 0 If the asynchr. input is in undefined region when the latches it, the output will be possibly in metastable state. The output will eventually settle to 1 or 0. However, this process must complete with a certain period. Otherwise, it will be a failure. 1-28

Potential Problems of Metastability Due to metastability, the same signal may be treated as having different values in different part of the circuit 1-29

Metastability Analysis Mean Time Between Failure: MTBF MTBF = T 0 in tr τ e f f clock Where, 1. t r is metastability resolution time, maximum time the output can remain metastable without causing synchronizer failure. 2. T 0 and τ are constants that depend on the electrical characteristics of the flip-flop. 3. f in is the frequency of the asynchronous input 4. f clock is the frequency of the sampling clock 1-30

Increasing MTBF Mean Time Between Failure: MTBF Asynchronous signal D Q D Q Synchronizer Synchronous circuit CLK The use of synchronizer can significantly reduce Main-Time-Between-Failure (MTBF) 1-31

ASIC with Multiple Clock Domains A group of circuits that are clocked by the same signal is referred to as a clock domain Clock domain 1 ADATA FLOP D Q FLOP D Q FLOP D Q OUT1 CLK1 BUFG FLOP Clock domain 2 FLOP BUS [7..0] D Q D Q OUT2 CLK2 CDATA = Combinatorial Logic 1-32

Communication Between Different Clock Domains Methods for different clock domain communication Using synchronizer Using FIFO Using handshaking protocols Synchronizer clk2 Clock domain 1 Clock domain 2 FIFO Handshaking 1-33