Имеем такой вот код (пятиразрядный счетчик):
Код: Выделить всё
// memsel counter
reg[4:0] memsel_cnt;
always @(posedge clock or posedge reset or posedge outshift_enable) begin
if((reset == 1'b1) || (outshift_enable == 1'b1)) begin
memsel_cnt <= 5'd0;
end else begin
if(mac_run == 1'b1) begin
memsel_cnt <= memsel_cnt + 1'b1;
end
end
end
в такое нечто
Собственно, проблема в том, что вместо того, чтобы завести сигнал mac_run на входы
разрешения (ENA) триггеров memsel_cnt, Quartus фпихуивает мультиплексор между сумматором и триггерами
и замыкает с его помощью выходы триггеров на их же входы при значении управляющего сигнала mac_run=0.
Следует обратить внимание, что этот счетчик сбрасывается по двум сигналам, но есть еще
два, которые сбрасываются только общим ресетом. И они тоже синтезируются с мультиплексорами.
Что я делаю не так? Может какие-то настройки проекта покрутил, или мануал по Verilog не дочитал?


