问题描述
当我使用 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 试图完成的任务。
如果波形查看器本身提供视觉提示来帮助使其更清晰,而不是强迫用户诉诸延迟技巧,那就太好了。