【发布时间】:2026-01-30 04:00:01
【问题描述】:
我正在为数据路径电路实现 FSM 控制器。控制器在内部增加一个计数器。当我模拟下面的程序时,计数器从未更新。
reg[3:0] counter;
//incrementing counter in combinational block
counter = counter + 4'b1;
但是,在创建一个额外的变量 counter_next(如 Verilog Best Practice - Incrementing a variable 中所述)并仅在顺序块中递增计数器时,计数器会递增。
reg[3:0] counter, counter_next;
//sequential block
always @(posedge clk)
counter <= counter_next;
//combinational block
counter_next = counter + 4'b1;
为什么在前一种情况下计数器没有增加?我有什么遗漏吗?
【问题讨论】:
标签: hardware verilog fpga sequential