nexus: Corrected auto frequency constraint for LF output of OSCA
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
This commit is contained in:
parent
43861c0ee2
commit
237391c1b8
@ -2000,7 +2000,7 @@ struct NexusPacker
|
||||
copy_constraint(ci, id_CLKI, id_CLKO, 1);
|
||||
} else if (ci->type == id_DCS) {
|
||||
// For DCC copy the worst case ("fastest") constraint
|
||||
delay_t period_clk0, period_clk1;
|
||||
delay_t period_clk0 = 0, period_clk1 = 0;
|
||||
bool have_clk0 = get_period(ci, id_CLK0, period_clk0);
|
||||
bool have_clk1 = get_period(ci, id_CLK1, period_clk1);
|
||||
if (have_clk0 && !have_clk1) {
|
||||
@ -2014,7 +2014,7 @@ struct NexusPacker
|
||||
int div = int_or_default(ci->params, id_HF_CLK_DIV, 128);
|
||||
const float tol = 1.07f; // OSCA has +/-7% frequency tolerance, assume the worst case.
|
||||
set_period(ci, id_HFCLKOUT, delay_t((1.0e6 / 450) * (div + 1) / tol));
|
||||
set_period(ci, id_LFCLKOUT, delay_t((1.0e3 / 10) / tol));
|
||||
set_period(ci, id_LFCLKOUT, delay_t((1.0e9 / 32) / 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,
|
||||
|
Loading…
Reference in New Issue
Block a user