为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 试图完成的任务。

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