Background
partition_o is the only NVDLA partition with two clocks: nvdla_core_clk (2000 ps) and nvdla_falcon_clk (2500 ps). The SDC that landed in #68 uses the closed-PR wording:
set_false_path -from [get_clocks nvdla_core_clk] -to [get_clocks nvdla_falcon_clk]
set_false_path -from [get_clocks nvdla_falcon_clk] -to [get_clocks nvdla_core_clk]
This passes end-to-end on Nautilus (15639 s to GDS), but the idiomatic form for asynchronous clock domains in OpenROAD's STA is:
set_clock_groups -asynchronous \
-group [get_clocks nvdla_core_clk] \
-group [get_clocks nvdla_falcon_clk]
set_clock_groups -asynchronous is a single declaration that disables timing between the groups in both directions. It's what CTS/STA look for to decide the clocks are asynchronous — the two set_false_path pairs are functionally equivalent for timing checks but don't always get interpreted the same way by clock-tree optimization.
Task
Swap partition_o's SDC over to set_clock_groups -asynchronous and confirm the flow still closes cleanly.
Acceptance
bazel build //designs/asap7/NVDLA/partition_o:partition_o_final completes cleanly.
- Timing report shows the two clocks in separate asynchronous groups (not just flagged as false paths between each other).
- No QoR regression (runtime, area, timing, power within ~1% of baseline).
Related
Background
partition_ois the only NVDLA partition with two clocks:nvdla_core_clk(2000 ps) andnvdla_falcon_clk(2500 ps). The SDC that landed in #68 uses the closed-PR wording:This passes end-to-end on Nautilus (15639 s to GDS), but the idiomatic form for asynchronous clock domains in OpenROAD's STA is:
set_clock_groups -asynchronousis a single declaration that disables timing between the groups in both directions. It's what CTS/STA look for to decide the clocks are asynchronous — the twoset_false_pathpairs are functionally equivalent for timing checks but don't always get interpreted the same way by clock-tree optimization.Task
Swap
partition_o's SDC over toset_clock_groups -asynchronousand confirm the flow still closes cleanly.Acceptance
bazel build //designs/asap7/NVDLA/partition_o:partition_o_finalcompletes cleanly.Related
partition_oSDC)sdc-staskill for SDC idiom reference.