Из стандарта IEEE 1364-2001.
Страница 73:
Таблица 29 - Битовые длины, полученные из выражений, определяемых пользователем:
- Постоянное число без размера = То же, что и целое число
Страница 45:
- ПРИМЕЧАНИЕ. Реализации могут ограничивать максимальный размер целочисленной переменной, но они должны составлять не менее 32 бит.
Таким образом, вы видите предупреждения, возникающие при попытке оперировать одной числовой константой без размера (не менее 32 бит) с переменной размера (10 бит), поэтому синтезатор предупреждает о том, что результат может переполниться.
Итак, просто убедитесь, что все ваши операнды имеют одинаковый размер:
Вместо:
// code example
logic [9 : 0] a, b, c;
always_ff @(posedge clk) begin
b <= a + 1;
c <= a - 1;
end
Do:
// code example
logic [9 : 0] a, b, c;
always_ff @(posedge clk) begin
b <= a + 10'd1;
c <= a - 10'd1;
end