微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > VCS验证的一个奇怪现象

VCS验证的一个奇怪现象

时间:10-02 整理:3721RD 点击:
用VCS仿真的时候,发现一个问题:dump出fsdb波形,从时序上看逻辑是正确的,但是数据就是无法写入到register中,这种时序控制下有数据写进去而且还比较多,但就是有一部分数据写不进去,这部分控制一直没有改过,通过dve展开delta时间看也没有问题,通过多次试验发现,可能与cpu/ahb/clk的时钟有关系,同样写不进去的情况,在外面force了这几个时钟到一组确定可以跑过的值就没有问题了,请问有谁遇到过这种情况吗?或者,有什么建议吗?急,多谢了!

请LZ贴出这段逻辑看看?

always @(posedge pclk or negedge presetn)
if(!presetn)
for(I=0; I<8; I=I+1)
data[I] =<= 1'b0;
else if (wcen)
data[waddr] <= wdin;
同一个module,修改的仅是外部的clkg模块,却表现成不同的结果,所以我觉跟这段逻辑没有关系,应该跟外部的clkg有关系。事实上我很想请教的是,您是否遇到过fsdb波形上看到与理论不符的情况,还有是怎么解决的?就是从波形上看所有控制都没有问题,但是数据就是写不进去(这种写不进去的情况并非一定出现的,很大概率是能够写进去)

可以确定的是与这段逻辑没有关系,因为这个模块一直没有改过,修改的是它外面的clkg模块(提供时钟),clkg模块修改前后,这段逻辑会呈现不一样的仿真结果,修改之前是确定没有问题,而修改之后是偶尔会出现数据写不过去的情况,现在的问题主要是,用verdi和dve看波形都是没有问题的,所以哪怕问题出在哪个模块,却不知道如何具体定位到哪些代码,想请教一下您,是否有遇到过这种情况,或者有好的建议?

是通过ahb bus写register吗,会不会是clkg出来的时钟不满足协议,不是一次有效的写。我觉得波形不一定可靠,还是要看逻辑。

那在怀疑波形不可靠的情况下,还有什么办法能够协助更可靠的定位吗?

哦,pclk, presetn, wcen之间是啥关系?

单看小编给出的代码 第一反应是check一下wcen和时钟沿的关系

wcen宽度为一个pclk cycle

wcen与pclk沿对齐



check一下wen的生成逻辑呗
if(wen)那个判断下面加个counter记一下wen个数是不是和预期相同,
想在既然是有些写不进去说明wen有些没有采样到吧。

可能是阻塞/非阻塞赋值问题造成的。

为什么会想到是阻塞或非阻塞赋值造成的呢?

又遇到过因为blocking/non-blocking误用造成的问题,现象和这个类似。

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

网站地图

Top