У меня есть система, у которой есть некоторые тайм-ауты, которые имеют порядок секунд, для целей моделирования я хочу уменьшить их до микро- или миллисекунд.
У меня есть эти тайм-ауты, определенные в терминахколичества тактов моих часов FPGA.Так, в качестве примера
package time_pkg
parameter EXT_EN_SIG_TIMEOUT = 32'h12345678;
...
endpackage
я сравниваю счетчик с постоянным глобальным параметром EXT_EN_SIG_TIMEOUT, чтобы определить, настало ли время для утверждения сигнала разрешения.
Я хочу иметь этот параметр (а также множество других), определенных в пакете с именем time_pkg
в файле с именем time_pkg.v
, и я хочу использовать этот пакет для синтеза.
Но когда я имитирую свой дизайн в Riviera Pro (илиModelsim) я хотел бы иметь второй параметр, определенный внутри файла с именем time_pkg_sim.v
, который импортируется после time_pkg.v
и перезаписывает параметры с таким же именем, как уже определено в time_pkg
.
ЕслиЯ просто делаю time_pkg_sim.v
с пакетом внутри него с тем же именем (time_pkg
), и Ривьера жалуется, так как я пытаюсь повторно объявить пакет, который уже был объявлен.
Я не особенно хочу засорять мой hdl инструкциями, чтобы проверить, установлен ли флаг симуляции, чтобы решить, сравнивать ли счетчик с EXT_EN_SIG_TIMEOUT
или EXT_EN_SIG_TIMEOUT_SIM
Isсуществует ли стандартный способ переопределения параметров внутри пакетов при использовании инструмента моделирования?