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
