У меня есть параметр следующим образом:Verilog: нецелых параметры
parameter PARAM = 7'd69;
При попытке присвоить это значение ниже регистра:
reg [6:0] r;
Как это:
r <= PARAM;
Я получаю предупреждения о синтезе:
Предупреждение (10230): ... усечен значение с размером 32, чтобы соответствовать размеру мишени (7)
-
Это Я полагаю, это потому, что ПАРАМЕТР интерпретируется как целое число, поскольку оно определяется как параметр. Есть ли способ определить PARAM как 7 бит в ширину?
Я мог бы всегда передавать это как 7-битный ввод в модуль, но мне было интересно, есть ли более элегантное решение.
Это исправление очень понравилось. Точно так же, как голова к другим - всякий раз, когда вы создаете экземпляр модуля, значение, переданное параметру, должно также иметь одинаковую ширину бита, чтобы избежать предупреждений. – MikeGold