How riscv-ui/nebula-2026-digital-timing-blinders works
This repository documents an RTL timing-optimization research flow: identify critical paths, propose RTL changes, reject unsafe candidates, and compare surviving designs using routed PPA and formal evidence. The sampled legacy loop directly shows STA, synthesis, hierarchy localization, and equivalence tooling; README capabilities fill in the broader benchmark, gate, and signoff picture. The documented bench/ paths are absent from the supplied tree, so those components use the existing enclosing flow path or remain unwired where implementation ownership is unclear.
Main entry points: llm_loop.py Optimization Loop · artifacts Run Evidence · run_sta.py Critical Paths · rtl Candidate RTL
Components 16
Design and Timing
- Frozen RTL
rtl - Timing Constraints
- Critical Paths
orfs_custom/flow/run_sta.py
Candidate Loop
- Optimization Loop
orfs_custom/flow/llm_loop.py - Candidate RTL
rtl - Target Localization
orfs_custom/flow/rtl_hierarchy.py - Fast Synthesis
orfs_custom/flow/run_synth.py
Safety Gates
- Lint Gate
orfs_custom/flow/run_lint.py - Formal Equivalence
orfs_custom/flow/run_eqy.py - Latency and Clock Checks
orfs_custom/flow
Signoff Evidence
- Routed PPA
scripts - Run Evidence
artifacts - Submission Report
report - Recorded Demo
demo_v2.py
Other components
- Flow User
- LLM Provider
Connections 18
- Flow User → Optimization Loop: starts run
- Frozen RTL → Optimization Loop: provides RTL
- Timing Constraints → Optimization Loop: sets timing
- Optimization Loop → Critical Paths: measures paths
- Critical Paths → Optimization Loop: returns paths
- Optimization Loop → LLM Provider: requests edits
- LLM Provider → Optimization Loop: proposes RTL
- Optimization Loop → Target Localization: localizes target
- Optimization Loop → Candidate RTL: applies edit
- Optimization Loop → Fast Synthesis: synthesizes candidate
- Optimization Loop → Lint Gate: checks candidate
- Optimization Loop → Formal Equivalence: proves candidate
- Optimization Loop → Latency and Clock Checks: checks contracts
- Candidate RTL → Routed PPA: routes accepted design
- Routed PPA → Run Evidence: records PPA
- Formal Equivalence → Run Evidence: records proof
- Run Evidence → Submission Report: supplies evidence
- Run Evidence → Recorded Demo: supplies recordings