我是 Verilog 新手,正在迈出 FPGA“编程”的第一步。 我有一个与此类似的参数化模块定义:
module foobar #(
parameter BITS = 4
) (...);
reg[BITS - 1:0] counter = 0;
...
if (counter == |) begin
...
end
...
endmodule
并且想要测试
|
是否设置了(或未设置)counter
的所有位。如何实现这一目标?如果没有参数化,通过指定会很容易,例如4'b1111
(或4'b0000
)。
使用复制串联运算符。检查是否设置了所有位:
if (counter == {BITS{1'b1}}) begin
检查所有位是否已清除:
if (counter == {BITS{1'b0}}) begin
启用 SystemVerilog 功能:
if (counter == '0) begin
if (counter == '1) begin