|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 ihjada 于 2015-4-9 17:13 编辑
请教各位大侠一个关于SVA的问题。
举个简单的例子,小弟我想用SVA去检测一个interface上的功能和时序,interface描述如下:
input clk;
input rstn;
input req;
input [1:0] itag;
input [7:0] din;
output resp;
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的问题。
等大侠。。。 |
|