我有一个简单的模块:
module always_comb_error_ex
(
input logic a, b,
output logic y, z
);
// Error (10166): SystemVerilog RTL Coding error at always_comb_error_ex.sv(13): always_comb
// construct does not infer purely combinational logic
// Info (10041): Inferred latch for "z" at always_comb_error_ex.sv(17)
// Info (10041): Inferred latch for "y" at always_comb_error_ex.sv(17)
always_comb begin
if (a > b) begin
y = 1;
z = 0;
end
else if (a < b) begin
// y = 0; // missing output will create latch
z = 1;
end
// else begin // missing 'else' block will create latch
// y = 1;
// z = 1;
// end
end
endmodule 由于我使用的是always_comb,所以我应该对闩锁有一些警告。但是使用Questa 10.7b没有任何警告
用于编译的tcl脚本:
set work work
vlib -type directory $work
vlog -work $work +acc -sv -vopt -O5 +incdir+./ ../src/sv_test.sv
exit发布于 2019-04-16 23:02:43
并非所有错误都可以通过简单的代码解析来捕获,这正是vlog所做的。一些错误/警告在细化之前不会显示出来,这是vsim
https://stackoverflow.com/questions/55705534
复制相似问题