如何使系统verilog中的寄存器无效
如果我不知道寄存器的大小,如何使SystemVerilog中的寄存器无效? 例如,如果我有:如何使系统verilog中的寄存器无效,verilog,verification,system-verilog,Verilog,Verification,System Verilog,如果我不知道寄存器的大小,如何使SystemVerilog中的寄存器无效? 例如,如果我有: reg [DATA_WIDTH-1:0] data_stack; 将一些参数数据_宽度指定给模块。是否可以将零分配给寄存器数据_堆栈 请注意,将一个类似的reg初始化为零就足够了,因为这样我可以简单地在两个reg之间执行按位and运算,并将数据堆栈置零。IEEE Std 1800-2009是黄金参考。以下内容将所有位设置为0: data_stack = '0; 请参阅整型文字常量一节 可以通过在 单
reg [DATA_WIDTH-1:0] data_stack;
将一些参数数据_宽度指定给模块。是否可以将零分配给寄存器数据_堆栈
请注意,将一个类似的reg初始化为零就足够了,因为这样我可以简单地在两个reg之间执行按位and运算,并将数据堆栈置零。IEEE Std 1800-2009是黄金参考。以下内容将所有位设置为0:
data_stack = '0;
请参阅整型文字常量一节
可以通过在
单位值,带撇号',但不带基
说明符。未定尺寸值的所有位应设置为
指定的位。在自定上下文中,一种未定大小的单个位
值的宽度应为1位,该值应视为
没有签名
IEEE标准1800-2009是黄金参考。以下内容将所有位设置为0:
data_stack = '0;
请参阅整型文字常量一节
可以通过在
单位值,带撇号',但不带基
说明符。未定尺寸值的所有位应设置为
指定的位。在自定上下文中,一种未定大小的单个位
值的宽度应为1位,该值应视为
没有签名
如果我理解你的问题,你想知道如何生成与数据栈宽度相同的零值吗 在这种情况下,请使用replication operator:
data_stack = {DATA_WIDTH{1'b0}};
这将生成零的数据宽度。如果我理解您的问题,您想知道如何生成与数据堆栈宽度相同的零值吗 在这种情况下,请使用replication operator:
data_stack = {DATA_WIDTH{1'b0}};
这将生成零个数的数据。我认为如果搜索初始化寄存器,而不是零化寄存器,搜索结果会更好 如果这是一个testbench变量,则只需:
initial begin
data_stack = {DATA_WIDTH{1'b0}};
end
如果要在触发器中使用,则需要重置它:
always @(posedge clk or negedge reset_n) begin
if (~reset_n) begin
data_stack <= {DATA_WIDTH{1'b0}};
end
else begin
//<=nextvalue;
end
end
我认为如果您搜索的是初始化寄存器,而不是null,那么您的搜索将产生更好的结果 如果这是一个testbench变量,则只需:
initial begin
data_stack = {DATA_WIDTH{1'b0}};
end
如果要在触发器中使用,则需要重置它:
always @(posedge clk or negedge reset_n) begin
if (~reset_n) begin
data_stack <= {DATA_WIDTH{1'b0}};
end
else begin
//<=nextvalue;
end
end