Tighten timing constraints on swerv_wrapper, coyote and jpeg - #4470
Tighten timing constraints on swerv_wrapper, coyote and jpeg#4470jorge-ferreira-pii wants to merge 1 commit into
Conversation
Shorten the clock periods, and the matching input delays, so these designs land with negative slack instead of slack to spare. swerv_wrapper also moves to 55% core utilization and NLDM libraries. Signed-off-by: Jorge Ferreira <jorge.ferreira@precisioninno.com>
There was a problem hiding this comment.
Code Review
This pull request updates timing constraints and configuration parameters across multiple designs, including asap7/swerv_wrapper, gf12/coyote, and sky130hs/jpeg. Key changes include switching the library model to NLDM, increasing core utilization, and reducing clock periods and input/output delays. The review feedback recommends removing commented-out code in the configuration file and defining a clock period variable in the SDC file to avoid hardcoding delays across thousands of lines, which greatly improves maintainability.
| #export LIB_MODEL = CCS | ||
| export LIB_MODEL = NLDM |
| create_clock -name core_clk -period 2000 -waveform {0.0000 1000} [get_ports {clk_i}] | ||
| create_clock -name vclk -period 2000 |
There was a problem hiding this comment.
Instead of hardcoding the clock period (2000) and half-period values (1000) throughout the file, define a variable for the clock period and derive the other values from it. This makes it much easier to scale or modify the timing constraints in the future without having to update thousands of lines of input/output delays.
set clk_period 2000
set io_delay [expr {$clk_period / 2.0}]
create_clock -name core_clk -period $clk_period -waveform [list 0.0 $io_delay] [get_ports {clk_i}]
create_clock -name vclk -period $clk_period
🔍 QoR checkMetrics reflect the PR merge build — i.e. what will land on the target branch. Advisory — results are log-only and do not affect build status. The authoritative QoR gate remains the local rules-file check. Commit 62 design(s) checked — 2 with regression(s), 0 without a comparable baseline.
❌ asap7/swerv_wrapper base — 6 failing metric(s)
❌ sky130hs/jpeg base — 9 failing metric(s)
|
|
@jorge-ferreira-pii Please update the metrics and add the summary into the PR description. |
Shorten the clock periods, and the matching input delays, so these designs land with negative slack instead of slack to spare. swerv_wrapper also moves to 55% core utilization and NLDM libraries.