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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5685|回复: 10

[求助] 求:非阻塞赋值没有延时或只有半个周期延时,这是什么原因造成的?

[复制链接]
发表于 2017-3-18 16:59:48 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 1027199631 于 2017-3-21 11:35 编辑

求:非阻塞赋值没有延时或只有半个周期延时(在测试代码中改变clk的初值),这是什么原因造成的?理论上非阻塞赋值不是应该延时一个clk时钟吗?非阻塞赋值在always@(posedge clk)中always @(posedge clk)
     a<=b;



clk初值为0时,赋值无延时



clk初值为1时,赋值延时半个时钟
发表于 2017-3-18 21:43:30 | 显示全部楼层
你最好将代码和仿真波形贴出来,不然别人给你怎么看。其实我不会
发表于 2017-3-20 23:14:02 | 显示全部楼层
有代码么?
 楼主| 发表于 2017-3-21 11:31:26 | 显示全部楼层
回复 3# 547420883

例如:
always@(posedge clk)     a<=b;
出现下图两种情况:


clk初始值为0时,赋值无延时

clk初始值为1时,赋值有半个时钟延时
 楼主| 发表于 2017-3-21 11:31:57 | 显示全部楼层
回复 3# 547420883

例如:
always@(posedge clk)     a<=b;
出现下图两种情况:


clk初始值为0时,赋值无延时

clk初始值为1时,赋值有半个时钟延时
发表于 2017-3-21 14:03:29 | 显示全部楼层
你好像贴的是假的图片
发表于 2017-3-21 16:30:42 | 显示全部楼层
回复 5# 1027199631

不知道我理解的是不是你说的,modelsim仿真做的是功能仿真,所以它忽略的本级寄存器从D-Q的数值传输延时,而且输入信号必须是wire类型,net delay也是忽略不计的,所以在时钟上升沿数据直接被传输的b_o端口,但非阻塞赋值在两个寄存器传输之间是有效果的,b_o和c_o。中间差出一个时钟周期,你所说的差出半个时钟周期我觉得就是上面这种情况,是你testbench的问题,下降沿开始赋值要等到上升沿才能被采到。你的代码没有源码么,而且图片也看不见。
QQ图片20170321162016.png
 楼主| 发表于 2017-3-21 20:01:03 | 显示全部楼层
回复 6# princecity

哈哈,编辑插入图片提示服务器出错,没办法咯
 楼主| 发表于 2017-3-21 20:23:14 | 显示全部楼层
回复 7# 547420883


   你的理解是对的,谢谢您
发表于 2017-3-21 22:32:24 | 显示全部楼层
必须支持一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-5-26 07:27 , Processed in 0.028703 second(s), 8 queries , Gzip On, MemCached On.

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