请教一个SystemVerilog的断言
时间:10-02
整理:3721RD
点击:
大家好,下面是我尝试写的一个SVA的TB
`timescale 1ns/10ps
module SVA_practice;
reg clk;
reg a;
initial
begin
a=1'b1;
clk=1'b0;
end
always #5 clk=~clk;
property p1;
@(posedge clk) a ;
endproperty
a1:assert property(p1);
endmodule
在QuestaSim中仿真时,波形图中的a1总是显示为INACTIVE,可是我把a始终置为1了,断言应该成功才对啊。
不知道原因,向大家求助,谢谢。
`timescale 1ns/10ps
module SVA_practice;
reg clk;
reg a;
initial
begin
a=1'b1;
clk=1'b0;
end
always #5 clk=~clk;
property p1;
@(posedge clk) a ;
endproperty
a1:assert property(p1);
endmodule
在QuestaSim中仿真时,波形图中的a1总是显示为INACTIVE,可是我把a始终置为1了,断言应该成功才对啊。
不知道原因,向大家求助,谢谢。
偶用vcs没问题。估计是你用Questasim的问题,看看文档吧
怎么run的?没有激活
小编,我是一名学生,最近做毕设,已用verilog编写了一个tb,现在想用systemverilog再写个tb文件,
写了之后编译能过,但是仿真里面就没有我的sv文件选项,不会仿真
用的软件是questasim,你能告诉我一下怎么弄吗?是需要加库文件还是什么问题?谢谢。这个问题卡了我好久了,网上也没有找到
应该是工具的问题吧
感谢分享啊!
我觉得你的时钟赋值是不是有问题,试着在initial中去掉时钟的初始化
謝謝分享
initial中去掉初始化语句会有问题,导致仿真时clk不定态。从代码上看应该是断言成功的。
感谢小编~
assertion提示的信息,当断言失败时才会显示出来。很简单的实验方法:将1改为0;
学习了
这断言写的也太没有意义了吧?
你写的程序可能是先断言了,再a=1的,
试着在断言前加个延迟#4;等等,有延迟就行
makefile中没有加入sv选项吧
感谢小编分享自己遇到的问题