Lecture 13 - Timing Analysis
Lecture 13 - Timing Analysis
I. References
VIII. Static Timing Analysis [ꭝ] Illustration from The Design Warriors's Guide to FPGAs by Clive Maxfield, Elsevier
[ꭝꭝ] Modeling, Synthesis and Rapid Prototyping with the Verilog HDL, Michael D. Ciletti
IX. Timing Analysis Concepts
Basic Timing Analysis Concepts:
X. Clock Period Constraint https://eclipse.umbc.edu/robucci/cmpe415/attachments/Lecture14.pdf#page=10 Page 10-31
XI. Clock Domain Defined by
Seq. Elements
II. ASIC vs FPGA Design Flow
XII. Setup and Hold Times
ꭝMaxfield
Lecture 13 – Timing Analysis
I. References
III. Synthesis
IV. Packing
X. Clock Period Constraint Packing is grouping of LUT and registers into CLBs
Slack
LUT
XIX. Unconstrained Paths LUT
XX. Related Clock Domains
XXIII. Asynchronous Signals Place and Route is the process of placing CLBs and finding routing configuration to make required
(e.g. Async Clear) interconnections
Placment
XXIV. Dynamic Timing Analysis Programmable CLB
Locations
CLB
Programmed Switches
LUT to Configure Routing
LUT LUT LUT
LUT
LUT LUT LUT
IV. Packing FPGAs vs ASICs: FPGAs are regular structures and a represent a constrained design space for
analysis tools (and synthesis tools).
V. Place and Route
Many designs will emerge from one underlying physical hardware design.
VI. Timing Analysis and Post- This underlying hardware can be heavily characterized in the fabricated IC. This for allows tools that
Place-and-Route simulation
can perform accurate general design analysis for anyone using the same underlying hardware. In
VII. FPGA vs ASIC Tools ASICs, each design can be very different, meaning it is more difficult for tools to accurately predict
XX. Related Clock Domains User Constraints (e.g. user constraints file, directives, * project settings)
Clock Domains
XXI. Multicycle Paths
Clock Jitter
XXII. False Paths Aync Reset
XXIII. Asynchronous Signals Multi-cycle Paths
(e.g. Async Clear) False Paths
XXVI. Dynamic vs Static Timing For Xilinx Tools, a PERIOD constraint should be supplied for every clock
Analysis; Functional vs Timing
Verification NET "CLK_50MHZ" PERIOD = 20.0ns HIGH 40%;
XXVII. Review Static vs
Dynamic
– or NET "CLK_50MHZ" TNM_NET=’’TNM_clk50”
TIMESPEC “TS_clk50” = PERIOD “TNM_clk50” 20.0ns HIGH 40%;
partia l
b
c y
XI. Clock Domain Defined by Seq. Elements
Lecture 13 – Timing Analysis
Sequential Elements Include
I. References
Flip Flops
II. ASIC vs FPGA Design Flow
Latches
III. Synthesis Clocked Distributed and Block RAM/ROM
FIFOs
IV. Packing
I/O Hardware with Clock Input (e.g. I/O SerDes)
V. Place and Route
Hardware bocks with Clock Input (e.g. Xilnix MULT18/18)
VI. Timing Analysis and Post- The combinational paths between sequential elements in the same clock domain are constrained
Place-and-Route simulation and must be analyzed
VII. FPGA vs ASIC Tools
VIII. Static Timing Analysis Clocks are buffered through a clock routing network. Clock signals are delayed with respect to the
IX. Timing Analysis Concepts original clock.
Paths are defined starting at a source register and terminating at a destination register
X. Clock Period Constraint
Path delay: TPD = Tclk−to−q + Tcomb. path delay
Clock
XXV. Dynamic Timing Analysis
using Event-Driven Simulation Setup and hold time windows are defined with respect to the destination register clock edge
If the destination clock is more delayed than the source clock, it represents positive clock skew
XXVI. Dynamic vs Static Timing
Analysis; Functional vs Timing with regard to that path. This gives more time for a path to settle and thus avoid a setup time
Verification violation. It unfortunately delays the cutoff time for holding a data signal.
XIV. Positive Clock Skew Static Timing Analysis is a structural analysis based on previous characterizations. A key parameter
from the analysis is the setup timing slack
XV. Negative Clock Skew
TCLK TO Q : Delay from clock edge to sequential gates update
Critical Path
TPD : Path Delay, TCLK TO Q + TCPD
Tskew : Time from when clk edge occurs at an source flip-flip to when the edge occurs at a destination
XVIII. Hold Time Analysis and
(e.g. clock delay 1 -clock delay 2) As defined here, positive clock skew with respect to a critical path
Slack
increases setup slack, while negative skew reduces it.
XIX. Unconstrained Paths
All possible paths must be analyzed. The paths with the longest delay are important, but the
analysis should be a combination of path delay and clock skew and clock and path delay
uncertainty, not just path delay.
A short delay path could still be a problem because of race conditions
Setup Time Analysis = Data Path Delay including source clock-to-q delay + Desitination
Synchronous Element Setup Time - Clock Path Skew
Lecture 13 – Timing Analysis a
I. References
pa rtia l
II. ASIC vs FPGA Design Flow b
III. Synthesis
IV. Packing c
V. Place and Route
VII. FPGA vs ASIC Tools XVIII. Hold Time Analysis and Slack
VIII. Static Timing Analysis
Hold Time Analysis Avoids Race Conditions
IX. Timing Analysis Concepts Tslack(hold) = TPD -Thold- Tskew
X. Clock Period Constraint
I. References
Or if the architecture doesn't require a path to meet timing. For instance in the following example, it
may be the case that selA and selB are never both high, meaning the path through C1 and C3 is a
false path
Lecture 13 – Timing Analysis selA selB
C0 sel C2 sel
I. References 0 0
II. ASIC vs FPGA Design Flow 1 1
C1 C3
III. Synthesis
IV. Packing
VII. FPGA vs ASIC Tools XXIII. Asynchronous Signals (e.g. Async Clear)
VIII. Static Timing Analysis
Note that asynchronous signals are not easily analyzed for timing and are sensitive to glitches.
IX. Timing Analysis Concepts
Timing Data augmentation using a sidecar files e.g. Standard Delay Format Files
Delay parameters (e.g. #) may also be used to model timing delays
Assertions
Verilog also support timing check tasks to flag violations during simulation
These can be added to code with sequential logic
$hold (reference_event, data_event, limit[,notifier]) ;
II. ASIC vs FPGA Design Flow Functional simulation and verification refers to verifying logical descriptions, including Boolean
expressions and register transfers
III. Synthesis
Timing verification refers to making sure that all timing requirements, external and internal (setup,
IV. Packing hold, etc..) are satisfied
V. Place and Route Dynamic Timing Analysis refers to analysis of timing by simulating the system with inputs and
examining the resulting waveforms.
VI. Timing Analysis and Post-
Place-and-Route simulation Static timing analysis uses no data and does not use a simulation – is just analyzes the structure
A timing analysis tool stores delays in a separate file Standard Delay Format SDF file along side the
VII. FPGA vs ASIC Tools
post place and route netlist
VIII. Static Timing Analysis
XI. Clock Domain Defined by Dynamic timing analysis and functional simulation each require well-selected input sequences
Seq. Elements These are called test-vectors. Static Timing analysis uses no test vectors.