Static Timing Analysis (STA): Evaluating Silicon Delays
Functional simulation confirms that your design operates correctly in theory, but only Static Timing Analysis (STA) verifies that electrical signals arrive within setup and hold constraints across physical silicon gates.
1. The fundamentals of setup & hold constraints
In a synchronous digital circuit, data is launched from one flip-flop on a clock edge, propagates through combinational logic gates, and must settle at the receiving flip-flop before the next clock edge arrives.
T_launch + T_clk_to_q + T_comb + T_setup <= T_capture + T_clk
- Tclk_to_q (Clock-to-Q Delay): Time required for data to emerge at output pin
Qafter the clock edge triggers. - Tcomb (Combinational Delay): Total propagation time through logic gates (adders, multiplexers, NAND/NOR).
- Tsetup (Setup Time): Required duration data must remain stable at input pin
Dbefore the active capturing clock edge. - Setup Slack (Ssetup): Calculated as
T_required - T_arrival. Positive slack means timing closure is met; negative slack denotes a timing violation.
2. How standard-cell Liberty (.lib) lookup models work
Gate propagation delays are not static constants—they vary depending on input transition slew (tr) and output capacitive load (CL). Semiconductor foundries characterize standard cell libraries into 2D Non-Linear Delay Model (NLDM) lookup tables defined in the industry-standard Liberty format:
| Foundry PDK | Standard Cell Library | Nominal Voltage / Corner | Primary Gate Example |
|---|---|---|---|
| SkyWater 130nm | sky130_fd_sc_hd |
1.8V / TT / 25°C | sky130_fd_sc_hd__and2_1 |
| GlobalFoundries 180nm | gf180mcu_fd_sc_mcu9t5v0 |
3.3V / TT / 25°C | gf180mcu_fd_sc_mcu9t5v0__addf_1 |
| IHP 130nm BiCMOS | sg13g2 |
1.2V / TT / 25°C | sg13g2_xor2_1 |
Under the hood: Pre-characterized linear delay parameters
Commercial STA engines evaluate massive 2D tables from multi-megabyte Liberty files,
which can introduce noticeable file-I/O overhead in a browser environment.
RTL Bench optimizes this by distilling cell timing characterizations into lightweight
pre-compiled parameters: pin capacitance (cin_pf), intrinsic base delay (intrinsic_ns),
and capacitive load sensitivity (load_sens_ns_per_pf):
// Example: IHP SG13G2 2-input AND gate cell parameters
"and2": {
"drives": {
"1": {
"cin_pf": 0.00254,
"intrinsic_ns": 0.07311,
"load_sens_ns_per_pf": 2.78078,
"fall_intrinsic_ns": 0.06426,
"fall_load_sens_ns_per_pf": 2.23317
},
"2": {
"cin_pf": 0.00255,
"intrinsic_ns": 0.09563,
"load_sens_ns_per_pf": 1.39782,
"fall_intrinsic_ns": 0.08371,
"fall_load_sens_ns_per_pf": 1.12135
}
}
}
1 to 2. While the gate's intrinsic base delay increases slightly
due to larger internal transistor geometry, its load sensitivity drops almost in half.
On nets with multiple downstream fan-outs, higher drive gates overcome capacitive load impedance significantly faster.
Synthesizable example: Pipelined multiply-accumulate (MAC)
The following 8-bit accumulator creates a classic reg2reg critical path
through an adder stage:
module mac_unit (
input wire clk,
input wire rst_n,
input wire [7:0] a,
input wire [7:0] b,
output reg [15:0] acc_out
);
wire [15:0] mult_prod = a * b;
always @(posedge clk or negedge rst_n) begin
if (!rst_n)
acc_out <= 16'd0;
else
acc_out <= acc_out + mult_prod; // Critical path: register feedback adder
end
endmodule
3. How RTL Bench executes browser-based STA
Running enterprise STA tools like Synopsys PrimeTime or Cadence Tempus requires complex TCL scripts and heavy workstation hardware. RTL Bench provides an instant timing report through an optimized cloud pipeline:
-
Generic Technology Mapping: Yosys synthesizes the HDL down to generic gates
(
techmap -map +/techmap.v) scoped to the top-level module. - SHA-256 Techmap Caching: Because the gate-level netlist depends only on your source and not on the chosen foundry PDK, repeat runs hit a server-side cache, evaluating in under 50ms.
- Topological Liberty Graph Traversal: The backend engine loads pre-compiled Liberty models for SkyWater 130nm, GF180, or IHP SG13G2, calculating cell propagation delays across all four path categories.
4. The four canonical path classifications
| Path Class | Startpoint | Endpoint | Primary Constraint |
|---|---|---|---|
reg2reg |
Source Flip-Flop (Q pin) | Destination Flip-Flop (D pin) | Determines maximum operating clock frequency (Fmax) |
in2reg |
Primary Input Port | Destination Flip-Flop (D pin) | Input delay and interface setup margin |
reg2out |
Source Flip-Flop (Q pin) | Primary Output Port | External board interface setup requirement |
in2out |
Primary Input Port | Primary Output Port | Pure unclocked feedthrough propagation delay |
in2out paths bypass registers completely.
If an asynchronous input is routed directly to an output pin through combinatorial logic,
downstream devices on your board will suffer from glitch-induced timing violations.
Frequently asked questions
Static Timing Analysis (STA) is a method of verifying the timing performance of a digital circuit without requiring dynamic input vectors or testbench simulations. It exhaustively computes the worst-case propagation delay across every path to guarantee that data arrives before the next clock edge.
RTL Bench supports standard-cell Liberty timing characterizations for SkyWater 130nm (sky130_fd_sc_hd), GlobalFoundries 180nm (gf180mcu), and IHP SG13G2 130nm BiCMOS at nominal TT corners.
Setup slack is defined as Data Required Time minus Data Arrival Time. If the longest critical path delay plus the register setup time is Tcrit, the minimum clock period is Tmin = Tcrit, yielding a maximum frequency of Fmax = 1 / Tmin.