Почему у меня этот вопрос-то возник.
Имеется некий многоразрядный регистр, в который записываются данные. Счетчик указывает адрес в регистре. Хочется сделать некоторые операции на лету, например, если имеем 3-ю выборку, то пишем вместо нее ноль, в остальных случаях - пишем входную дату.
Код
always @(posedge clk) begin
if (counter == 'd3)
reg [counter] <= 0;
else reg [counter] <= data;
end
Если counter пришел из другого модуля, то Квартус (9.1 х86) разводит мой проект на половину кристалла (около 60%), а память не трогает. Если counter задается внутри модуля, то регистр засовывается в память, а логика занимает 6-7% кристалла. Вот я и подумал, что чего-то не понимаю.