0% found this document useful (0 votes)
176 views15 pages

Timing Issues in Circuits

This document discusses timing issues in sequential circuits, including setup and hold time constraints, clock period analysis, and dealing with metastability. It covers implications of setup and hold times, input timing constraints, timing analysis procedures, examples of timing analysis from synthesis tools, and considerations for combining multiple circuits. The key topics are setup and hold time constraints, clock period analysis, and timing analysis methodologies.

Uploaded by

Niloy Roy
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
176 views15 pages

Timing Issues in Circuits

This document discusses timing issues in sequential circuits, including setup and hold time constraints, clock period analysis, and dealing with metastability. It covers implications of setup and hold times, input timing constraints, timing analysis procedures, examples of timing analysis from synthesis tools, and considerations for combining multiple circuits. The key topics are setup and hold time constraints, clock period analysis, and timing analysis methodologies.

Uploaded by

Niloy Roy
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

7.

Timing Issues in Circuits

„ Setup and hold time constraints


„ Input timing constraints
„ Clock period analysis
„ Metastability and synchronizer reliability

Jon Turner

1
Edge-Triggered D Flip Flop
„ D flip flop stores value at D
input when clock rises D Q

„ Most widely used storage >C Q′


element for sequential circuits
„ Propagation time is time from setup
C
rising clock to output change hold
D
„ If input changes when clock Q
rises, new value is uncertain min, max propagation delay
» output may oscillate or may remain
at intermediate voltage
(metastability)
„ Timing rules to avoid metastability
» D input must be stable for setup time before rising clock edge
» must remain stable for hold time following rising clock edge 7-2

2
Implications of Setup Time Constraints
combinational period
x circuit path
D Q clk
y D Q flip flop prop. delay
>C Q′ x
>C Q′ comb. circuit delay
clock y
source
setup time

„ To avoid setup time violations, require


period ≥ (max FF prop. delay) + (max comb. circuit delay)
+ FF setup time + (max clock skew)
„ CAD tools can check all FF-to-FF paths to verify
» both component delays and wiring delays matter
» accurate estimate requires component locations and
information about routing of wires
7-3

3
Implications of Hold Time Constraints
combinational hold time
x circuit path
D Q clk
y D Q ff delay
>C Q′ x
>C Q′ cc delay
clock y
source

„ To avoid setup time violations, require


hold time ≤ (min FF prop. delay)
+ (min comb. circuit delay) – (max clock skew)
„ CAD tools can check all FF-to-FF paths to verify
„ In FGPAs, it is often the case that
» hold time < (min FF prop. delay) – (max clock skew)
so hold time violations cannot occur 7-4

4
Input Timing

y D Q
clk
x max setup hold
delay path >C
y,z stable
max delay
min
zD Q min delay
delay path
x stable
clock >C

„ Setup and hold times constrain when inputs to a


circuit can change
» stable period starts at clock – (setup + max delay)
» and lasts until clock + hold – (min delay)
» Common simplification is to hold input stable from
clock – (setup + max delay) until clock
7-5

5
Timing Analysis Procedure
1. Check for internal hold time violations
» for every ff-to-ff path, check
(minimum ff prop. delay) + (minimum comb. circuit delay)
> (hold time) + (clock skew) omit skew for paths from
» fix violations by adding delay output to input of same ff.
» no violations possible if hold-time<(min-ff-prop-delay)–skew
2. Determine minimum clock period
» find ff-to-ff path with largest value of
(maximum ff prop. delay) + (maximum comb. circuit delay)
+ (setup time) + (clock skew)
3. Input timing analysis omit skew for paths from
» each input must be stable from output to input of same ff.
(clock_edge) − ((maximum input-to-ff delay) + (setup time))
to ((clock_edge) + (hold time)) − (minimum input-to-ff delay)
4. Output timing analysis
» outputs have potential to change any time from
(clock_edge) + (minimum clock-to-output delay)
to (clock_edge) + (maximum clock-to-output delay) 7-6

6
Timing Analysis of Sequential Comparator
„ Timing parameters
» gate delay: 0.25 to 1 ns
» ff setup time: 2 ns
» ff hold time: 1 ns
» ff prop. delay: 0.5-2 ns
» clock skew: 1 ns
„ Internal hold time violation?
» yes - .5 + 4(.25) < 1 + 1
» add inverter pair to feedback
paths from ffs
„ Minimum clock period - 2 + 6×1 + 2 + 1 = 11 ns or 90 MHz
„ Input timing requirements
» A and B must be stable from (clock_edge – 2) – 4×1 until
(clock_edge +1) – 3 ×.25, so from -6 ns to +.25
„ Output timing - outputs can change .5 to 2 ns after clock
7-7

7
Clock Period Analysis from Synthesis
=======================================================================
Timing constraint: Default period analysis for Clock 'clk'
Clock period: 4.227ns (frequency: 236.560MHz)
Total number of paths / destination ports: 45 / 5
-----------------------------------------------------------------------
Delay: 4.227ns (Levels of Logic = 3)
Source: state_FFd1 (FF)
Destination: cnt_2 (FF) synthesis estimates only
Source Clock: clk rising placement and routing
Destination Clock: clk rising information needed for
accurate analysis
Data Path: state_FFd1 to cnt_2
Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)
---------------------------------------- ------------
FDR:C->Q 9 0.626 1.125 state_FFd1 (state_FFd1)
LUT2:I1->O 1 0.479 0.740 _mux0001<2>20_SW0 (N123)
LUT4_L:I2->LO 1 0.479 0.123 _mux0001<2>24_SW0 (N119)
LUT4:I3->O 1 0.479 0.000 _mux0001<2>43 (_mux0001<2>)
FDS:D 0.176 cnt_2
----------------------------------------
Total 4.227ns (2.239ns logic, 1.988ns route)
(53.0% logic, 47.0% route)

=======================================================================
7-8

8
Input Delay Analysis from Synthesis
=========================================================================
Timing constraint: Default OFFSET IN BEFORE for Clock 'clk'
Total number of paths / destination ports: 17 / 12
-------------------------------------------------------------------------
Offset: 4.356ns (Levels of Logic = 4)
Source: dIn (PAD)
Destination: cnt_2 (FF)
Destination Clock: clk rising

Data Path: dIn to cnt_2


Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)
---------------------------------------- ------------
IBUF:I->O 7 0.715 1.201 dIn_IBUF (dIn_IBUF)
LUT4:I0->O 1 0.479 0.704 _mux0001<2>33 (_mux0001<2>_map1
LUT4_L:I3->LO 1 0.479 0.123 _mux0001<2>24_SW0 (N119)
LUT4:I3->O 1 0.479 0.000 _mux0001<2>43 (_mux0001<2>)
FDS:D 0.176 cnt_2
----------------------------------------
Total 4.356ns (2.328ns logic, 2.028ns route)
(53.4% logic, 46.6% route)

=========================================================================

7-9

9
Combining Circuits
interconnect
Circuit 1 delay Circuit 2
D Q D Q

>C >C

clk
max output max input
delay delay

„ When combining two components, check setup


constraints manually
clock period ≥ (max output delay) + (max input delay)
+ (max inter-connect delay) + skew
„ Note, skew much larger across different
components than within a single component
„ Hold time violations unlikely across components
» inter-chip delays much larger than (hold time)+skew
7-10

10
Dealing with Timing Failures
„ To fix hold time errors, add delay
» rarely issue in FPGAs, but can be in ASIC designs
„ To correct setup time failures
» if you can’t increase clock period, must reduce delay
» find long delay paths and modify circuit to reduce
» adjust synthesis/implementation properties
• focus on speed optimization, increase effort level
» study synthesis report to identify worst-case paths
• rewrite VHDL to produce faster circuit
• e.g. replace ripple-carry circuits with carry lookahead
• if need be (and feasible), insert pipeline registers to divide
long combinational paths into smaller parts

7-11

11
Metastability
„ Most digital systems have asynchronous inputs
» keyboard input on a computer,
» sensor on a traffic light controller,
» card insertion on an ATM, etc.
„ Asynchronous inputs change at unpredictable times
» so, can change during clock transition, causing
metastability
„ Output of a metastable flip flop can oscillate or remain
at intermediate value
» leads to unpredictable behavior in other flip flops
» metastability usually ends quickly, but no definite time
limit
» so, circuit failures due to metastability are unavoidable
» however, systems can be designed to make failures rare
7-12

12
Synchronizers
„ Synchronizers are used to isolate metastable signals until
they are “probably safe”
potentially
metastable
asynchronous signal
input D Q D Q “probably
safe” signal
>C >C
clk

„ If the clock period is long enough, failure probability is small


and expected time between failures is large
MTBF = Mean Time Between Failures ≈ (αT/T0)eT/τ
where T is the clock period, α is the average time between
asynchronous input changes, τ and T0 are parameters of the
flip flop being used
„ If T = 50 ns, α = 1 ms, τ = 1 ns, T0 = 1 ns, MTBF ≈ 8 trillion
years, if T = 10 ns, MTBF becomes 220 seconds! 7-13

13
MTBF Chart

1.E+12
τ=T
τ=T00
1.E+11

1.E+10
MTBF (seconds)

1.E+09

1.E+08 1 year

1.E+07
α=1 s 1 ms 1 μs 1 ns
1.E+06

1.E+05
10 15 20 25 30 35 40 45 50 55 60
T/T
T/τ0
7-14

14
Things You Should Be Able to Do
„ Define the timing parameters of a flip flop and explain
their significance
» setup and hold times
» min and max propagation delays
„ Defineclock skew, explain where it comes from
„ Determine minimum clock period of a circuit
» and fix setup violations in simple circuits
„ Determine times when circuit inputs must be stable
„ Explain timing analysis section of synthesis report
„ Define metastability and explain significance
„ Estimate MTBF for a synchronizer and explain what to
do if MTBF is unacceptably small
7-15

15

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy