Skip to content

fix(iSTA): restore SRAM bus timing and show path fanout - #231

Merged
ZhishengZeng merged 4 commits into
mainfrom
sta_timing_main
Sep 15, 2026
Merged

ZhishengZeng merged 4 commits into
mainfrom
sta_timing_main

Conversation

@yipeix

@yipeix yipeix commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

Liberty bus members were omitted from the iSTA port model, and timing groups under bus pins were attached to the bus or last pin instead of each bit. This dropped SRAM setup/hold and clock-to-Q arcs and produced optimistic timing results.

This change expands ascending and descending pin ranges, applies inherited bus attributes before per-bit overrides, parses each bit's tables independently, restores the enclosing parser context, and resolves bus indices by their actual bit names. iSTA now imports bus-member ports and their internal-power data alongside scalar ports. Both Liberty visitor entry points use the same pin implementation.

Detailed timing RPTs now show physical load-pin counts in a Fanout column after Point, with Incr and Path on the same aligned row. Driver rows count unique connected load pins, including output ports; non-driver and clock/constraint summary rows leave the count blank. Weighted Liberty fanout checks keep their existing meaning.

Validation:

  • Release build and four local regressions passed; the new bus test reproduced the failure before the fix. Test-directory changes remain local and are excluded from this PR.
  • Both real SRAM corner libraries contain all 284 bus setup/hold arc sets and 64 clock-to-Q outputs after import.
  • Full TT/SS runs using both the original and existing PrimeTime SDCs succeeded; QoR and timing-path JSON are identical within each corner. Each SRAM's SDF setup/hold entries increased from 16 to 584, covering all 142 input bus bits.
  • SS setup violations increased from 220 to 364 endpoints; the endpoint set now exactly matches the existing PrimeTime result. Worst setup slack differs by 4.2 ps in TT and 9.6 ps in SS. Both corners still have no hold violations; numerical equivalence is not claimed.
  • NPC scalar-cell QoR and timing-path JSON are unchanged. git diff --check passed.
  • Rebuilt and reran TT/SS with the fanout column: all 237,260 reported driver counts match independently parsed DEF connectivity. QoR, timing-path, and weighted-fanout JSON are unchanged, as are the RPT path counts.

@yipeix
yipeix requested a review from ZhishengZeng September 14, 2026 14:39
@yipeix yipeix changed the title fix(iSTA): preserve per-bit SRAM timing and pin attributes fix(iSTA): restore SRAM bus timing and show path fanout Sep 14, 2026
@ZhishengZeng
ZhishengZeng merged commit 7d0eebb into main Sep 15, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants