【发布时间】:2021-12-28 09:01:52
【问题描述】:
我有一些verilog代码,其中我使用了一个变量“logic [1:0] internalSaveSense = 2'b00;”,这里我使用阻塞赋值,而在其他一些进程中我使用的是非相同变量“internalSaveSense
参考代码:
module someModuleName(in, out, qsave, save, restore);
input in;
output out;
output reg qsave = 1'b0;
input reg save;
input reg restore;
always@(save) begin
if(save == 1'b1)
qsave <= out;
end
assign out = (restore == 1'b1) ? qsave : in;
endmodule
我收到的警告信息是:
Warning-[SM_BNDP] Blocking and Non Blocking Assignments in different Processes
Found blocking and non-blocking assignments for signal 'qsave'.
我尝试将阻塞赋值(qsave = 1'b0)更改为非阻塞赋值(qsave
Error-[SE] Syntax error
Following verilog source has syntax error :
2138: token is '<='
output reg qsave <= 1'b0;
我是 verilog 新手,不知道如何解决此警告。任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: verilog warnings system-verilog