在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3619|回复: 6

[求助] 一个vcs仿真的时序先后判断问题

[复制链接]
发表于 2020-10-13 15:33:27 | 显示全部楼层 |阅读模式
100资产
最近的项目仿真遇到一个问题,lpc模块,在模块输出端,信号lfram在clk下跳变上升,并且lfram和clk同时输出到tb的设备模型中,但是设备模型在state跳变判断时,if条件在clk和lfram同时上升处判定为lfram==1成立,state状态出错,感觉这里非常奇怪。

lpc模块中
always@(posedge clk or negedge rst_n)
...
    if(lpc_start)
         lfram <= #`DLY 1'b1;
...

中间经过pad模块,整体延时0.1ns

lpc设备模型
always@(posedge clk or posedge i_rst)
...
    case(state)
    `IDLE:
    ...
    if(lfram) begin
         ...
         xx <= #`DLY_PH  1'b1;
         if(lad_i == 4'b0) begin
             state <= #`DLY_PH `START;
             ...
         end
    end
    else
          state <= #`DLY_PH `IDEL;
...


`DLY如果有值,这里模型能够正常工作。

我发现如果延时`DLY=0,则lpc设备模型中的xx信号会在lfram上升沿就跳变为1,即clk和lfram同为上升沿的时刻,vcs就判定lfram为1,这与一般信号随clk跳变存在先后的判断明显冲突,不知道哪位大神可以帮忙解释一下vcs仿真器在处理这种问题的工作机制。

同事说,中间的pad是组合逻辑,vcs的先后判断改变与它有关,不知道是否正确,是否能帮忙解释一下呢?

发表于 2020-10-13 17:05:39 | 显示全部楼层
本帖最后由 A1985 于 2020-10-13 17:08 编辑

这种问题都是仿真竞争,并行,顺序和EDA工具有关。干好lfrm在clock上升沿已经是1了,如果换个工具可能就不一样的结果
 楼主| 发表于 2020-10-14 13:57:48 | 显示全部楼层


A1985 发表于 2020-10-13 17:05
这种问题都是仿真竞争,并行,顺序和EDA工具有关。干好lfrm在clock上升沿已经是1了,如果换个工具可能就不 ...


我的timescale设为1fs/1fs了,lfram和clk也是同时到来,结果还是一样的,vcs在判断中还是会改变沿到来时,逻辑上的先后顺序吗
发表于 2020-10-14 14:27:55 | 显示全部楼层
本帖最后由 A1985 于 2020-10-14 14:29 编辑


nnnxxx1991 发表于 2020-10-14 13:57
我的timescale设为1fs/1fs了,lfram和clk也是同时到来,结果还是一样的,vcs在判断中还是会改变沿到来时 ...


和 timescale没有任何关系,和语义标准有关,这个是EDA工具tool-dependent,0延迟问题都会出现这样。线程先后顺序不可定。可能改变下代码的顺序,可能就变了。
发表于 2020-10-16 19:24:29 | 显示全部楼层
两处延时不一样,一个是`DLY,另一处是 `DLY_PH,这样是不好的哦,如果改成一样的,不太可能有你说的那种问题。
发表于 2021-8-11 10:18:41 | 显示全部楼层
本帖最后由 geff 于 2021-8-11 10:20 编辑

个人理解
时钟是不是经过pad后,无法再确认时钟和信号的关系
微信图片_20210811101344.jpg
发表于 2021-10-18 13:03:49 来自手机 | 显示全部楼层
pad对clk也延时了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 06:38 , Processed in 0.018915 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表