Turn clock arrival times into the skew that each real data path sees.
Hardware context: Four flip-flops on three clock-tree branches. Distinguish local data-path skew from the full clock arrival spread.
The propagated-clock report gives fa=0.2151 ns, fb=0.2885 ns, fc=0.4529 ns and fd=0.5306 ns. Only fa→fb and fc→fd exchange data. All four arrivals use the same rising reference edge.
Return the two local skews using capture minus launch, and the global arrival spread using latest minus earliest. Each answer must be within 0.001 ns of the native report. The grader re-runs the fixed tree; you are completing its numerical handoff worksheet.
Requirements
| Requirement | Limit | Unit |
|---|---|---|
| Absolute error in fa → fb skew | ≤ 0.001 | ns |
| Absolute error in fc → fd skew | ≤ 0.001 | ns |
| Absolute error in global arrival spread | ≤ 0.001 | ns |
Live analysis: Live TT ideal-wire OpenSTA on the propagated three-branch ctree3 circuit from L5.1, with a 1 ns clock and 0.1 ns input slew. Local skews are computed from the minimum-path reports; no physical tree is synthesized here.
Full specification
| JSON field | Allowed values | Meaning |
|---|---|---|
| skew_ab | -2 to 2 | Capture arrival minus launch arrival, in ns. |
| skew_cd | -2 to 2 | Capture arrival minus launch arrival, in ns. |
| spread | 0 to 2 | Latest minus earliest arrival across the four clock pins, in ns. |
Live TT ideal-wire OpenSTA on the propagated three-branch ctree3 circuit from L5.1, with a 1 ns clock and 0.1 ns input slew. Local skews are computed from the minimum-path reports; no physical tree is synthesized here.
Numeric checks use inclusive bounds. A missing measurement always fails. Only the documented fields are accepted.
Examples
Example 1
Reverse both local signs- Input
{ "skew_ab": -0.0734, "skew_cd": -0.0777, "spread": 0.3155 }- Output
Absolute error in fa → fb skew: 0.1468 ns Absolute error in fc → fd skew: 0.1554 ns Absolute error in global arrival spread: 0 ns
Subtract the arrivals of the two endpoints that actually exchange data.
Example 2
Use the global spread twice- Input
{ "skew_ab": 0.3155, "skew_cd": 0.3155, "spread": 0.3155 }- Output
Absolute error in fa → fb skew: 0.2421 ns Absolute error in fc → fd skew: 0.2378 ns Absolute error in global arrival spread: 0 ns
Subtract the arrivals of the two endpoints that actually exchange data.
Example 3
Use capture arrival alone- Input
{ "skew_ab": 0.2885, "skew_cd": 0.0777, "spread": 0.3155 }- Output
Absolute error in fa → fb skew: 0.2151 ns Absolute error in fc → fd skew: 0 ns Absolute error in global arrival spread: 0 ns
Subtract the arrivals of the two endpoints that actually exchange data.
Submission rules
- Submit one JSON object with every documented configuration field. The supplied circuit and external environment stay fixed.
- Run measures your configuration. Submit applies the same requirements and records the result.
- The stated stage and cell corner define this exercise; passing does not establish full chip sign-off.
Hints
Hint 1
The same reference edge cancels when you subtract clock arrivals.
Hint 2
A local skew is not the capture latency by itself.
Hint 3
The earliest and latest sinks need not form a data path.
What is checked: Live TT ideal-wire OpenSTA on the propagated three-branch ctree3 circuit from L5.1, with a 1 ns clock and 0.1 ns input slew. Local skews are computed from the minimum-path reports; no physical tree is synthesized here.
Run and Submit use the same measured requirements. Run is a preview; Submit records an attempt. The fixed circuit and allowed settings use the pinned OpenROAD/OpenSTA engine.
More problems on this topic