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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] 关于仿真时 # 和@() 的区别

[复制链接]
发表于 2022-4-29 15:29:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
IC小白请教:
   昨天做SRAM的仿真的时候,发现一个奇怪的现象,read和write的task如图,主要差别是read的等一个周期的实现方法不同;
image.png image.png
   第一个for循环里面是写一个,读一个;第二个for循环里面是连续将刚刚写入的data读出来;
image.png
   问题是在第一张图里面的两种等1个周期的方式,仿真结果完全不一样。
比如在第一个for循环里,@(posedge ram_clk)的效果更加符合我的预期,#的效果变成了先write5次再read5次;
第二个for循环的wen信号表现类似,但是@(posedge ram_clk)比#PERIOD多了一个周期。
image.png
希望有大佬可以帮忙解释一下

image.png
发表于 2022-4-30 06:51:09 来自手机 | 显示全部楼层
这个很基础啊,#是与时间单位有关的,你看下你的timescale设置呢?另外是就算你的timescale设置正确,两者还是有差别啊,主要是第一次
 楼主| 发表于 2022-4-30 11:36:54 | 显示全部楼层


eaglezhang01 发表于 2022-4-30 06:51
这个很基础啊,#是与时间单位有关的,你看下你的timescale设置呢?另外是就算你的timescale设置正确,两者 ...


我的timescale是1ns/1ps哈,我比较搞不懂的问题就是用 #PERIOD也是等一个周期(我的clk翻转设置的是PERIOD/2),用@(posedge clk)也是等下一个clk的上升沿;而我仿真的时候是在一个时钟的上升沿(writer_ram的task最后是一个@(posedge clk))之后进行的这两种等待,理论上应该都是会等一个周期的延时。
即我觉得理论上应该是这样的实验现象,(@(posedge clk)的实验现象符合):
write(1 clk)->read(1 clk)->write(1 clk)->read(1 clk)->write(1 clk)->read(1 clk)->write(1 clk)->read(1 clk)>write(1 clk)->read(1 clk)

但是实际现象是#PERIOD这种等待方法没有等一个周期是:
write(1 clk)->write(1 clk)->write(1 clk)->write(1 clk)->write(1 clk)->read(1 clk)->read(1 clk)->read(1 clk)->read(1 clk)->read(1 clk)




发表于 2022-4-30 13:12:02 来自手机 | 显示全部楼层
看你的现象不知是我没理解清楚你想描述的还是就是这么诡异,你看一在等之前和之后加打印信息看一下他们真实的时间,真实时间可用$realtime得到,这样应该很容易就debug出来了
发表于 2022-5-2 09:33:47 来自手机 | 显示全部楼层
假设时钟周期为10,write 设置wen 为0,等一个上升沿,之后read 设置wen为1,#10,这时候write 又调用了,同时又把wen 设置为0,然后当前timeslot 应该等上升沿在#之后发生,所以wen实际又会变成0,你就会看到连续的wen为0。个人想法,仅供参考
 楼主| 发表于 2022-5-19 11:07:56 | 显示全部楼层


阿莹的三石 发表于 2022-5-2 09:33
假设时钟周期为10,write 设置wen 为0,等一个上升沿,之后read 设置wen为1,#10,这时候write 又调用了, ...


是的,你的想法是对的,我通过看实际时间戳证实了,非常感谢
 楼主| 发表于 2022-5-19 11:09:29 | 显示全部楼层


eaglezhang01 发表于 2022-4-30 13:12
看你的现象不知是我没理解清楚你想描述的还是就是这么诡异,你看一在等之前和之后加打印信息看一下他们真实 ...


非常感谢,我用$realtime debug出来了,是我对@(posedge)理解有误,他和#period是同步进行的,两者之间没有先后顺序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-15 15:37 , Processed in 0.028669 second(s), 8 queries , Gzip On, Redis On.

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