Interview Question · Concept
Reading a Timing Report
- Likely at Samsung
The Question
The interviewer asks
In the setup report below, the data arrives at 0.3055 and the capture flop's clock at 1.3818. Explain how the tool gets from those numbers to a slack of 0.9734.
1 0.0017 0.0226 0.3055 0.3055 v ff1/Q (sky130_fd_sc_hd__dfxtp_1)
0.0226 0.0000 0.3055 v ff2/D (sky130_fd_sc_hd__dfxtp_1)
0.3055 data arrival time
1.0000 1.0000 clock clk (rise edge)
1 0.0019 0.0353 0.0708 1.3818 ^ cb5/X (sky130_fd_sc_hd__clkbuf_1)
0.0353 0.0000 1.3818 ^ ff2/CLK (sky130_fd_sc_hd__dfxtp_1)
0.0000 1.3818 clock reconvergence pessimism
-0.1029 1.2789 library setup time
1.2789 data required time
-0.3055 data arrival time
0.9734 slack (MET)You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
The launch half sums the clock edge, the launch clock latency and every cell and net delay to the data arrival, 0.3055 ns. The capture half starts at the next edge, 1.0 ns. It adds the capture clock's path through five buffers to reach 1.3818. Then it subtracts the library setup time, 0.1029, to give the required time 1.2789. Slack is required minus arrival: 0.9734 ns, met.
_809_ → _827_setup check, latest arrival16 cells
- Clock latency
- Cell delay
- Uncertainty
- Setup time
- A long carry chain
15 gates after the flop. The data arrives at 4.2527 ns.
- MET
Slack 0.5827 ns. It is the worst path among those the SDC constrained.
Read the path as a table
Launch: clk rise edge at 0.0000 ns, clock latency 0.0000 ns (ideal). Capture: clk rise edge at 5.0000 ns, latency 0.0000 ns, uncertainty −0.1000 ns, library setup time −0.0646 ns.
Arrival 4.2527 ns, required 4.8354 ns, slack 0.5827 ns (met).
| Cell | Arc | Through | Edge | Delay (ns) | Time (ns) | Slew (ns) |
|---|---|---|---|---|---|---|
| 1 | _809_/CLK → _809_/Q | dfrtp_1 | fall | 0.4066 | 0.4066 | 0.0679 |
_809_/Q → _607_/A | wire acc[1] | fall | 0.0000 | 0.4066 | 0.0679 | |
| 2 | _607_/A → _607_/Y | xnor2_1 | rise | 0.2092 | 0.6158 | 0.1928 |
_607_/Y → _619_/A2 | wire _080_ | rise | 0.0000 | 0.6158 | 0.1928 | |
| 3 | _619_/A2 → _619_/Y | o21ai_0 | fall | 0.1481 | 0.7639 | 0.1149 |
_619_/Y → _641_/C | wire _081_ | fall | 0.0000 | 0.7639 | 0.1149 | |
| 4 | _641_/C → _641_/X | maj3_1 | fall | 0.3990 | 1.1628 | 0.0920 |
_641_/X → _663_/C | wire _083_ | fall | 0.0000 | 1.1628 | 0.0920 | |
| 5 | _663_/C → _663_/X | maj3_1 | fall | 0.3921 | 1.5550 | 0.0920 |
_663_/X → _685_/C | wire _085_ | fall | 0.0000 | 1.5550 | 0.0920 | |
| 6 | _685_/C → _685_/X | maj3_1 | fall | 0.3921 | 1.9471 | 0.0920 |
_685_/X → _707_/C | wire _087_ | fall | 0.0000 | 1.9471 | 0.0920 | |
| 7 | _707_/C → _707_/X | maj3_1 | fall | 0.4037 | 2.3508 | 0.1013 |
_707_/X → _727_/A1 | wire _089_ | fall | 0.0000 | 2.3508 | 0.1013 | |
| 8 | _727_/A1 → _727_/Y | a211oi_1 | rise | 0.2652 | 2.6159 | 0.2531 |
_727_/Y → _729_/A3 | wire _093_ | rise | 0.0000 | 2.6159 | 0.2531 | |
| 9 | _729_/A3 → _729_/Y | o31ai_1 | fall | 0.1414 | 2.7573 | 0.0941 |
_729_/Y → _731_/A2 | wire _095_ | fall | 0.0000 | 2.7573 | 0.0941 | |
| 10 | _731_/A2 → _731_/X | o211a_1 | fall | 0.2244 | 2.9817 | 0.0449 |
_731_/X → _734_/A3 | wire _097_ | fall | 0.0000 | 2.9817 | 0.0449 | |
| 11 | _734_/A3 → _734_/Y | o311ai_0 | rise | 0.4243 | 3.4060 | 0.4921 |
_734_/Y → _736_/A3 | wire _100_ | rise | 0.0000 | 3.4060 | 0.4921 | |
| 12 | _736_/A3 → _736_/Y | a31oi_1 | fall | 0.1878 | 3.5938 | 0.1296 |
_736_/Y → _737_/A2 | wire _101_ | fall | 0.0000 | 3.5938 | 0.1296 | |
| 13 | _737_/A2 → _737_/Y | a21oi_1 | rise | 0.2650 | 3.8588 | 0.2375 |
_737_/Y → _740_/A2 | wire _102_ | rise | 0.0000 | 3.8588 | 0.2375 | |
| 14 | _740_/A2 → _740_/Y | a211oi_1 | fall | 0.1644 | 4.0232 | 0.1196 |
_740_/Y → _742_/C | wire _105_ | fall | 0.0000 | 4.0232 | 0.1196 | |
| 15 | _742_/C → _742_/Y | nand3_1 | rise | 0.1214 | 4.1446 | 0.0801 |
_742_/Y → _748_/B | wire _107_ | rise | 0.0000 | 4.1446 | 0.0801 | |
| 16 | _748_/B → _748_/Y | xnor2_1 | rise | 0.1081 | 4.2527 | 0.1022 |
_748_/Y → _827_/D | wire _048_ | rise | 0.0000 | 4.2527 | 0.1022 |
The report
Startpoint: _809_ (rising edge-triggered flip-flop clocked by clk)
Endpoint: _827_ (rising edge-triggered flip-flop clocked by clk)
Path Group: clk
Path Type: max
Fanout Cap Slew Delay Time Description
-------------------------------------------------------------------------------------
0.1000 0.0000 0.0000 clock clk (rise edge)
0.0000 0.0000 clock network delay (ideal)
0.1000 0.0000 0.0000 ^ _809_/CLK (sky130_fd_sc_hd__dfrtp_1)
4 0.0088 0.0679 0.4066 0.4066 v _809_/Q (sky130_fd_sc_hd__dfrtp_1)
acc[1] (net)
0.0679 0.0000 0.4066 v _607_/A (sky130_fd_sc_hd__xnor2_1)
2 0.0065 0.1928 0.2092 0.6158 ^ _607_/Y (sky130_fd_sc_hd__xnor2_1)
_080_ (net)
0.1928 0.0000 0.6158 ^ _619_/A2 (sky130_fd_sc_hd__o21ai_0)
2 0.0073 0.1149 0.1481 0.7639 v _619_/Y (sky130_fd_sc_hd__o21ai_0)
_081_ (net)
0.1149 0.0000 0.7639 v _641_/C (sky130_fd_sc_hd__maj3_1)
2 0.0073 0.0920 0.3990 1.1628 v _641_/X (sky130_fd_sc_hd__maj3_1)
_083_ (net)
0.0920 0.0000 1.1628 v _663_/C (sky130_fd_sc_hd__maj3_1)
2 0.0073 0.0920 0.3921 1.5550 v _663_/X (sky130_fd_sc_hd__maj3_1)
_085_ (net)
0.0920 0.0000 1.5550 v _685_/C (sky130_fd_sc_hd__maj3_1)
2 0.0073 0.0920 0.3921 1.9471 v _685_/X (sky130_fd_sc_hd__maj3_1)
_087_ (net)
0.0920 0.0000 1.9471 v _707_/C (sky130_fd_sc_hd__maj3_1)
3 0.0090 0.1013 0.4037 2.3508 v _707_/X (sky130_fd_sc_hd__maj3_1)
_089_ (net)
0.1013 0.0000 2.3508 v _727_/A1 (sky130_fd_sc_hd__a211oi_1)
2 0.0052 0.2531 0.2652 2.6159 ^ _727_/Y (sky130_fd_sc_hd__a211oi_1)
_093_ (net)
0.2531 0.0000 2.6159 ^ _729_/A3 (sky130_fd_sc_hd__o31ai_1)
3 0.0088 0.0941 0.1414 2.7573 v _729_/Y (sky130_fd_sc_hd__o31ai_1)
_095_ (net)
0.0941 0.0000 2.7573 v _731_/A2 (sky130_fd_sc_hd__o211a_1)
2 0.0038 0.0449 0.2244 2.9817 v _731_/X (sky130_fd_sc_hd__o211a_1)
_097_ (net)
0.0449 0.0000 2.9817 v _734_/A3 (sky130_fd_sc_hd__o311ai_0)
3 0.0073 0.4921 0.4243 3.4060 ^ _734_/Y (sky130_fd_sc_hd__o311ai_0)
_100_ (net)
0.4921 0.0000 3.4060 ^ _736_/A3 (sky130_fd_sc_hd__a31oi_1)
2 0.0067 0.1296 0.1878 3.5938 v _736_/Y (sky130_fd_sc_hd__a31oi_1)
_101_ (net)
0.1296 0.0000 3.5938 v _737_/A2 (sky130_fd_sc_hd__a21oi_1)
3 0.0096 0.2375 0.2650 3.8588 ^ _737_/Y (sky130_fd_sc_hd__a21oi_1)
_102_ (net)
0.2375 0.0000 3.8588 ^ _740_/A2 (sky130_fd_sc_hd__a211oi_1)
4 0.0109 0.1196 0.1644 4.0232 v _740_/Y (sky130_fd_sc_hd__a211oi_1)
_105_ (net)
0.1196 0.0000 4.0232 v _742_/C (sky130_fd_sc_hd__nand3_1)
1 0.0047 0.0801 0.1214 4.1446 ^ _742_/Y (sky130_fd_sc_hd__nand3_1)
_107_ (net)
0.0801 0.0000 4.1446 ^ _748_/B (sky130_fd_sc_hd__xnor2_1)
1 0.0020 0.1022 0.1081 4.2527 ^ _748_/Y (sky130_fd_sc_hd__xnor2_1)
_048_ (net)
0.1022 0.0000 4.2527 ^ _827_/D (sky130_fd_sc_hd__dfrtp_1)
4.2527 data arrival time
0.1000 5.0000 5.0000 clock clk (rise edge)
0.0000 5.0000 clock network delay (ideal)
-0.1000 4.9000 clock uncertainty
0.0000 4.9000 clock reconvergence pessimism
4.9000 ^ _827_/CLK (sky130_fd_sc_hd__dfrtp_1)
-0.0646 4.8354 library setup time
4.8354 data required time
-------------------------------------------------------------------------------------
4.8354 data required time
-4.2527 data arrival time
-------------------------------------------------------------------------------------
0.5827 slack (MET)Another setup report, from lesson L2.5, drawn as two lanes. Read it the same way: slack is required minus arrival, 0.5827 ns here.
The lesson L2.4 shift register; both the setup and the hold check are reported.
create_clock -name clk -period 1.0 [get_ports clk]
set_propagated_clock [all_clocks]
set_input_transition 0.1 [get_ports clk]
Prints: 0.9734 slack (MET) -0.0399 slack (VIOLATED)
Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Fresher)
A good fresher answer points to the arrival time, the required time and the setup line. It then works out the slack by hand.
What Interviewers Listen For (Mid-Level)
A good mid-level answer maps every capture line to a term of the setup check, and notices the clock reconvergence pessimism line. Before judging a block, it asks for WNS, TNS and the count of failing endpoints.
Cross-Questions
Where the interviewer goes next. Open a node to practise that follow-up.
WhyWhat IfProve ItBreak ItCompareScale It
- Reading a Timing Report
-
WhyThe Clock Reconvergence Pessimism LineL2 Mid-Level
What is the "clock reconvergence pessimism" line, and why was it zero in that report?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
With on-chip-variation derates, the launch clock is timed late and the capture clock early. Where the two clock paths share buffers, one buffer cannot be both. So the tool credits back the difference on the shared part. With no derates and a single corner, late equals early and the credit is zero. In lesson L2.9, ±5 % derates gave a credit of 0.0138 ns.
Timing pathSetup with ±5 % Derates and the CRPR Credit Whole pathffl → ffcsetup check, latest arrival3 cells
- Clock latency
- Cell delay
- Setup time
- Late launch clock
Through
rootandblwith the late derate: 0.2174 ns. - Early capture clock, then the credit
Through
rootandbcearly: 0.1967 ns. The CRPR line adds 0.0138 ns, the two speeds ofroot. - Slack
0.5008 ns. Without the credit it would be 0.4870 ns.
Read the path as a table
Launch: clk rise edge at 0.0000 ns, clock latency 0.2174 ns. Capture: clk rise edge at 1.0000 ns, latency 0.1967 ns, library setup time −0.1040 ns.
Arrival 0.6056 ns, required 1.1065 ns, slack 0.5008 ns (met).
Cell Arc Through Edge Delay (ns) Time (ns) Slew (ns) 1 ffl/CLK→ffl/Qdfxtp_1 fall 0.3094 0.5268 0.0345 ffl/Q→u1/Awire q1 fall 0.0000 0.5268 0.0345 2 u1/A→u1/Yinv_1 rise 0.0438 0.5706 0.0308 u1/Y→u2/Awire n1 rise 0.0000 0.5706 0.0308 3 u2/A→u2/Ynand2_1 fall 0.0350 0.6056 0.0251 u2/Y→ffc/Dwire n2 fall 0.0000 0.6056 0.0251 The report
Startpoint: ffl (rising edge-triggered flip-flop clocked by clk) Endpoint: ffc (rising edge-triggered flip-flop clocked by clk) Path Group: clk Path Type: max Fanout Cap Slew Delay Time Description ------------------------------------------------------------------------------------- 0.0000 0.0000 clock clk (rise edge) 0.0000 0.0000 clock source latency 1 0.0022 0.1000 0.0000 0.0000 ^ clk (in) clk (net) 0.1000 0.0000 0.0000 ^ root/A (sky130_fd_sc_hd__clkbuf_4) 2 0.0044 0.0334 0.1450 0.1450 ^ root/X (sky130_fd_sc_hd__clkbuf_4) cr (net) 0.0334 0.0000 0.1450 ^ bl/A (sky130_fd_sc_hd__clkbuf_1) 1 0.0019 0.0353 0.0724 0.2174 ^ bl/X (sky130_fd_sc_hd__clkbuf_1) cl (net) 0.0353 0.0000 0.2174 ^ ffl/CLK (sky130_fd_sc_hd__dfxtp_1) 2 0.0044 0.0345 0.3094 0.5268 v ffl/Q (sky130_fd_sc_hd__dfxtp_1) q1 (net) 0.0345 0.0000 0.5268 v u1/A (sky130_fd_sc_hd__inv_1) 1 0.0024 0.0308 0.0438 0.5706 ^ u1/Y (sky130_fd_sc_hd__inv_1) n1 (net) 0.0308 0.0000 0.5706 ^ u2/A (sky130_fd_sc_hd__nand2_1) 1 0.0017 0.0251 0.0350 0.6056 v u2/Y (sky130_fd_sc_hd__nand2_1) n2 (net) 0.0251 0.0000 0.6056 v ffc/D (sky130_fd_sc_hd__dfxtp_1) 0.6056 data arrival time 1.0000 1.0000 clock clk (rise edge) 0.0000 1.0000 clock source latency 1 0.0022 0.1000 0.0000 1.0000 ^ clk (in) clk (net) 0.1000 0.0000 1.0000 ^ root/A (sky130_fd_sc_hd__clkbuf_4) 2 0.0044 0.0334 0.1312 1.1312 ^ root/X (sky130_fd_sc_hd__clkbuf_4) cr (net) 0.0334 0.0000 1.1312 ^ bc/A (sky130_fd_sc_hd__clkbuf_1) 1 0.0019 0.0353 0.0655 1.1967 ^ bc/X (sky130_fd_sc_hd__clkbuf_1) cc (net) 0.0353 0.0000 1.1967 ^ ffc/CLK (sky130_fd_sc_hd__dfxtp_1) 0.0138 1.2105 clock reconvergence pessimism -0.1040 1.1065 library setup time 1.1065 data required time ------------------------------------------------------------------------------------- 1.1065 data required time -0.6056 data arrival time ------------------------------------------------------------------------------------- 0.5008 slack (MET)Setup with ±5 % derates. The CRPR line gives back 0.0138 ns for the clock buffers both paths share.
Self-Check
Tick each key point you covered in your answer.
-
CompareWNS, TNS and the Failing CountL1 Junior
Compare WNS, TNS and the number of failing endpoints as measures of how bad a block's timing is.
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
WNS is the worst endpoint's slack and says how hard the hardest path is. TNS sums the negative slacks and the failing count says how widespread the problem is. A WNS of -50 ps on two endpoints is a local fix. The same WNS on two thousand endpoints is a floorplan or constraint problem.
Measured sweepSetup Slack at Every Flop of the MAC, Complete SDCOne OpenSTA run with each of the 52 flop D pins in its own path group, in register order. Whole plot- Endpoint flop (ra, rb, p, acc) 0setup slack = 13.2 ps
The input registers ra and rb load
aandbbut also obeyen: slack 0.0132 ns. - Endpoint flop (ra, rb, p, acc) 51setup slack = -468.8 ps
The worst endpoint, acc[19]: -0.4688 ns. That is the WNS.
- Endpoint flop (ra, rb, p, acc) 51setup slack = -468.8 ps
12 of 52 endpoints fail, in p and acc. Their negative slacks add up to about -2.172 ns: the TNS.
Read the plot as a table
Endpoint flop (ra, rb, p, acc) setup slack 0 13.2 ps 10 13.2 ps 20 -39 ps 30 115 ps 40 185.1 ps 50 -435.9 ps 51 -468.8 ps Setup slack at all 52 flops of lesson L2.5's MAC. The lowest point is the WNS; the failing points add up to the TNS.
Self-Check
Tick each key point you covered in your answer.
- Endpoint flop (ra, rb, p, acc) 0setup slack = 13.2 ps
-
What IfA Clean Timing Report That Timed NothingL1 JuniorL2 Mid-Level
Asked if they trust a clean report without asking what was timed
A block's timing report says "No paths found." and TNS (total negative slack) is 0. The log has one warning, shown with the answer. Is the block clean?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
No: nothing was timed. The clock was declared on a port called
clock, which does not exist. So no flop is clocked and no path has a constraint. Read every warning after loading the SDC and runcheck_setup, which lists unclocked registers and unconstrained endpoints. With the port name corrected, the same netlist reports a real slack of 3.837 ns.Timing pathThe En Path, Drawn from the Same ReportInput port en, with a 4.5 ns input delay, through 4 gates to an accumulator flop. Whole pathen → _827_setup check, latest arrival4 cells
- Clock latency
- Cell delay
- Input delay
- Uncertainty
- Setup time
- Outside the block
The SDC says en changes 4.5000 ns after the edge.
- The slowest gate
a211oi_1 adds 0.4113 ns with a 0.4443 ns output slew.
- Required
5 ns, minus 0.1 ns of uncertainty and a setup time of 0.0997 ns: 4.8003 ns.
- VIOLATED
Slack = required − arrival = 4.8003 − 5.2691 = -0.4688 ns.
Read the path as a table
Launch: clk rise edge at 0.0000 ns, clock latency 0.0000 ns (ideal). Capture: clk rise edge at 5.0000 ns, latency 0.0000 ns, uncertainty −0.1000 ns, library setup time −0.0997 ns.
Arrival 5.2691 ns, required 4.8003 ns, slack −0.4688 ns (violated).
Cell Arc Through Edge Delay (ns) Time (ns) Slew (ns) en→_738_/B1wire en rise 0.0000 4.5000 0.0000 1 _738_/B1→_738_/Yo21ai_0 fall 0.0722 4.5722 0.0807 _738_/Y→_740_/B1wire _103_ fall 0.0000 4.5722 0.0807 2 _740_/B1→_740_/Ya211oi_1 rise 0.4113 4.9834 0.4443 _740_/Y→_742_/Cwire _105_ rise 0.0000 4.9834 0.4443 3 _742_/C→_742_/Ynand3_1 fall 0.1474 5.1308 0.1058 _742_/Y→_748_/Bwire _107_ fall 0.0000 5.1308 0.1058 4 _748_/B→_748_/Yxnor2_1 fall 0.1383 5.2691 0.0405 _748_/Y→_827_/Dwire _048_ fall 0.0000 5.2691 0.0405 The report
Startpoint: en (input port clocked by clk) Endpoint: _827_ (rising edge-triggered flip-flop clocked by clk) Path Group: clk Path Type: max Fanout Cap Slew Delay Time Description ------------------------------------------------------------------------------------- 0.1000 0.0000 0.0000 clock clk (rise edge) 0.0000 0.0000 clock network delay (ideal) 4.5000 4.5000 ^ input external delay 69 0.1868 0.0000 0.0000 4.5000 ^ en (in) en (net) 0.0000 0.0000 4.5000 ^ _738_/B1 (sky130_fd_sc_hd__o21ai_0) 2 0.0044 0.0807 0.0722 4.5722 v _738_/Y (sky130_fd_sc_hd__o21ai_0) _103_ (net) 0.0807 0.0000 4.5722 v _740_/B1 (sky130_fd_sc_hd__a211oi_1) 4 0.0119 0.4443 0.4113 4.9834 ^ _740_/Y (sky130_fd_sc_hd__a211oi_1) _105_ (net) 0.4443 0.0000 4.9834 ^ _742_/C (sky130_fd_sc_hd__nand3_1) 1 0.0045 0.1058 0.1474 5.1308 v _742_/Y (sky130_fd_sc_hd__nand3_1) _107_ (net) 0.1058 0.0000 5.1308 v _748_/B (sky130_fd_sc_hd__xnor2_1) 1 0.0019 0.0405 0.1383 5.2691 v _748_/Y (sky130_fd_sc_hd__xnor2_1) _048_ (net) 0.0405 0.0000 5.2691 v _827_/D (sky130_fd_sc_hd__dfrtp_1) 5.2691 data arrival time 0.1000 5.0000 5.0000 clock clk (rise edge) 0.0000 5.0000 clock network delay (ideal) -0.1000 4.9000 clock uncertainty 0.0000 4.9000 clock reconvergence pessimism 4.9000 ^ _827_/CLK (sky130_fd_sc_hd__dfrtp_1) -0.0997 4.8003 library setup time 4.8003 data required time ------------------------------------------------------------------------------------- 4.8003 data required time -5.2691 data arrival time ------------------------------------------------------------------------------------- -0.4688 slack (VIOLATED)A path that a partial SDC never timed, in lesson L2.5. Once its input delay is in the SDC, it fails by 0.4688 ns.
The one warning in the run (lesson L1.6, measured) Warning 366: sdc line 1, port 'clock' not found.Self-Check
Tick each key point you covered in your answer.
What Interviewers Listen For (Junior)
A good junior answer suspects the constraints first. It finds the warning in the log and runs
check_setup.What Interviewers Listen For (Senior)
A good senior answer makes
check_setupand a review of the warnings part of the exit criteria of every stage. It refuses timing sign-off while any unconstrained endpoint is left unexplained.Misconception
"No violations means timing is met."
A report lists only constrained paths. With the clock on a missing port it finds no paths at all. Correcting the port name gives a real check with 3.837 ns of slack.
Run It
The counter from lesson L1.6 with
create_clockon a port namedclock.create_clock -name clk -period 5 [get_ports clock]Prints:
No paths found.See the Fix
create_clock -name clk -period 5 [get_ports clk]Prints:
3.8370 slack (MET)Half-Truth
"Warnings are noise; only errors matter."
An ERROR stops the run, but a WARNING lets it finish, so a finished run can still be wrong. This one warning silently removed every clock.
Source ASIC Point lesson L1.6 (OpenROAD message severities, measured log)
-
WhyWhat check_setup CatchesL1 Junior
Why run
check_setupbefore reading any slack?2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
It lists what the constraints leave out: unclocked register pins, inputs without input delays and outputs without output delays. It also lists unconstrained endpoints and combinational loops. In lesson L2.5 a partial SDC left two inputs and all twenty outputs without delays, so twenty endpoints were never timed. Each item is either fixed or explained before any slack counts.
Self-Check
Tick each key point you covered in your answer.
-
Prove ItSolve L1.6.1: The Clock That Reached No RegisterSimulator-graded
Show it, don't just say it: this Silicon Lab problem is graded by the simulator.
-
Break ItA False Path That Swallowed Real PathsL1 JuniorL2 Mid-Level
To silence one slow configuration input, someone writes the line below. What else disappears from timing?
sdc set_false_path -from [all_inputs]2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
Every path from every input, including the clock-domain data inputs that really do need timing. In lesson L2.8 that line turned two flop data pins into unconstrained endpoints. A report through the data input then found no paths at all. Writing the exception on the one port,
-from [get_ports cfg], left the other path timed with 0.5837 ns of slack.Timing pathd0 → a0_reg d0 → a0_regsetup check, latest arrival0 cells
- Clock latency
- Cell delay
- Input delay
- Setup time
Read the path as a table
Launch: clk rise edge at 0.0000 ns, clock latency 0.0000 ns (ideal). Capture: clk rise edge at 1.0000 ns, latency 0.0000 ns, library setup time −0.2163 ns.
Arrival 0.2000 ns, required 0.7837 ns, slack 0.5837 ns (met).
Cell Arc Through Edge Delay (ns) Time (ns) Slew (ns) d0→a0_reg/Dwire d0 fall 0.0000 0.2000 0.0000 The report
Startpoint: d0 (input port clocked by clk) Endpoint: a0_reg (rising edge-triggered flip-flop clocked by clk) Path Group: clk Path Type: max Fanout Cap Slew Delay Time Description ------------------------------------------------------------------------------------- 0.1000 0.0000 0.0000 clock clk (rise edge) 0.0000 0.0000 clock network delay (ideal) 0.2000 0.2000 v input external delay 1 0.0017 0.0000 0.0000 0.2000 v d0 (in) d0 (net) 0.0000 0.0000 0.2000 v a0_reg/D (sky130_fd_sc_hd__edfxtp_1) 0.2000 data arrival time 0.1000 1.0000 1.0000 clock clk (rise edge) 0.0000 1.0000 clock network delay (ideal) 0.0000 1.0000 clock reconvergence pessimism 1.0000 ^ a0_reg/CLK (sky130_fd_sc_hd__edfxtp_1) -0.2163 0.7837 library setup time 0.7837 data required time ------------------------------------------------------------------------------------- 0.7837 data required time -0.2000 data arrival time ------------------------------------------------------------------------------------- 0.5837 slack (MET)With the exception written only on
cfg, the path fromd0is timed again: slack 0.5837 ns.Self-Check
Tick each key point you covered in your answer.
-
What IfA False Path That Covers the ResetL1 JuniorL2 Mid-Level
What if the same broad false path also covers the reset input?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
Then the reset release has no recovery or removal check. A release near the clock edge can leave some flops in reset for one cycle longer than others. The design then starts in a mixed state. Time the release through its synchroniser, and keep recovery and removal checked.
Self-Check
Tick each key point you covered in your answer.
Misconception
"Reset is asynchronous, so it needs no timing."
Asserting it is asynchronous, but releasing it is checked against the clock by recovery and removal arcs.
Source Lesson L2.1 key points
-
Scale ItAuditing Constraints on a Large ChipL3 Senior
You inherit SDC for a chip with forty clocks. How do you audit it before trusting any timing result?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
Check coverage first: every register clocked, every port with a delay, zero unexplained unconstrained endpoints. Then review every exception against a written reason, since a false path or clock group trusted by STA removes checks for good. Compare the clock relationships with the design spec and the CDC report. Re-run the audit whenever the SDC or the netlist changes.
Self-Check
Tick each key point you covered in your answer.
-
Prove ItSolve L1.6.2: Reject an Incomplete Timing ReportSimulator-graded
Show it, don't just say it: this Silicon Lab problem is graded by the simulator.
-
Scale ItAuditing Constraints on a Large ChipL3 Senior
You inherit SDC for a chip with forty clocks. How do you audit it before trusting any timing result?
2:30You have two and a half minutes. Speak or type, then press Get Feedback under your answer. No credits needed.
Speech-to-text runs in your browser. Chrome and Edge may send audio to their own speech service.
You can edit your answer before you send it. Feedback uses AI and checks your answer only against our written answer. No credits are used and your answer is not saved.
Reveal the Model Answer
Check coverage first: every register clocked, every port with a delay, zero unexplained unconstrained endpoints. Then review every exception against a written reason, since a false path or clock group trusted by STA removes checks for good. Compare the clock relationships with the design spec and the CDC report. Re-run the audit whenever the SDC or the netlist changes.
Self-Check
Tick each key point you covered in your answer.
What People Get Wrong
Common wrong answers and why they fail.
Half-Truth
"Slack is the period minus the path delay."
That ignores clock latency on both sides, the setup time and uncertainty. Here the capture clock is 0.38 ns late, which is most of the margin.
Missed Corner
"WNS is positive, so every endpoint is fine."
WNS covers only constrained paths. Unconstrained endpoints never appear in a report, so run check_setup first.
Source ASIC Point lesson L2.5 (measured check_setup on a partial SDC)