diff options
author | YRabbit <rabbit@yrabbit.cyou> | 2022-02-02 19:05:36 +1000 |
---|---|---|
committer | YRabbit <rabbit@yrabbit.cyou> | 2022-02-02 19:05:36 +1000 |
commit | 7ba14663338bd081ebcc5963e52edfb42547f36a (patch) | |
tree | 3e01a2aab175d1ec42f8968f07f094a7551d08c0 | |
parent | 370e98a2487b2db4fea01dbec980872fd570447f (diff) | |
parent | 6fceac95c02b16a208dd17123dba46bc3618c1fb (diff) | |
download | nextpnr-7ba14663338bd081ebcc5963e52edfb42547f36a.tar.gz nextpnr-7ba14663338bd081ebcc5963e52edfb42547f36a.tar.bz2 nextpnr-7ba14663338bd081ebcc5963e52edfb42547f36a.zip |
Merge branch 'master' into gowin-gui-noc
-rw-r--r-- | nexus/pack.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/nexus/pack.cc b/nexus/pack.cc index 41f9d806..5e9da304 100644 --- a/nexus/pack.cc +++ b/nexus/pack.cc @@ -1988,8 +1988,8 @@ struct NexusPacker } else if (ci->type == id_OSC_CORE) { int div = int_or_default(ci->params, ctx->id("HF_CLK_DIV"), 128); const float tol = 1.15f; // OSCA has +/-15% frequency tolerance, assume the worst case. - set_period(ci, id_HFCLKOUT, delay_t(tol * (1.0e6 / 450) * (div + 1))); - set_period(ci, id_LFCLKOUT, delay_t(tol * (1.0e3 / 10))); + set_period(ci, id_HFCLKOUT, delay_t((1.0e6 / 450) * (div + 1) / tol)); + set_period(ci, id_LFCLKOUT, delay_t((1.0e3 / 10) / tol)); } else if (ci->type == id_PLL_CORE) { static const std::array<IdString, 6> div{id_DIVA, id_DIVB, id_DIVC, id_DIVD, id_DIVE, id_DIVF}; static const std::array<IdString, 6> output{id_CLKOP, id_CLKOS, id_CLKOS2, |