为凿子中的模拟生成寄存器延迟

generate register delay for simulation in chisel

当我使用Verilog时,我想这样定义一个寄存器:

reg [7:0] cnt;
always @ (posedge clk) begin
   cnt <= #1 cnt + 1;
end

由于使用了#1,寄存器在波形中会在clk位后一点变化,调试时会很清楚。

我想知道我是否可以在 chisel3 中做到这一点?无论是通过 Firrtl 生成 Verilog,还是在 iotester 中生成“vcd”波形。

您不能在 Chisel 中执行此操作。 Chisel 仅支持面向同步数字设计的 Verilog 的一小部分可综合子集。 Chisel 精神的一个重要部分是模拟与综合相匹配(你正在模拟你正在制作的东西)。虽然我在更清晰的波形中完全看到了用例,但延迟的作用远不止于此,并不真正适合 Chisel 试图实现的目标。

如果波形查看器自己提供视觉提示来帮助使这一点更加清晰,而不是强迫用户诉诸延迟技巧,那就太好了。