小弟愚昧,请问如何用SVA检查function和interface的问题?有例子
时间:10-02
整理:3721RD
点击:
请教各位大侠一个关于SVA的问题。
举个简单的例子,小弟我想用SVA去检测一个interface上的功能和时序,interface描述如下:
inputclk;
inputrstn;
inputreq;
input[1:0]itag;
input[7:0]din;
outputresp;
output [1:0]otag;
output [7:0]dout;
当clk上升沿时,如果req为1,则采样itag和din,然后随机几个clk cycle后会把相同的数据从dout送出去, 同时resp为高并以otag标记, 一个data对应一个tag。
波形信号从上到下依次是:
clk
req
itag
din
resp
otag
dout
用SVA检测下面几个方面:
1. 输出的otag必须是之前输入过的且尚未输出的itag, 否则报错
2. 输入的itag如果之前有输入且尚未输出otag,则tag不能重复, 否则报错
3. otag标记的dout必须和itag对应的din相等,否则报错
我尝试写了一个,但发现当resp out of order的时候,检测就出现漏洞了,其实这个问题主要是解决两边queue的问题。
等大侠。
波形图片没插进去,再试下
没人吗?自己顶一下
keep thinking啊
这论坛现在水的不行