17.4. Path Delay Modeling
Path delay modeling specifies delays from input pins to output pins, representing the actual signal propagation paths through hardware. This is the most accurate way to model timing.
What is Path Delay?
A path delay is the time it takes for a signal to propagate from an input port through the logic to an output port. Different paths may have different delays depending on:
-
Logic depth
-
Gate types in the path
-
Load capacitance
-
Wire delays
-
Process variations
Types of Paths
.png)
17.4.1. Specify Blocks Overview
Specify blocks are special constructs in Verilog designed specifically for timing specification. They separate timing information from functional description.
Purpose of Specify Blocks
-
Define path delays
-
Specify timing checks
-
Support SDF annotation
-
Enable timing verification
-
Maintain timing/logic separation
Basic Structure
Verilog
17.4.2. Inside Specify Blocks
Inside specify blocks, you can define various timing-related specifications using special syntax and system tasks.
specparam - Timing Parameters
specparam declares timing parameters that can be used throughout the specify block
Verilog
Path Delay Statements
Parallel Connection (=>)
Verilog
Full Connection (*>)
Verilog
Edge-Sensitive Paths
Verilog
Conditional Paths
Verilog
Timing Check System Tasks
.png)
.png)
Complete Example with All Elements
Verilog
Best Practices and Guidelines
Choosing the Right Delay Model
-
Distributed: Behavioral/RTL simulation, quick prototyping
-
Lumped: Simple modules, approximate timing
-
Pin-to-Pin: Library cells, accurate timing, post-synthesis
General Guidelines
-
Use specparam for named delays
-
Include min:typ:max for flexibility
-
Document delay units clearly
-
Separate timing from functionality
-
Add timing checks for sequential elements
-
Use conditional paths for multiplexers
