diff options
author | gatecat <gatecat@ds0.me> | 2021-09-18 10:42:52 +0100 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-09-18 10:43:19 +0100 |
commit | 287a860283b8d8d6a5f0304d4561b422caa77b02 (patch) | |
tree | 88bf503cb5f2582f883165ebbf7c870942881820 /common | |
parent | d17b5faf76707dfeaeb4269822428daa77508cd4 (diff) | |
download | nextpnr-287a860283b8d8d6a5f0304d4561b422caa77b02.tar.gz nextpnr-287a860283b8d8d6a5f0304d4561b422caa77b02.tar.bz2 nextpnr-287a860283b8d8d6a5f0304d4561b422caa77b02.zip |
timing: Fix slack for unconstrained clocks
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'common')
-rw-r--r-- | common/timing.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/common/timing.cc b/common/timing.cc index 161769dc..85896f54 100644 --- a/common/timing.cc +++ b/common/timing.cc @@ -275,12 +275,13 @@ void TimingAnalyser::setup_port_domains() if (launch_data.key.clock != capture_data.key.clock) continue; IdString clk = launch_data.key.clock; - if (!ctx->nets.count(clk)) - continue; - NetInfo *clk_net = ctx->nets.at(clk).get(); - if (!clk_net->clkconstr) - continue; - delay_t period = clk_net->clkconstr->period.minDelay(); + delay_t period = ctx->getDelayFromNS(1.0e9 / ctx->setting<float>("target_freq")); + if (ctx->nets.count(clk)) { + NetInfo *clk_net = ctx->nets.at(clk).get(); + if (clk_net->clkconstr) { + period = clk_net->clkconstr->period.minDelay(); + } + } if (launch_data.key.edge != capture_data.key.edge) period /= 2; dp.period = DelayPair(period); |