У меня есть параметризованный модуль в Verilog, где параметры - это тактовая частота и частота обновления, которая используется для расчета количества циклов бездействия, вставленных между экземплярами повторяющейся операции. Тем не менее, очень легко установить параметры, которые не могут быть достигнуты (потому что операция занимает нетривиальный промежуток времени, поэтому повторение должно произойти до того, как она будет завершена), и в данный момент проект не дает никакой обратной связи на этом.
Мне было интересно, есть ли какой-нибудь способ, которым я мог бы вызвать ошибку во время синтеза (или компиляции до моделирования), если условия не могут быть выполнены (то есть, если один локальный параметр меньше другого)? Возможно, это какой-то эквивалент популярного взлома C / C ++ во время компиляции.