Lecture 13 – Timing Analysis

Ryan Robucci

References

ASIC vs FPGA Design Flow

Source: Xilinx Training Material fpga-vs-asic-design-fow.ppt

Synthesis

Mapping is the process of associating entities such as gate-level functions in the gate-level netlist with the physical LUT-level functions available on the FPGA

ꭝMaxfield
ꭝMaxfield

Packing

Packing is grouping of LUT and registers into CLBs

Place and Route

Place and Route is the process of placing CLBs and finding routing configuration to make required interconnections

Timing Analysis and Post-Place-and-Route simulation

FPGA vs ASIC Tools

Static Timing Analysis

Timing Analysis Concepts

Clock Period Constraint

Clock Domain Defined by Seq. Elements

Setup and Hold Times

Clock Skew

Positive Clock Skew

Negative Clock Skew

Setup Timing Slack in Critical Path

Critical Path Timing requirement: Tclk+Tskew>TPD+TsetupT_{\rm clk} +T_{\rm skew}> {\rm TPD} + T_{\rm setup}
TskewT_{\rm skew}: Time from when clk edge occurs at an source flip-flip to when the edge occurs at a destination (e.g. clock delay 1 -clock delay 2) As defined here, positive clock skew with respect to a critical path increases setup slack, while negative skew reduces it.

Setup Time Analysis (slack)

Hold Time Analysis and Slack

Unconstrained Paths


Source: Xilinx Timing Constraints User Guide

Multicycle Paths

False Paths

C1 C0 1 selA sel 0 C3 C2 0 sel selB 1

Other Examples:
https://www.edn.com/design/integrated-circuit-design/4433229/Basics-of-multi-cycle---false-paths

Asynchronous Signals (e.g. Async Clear)

Wherever sensitivity to glitches exits, use registered output logic to generate the control signal.

Dynamic Timing Analysis

Dynamic Timing Analysis using Event-Driven Simulation

Verilog tools include several methods for annotating timing including use of

Dynamic vs Static Timing Analysis; Functional vs Timing Verification

Review Static vs Dynamic

≑