关于如何让 modelsim/questa 包含所有“对象”以便它们出现在 WLF 中的任何想法?我试过 -novopt 和 +acc 没有任何成功?
我的 questasim/modelsim “do script” 提前退出,因为我尝试使用以下命令将所有信号记录到 wlf 文件中:
#Log all objects in the design.
log -r /*
run -all
日志文件生成的错误信息如下:
W ** UI-Msg: (vish-4014) No objects found matching '/*'.
# Error in macro ./simout.width.sim.do line 3
有没有办法让 questa/modelsim 在“log -r */”上找不到对象错误时退出 do 脚本?我想为每个设计重用相同的“do script”,即使是优化器删除所有对象的设计。
我所做的只是像这样简单,当我在 questa 中编译此源时,我没有找到匹配“*/”错误的对象:
module test_width;
reg [3:0] addr;
wire [3:0] addr2 = addr;
reg ntfy_reg_p;
reg ntfy_reg_n;
specify
//$width(reference_event, limit, width_threshold, notifier);
$width(posedge addr2, 50, 30, ntfy_reg_p);
$width(negedge addr2, 50, 30, ntfy_reg_n);
endspecify
always @(ntfy_reg_p or ntfy_reg_n) begin
$display("Error: width violation at %0t", $time);
end
initial begin
$monitor("addr2 = %b, %0t", addr2, $time);
#100 addr = 4'b0000;
#40 addr = 4'b0100; // get violation here
#100 addr = 4'b0000;
#100 addr = 4'b1111;
#10 $finish;
end
endmodule
这是我的模拟脚本:
C:/questasim64_2020.4/win64/vlib.exe work
C:/questasim64_2020.4/win64/vlog.exe -work work +acc ./vlog/test_setup.v || exit 1
C:/questasim64_2020.4/win64/vsimk.exe -c test_setup -wlf simout.setup.wlf -l simout.setup.log -voptargs=+acc -t 1fs -debugdb -do "do simout.setup.sim.do"