微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > IC验证中遇到一个棘手问题,请各位帮帮忙

IC验证中遇到一个棘手问题,请各位帮帮忙

时间:10-02 整理:3721RD 点击:
现在遇到的情况是这样的:在平台的drive类里,我需要对从generator类里得来的数据进行编码,这个编码方式简单来说是对得到的数据进行bit time的设置,变为4us,然后通过signal_out输给DUT(signal_out是定义在接口中,用时钟上升沿采样),现在我不知道怎么将bit time变为4us,目前尝试用##符号延迟来实现,比如 ##3 master_if.signal_out=1;##3 master_if.signal_out=0;我想问有没有更好的办法来实现呢?谢谢了!

自顶一下

是要加这组信号,每根信号加不同延时么?
fork
#0if.data[0] <= data_in[0];
#3if.data[1] <= data_in[1];
#6if.data[1] <= data_in[1];
......
join

设置Tclk=4us,
while(1)
begin
@(posedgeclk);
master_if.signal_out<=datain;
end

谢谢楼上,给了我一点思路

感觉问题描述的不太清楚

你好,我想再问下,signal_out 变量是logic的,即logic signal_out,但是datain是11位的,能直接每次采样signal_out<=datain吗,好像应该是是signal_out<=datain

你的设计是按照bit进行采样的,datain是多比特的数据,用个for 循环进行控制吧。不然数据位宽就不匹配了。

用for 循环 将多bit转换成单bit 流输出

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top