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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1259|回复: 3

[求助] 请教一下关于触发器的问题

[复制链接]
发表于 2019-7-5 10:49:08 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Tsuh2017 于 2019-7-5 10:50 编辑

我看到的一个实现按键计数的例子,key_n是输入按键,平时为高电平,按下为低电平,经过两级寄存同步得到syn_reg[1],syn_reg[1]再经过一级寄存器得到temp,temp与~syn_reg[1]相与得到输出flag_neg。仿真的波形如图2所示.当按键按下时,输出flag_neg会得到一个稍有延迟的脉冲信号。图3对应的是对flag_neg计数的代码,注意到flag_neg与时钟信号是对齐的,在时钟上升沿的时刻,flag_neg刚好发生了变化,请问下这样真的能够检测到flag_neg的高电平吗?这个现象不是和D触发器类似吗?在clk上升沿时D端同时发生变化,那么输出Q不是会不稳定,或者出现亚稳态吗?
RTL.png
图1

sim.jpg
图2

coding.png
图3

然后下面是我和老师的对答:
老师:可以的,这个就是fpga里面的时序电路的原理,拉高或者拉低的,都是在时钟沿之后的,FPGA内部,相同边沿采样,外部,中间采样。

我:那这个和寄存器是不一样的是吧?感觉还是很类似。

老师:一样的呀,就是寄存器呀


我:寄存器这样的采样结果不是会出现亚稳态吗?d的变化与时钟上升沿对齐,建立保持时间就不满足了

老师:这个只是前仿真,你后方真看一下,都是上升沿触发,但是真正的输出要经过输出延迟

我:啊?这样不会导致亚稳态吗?

老师:不要总是瞬间,瞬间的,建立时间和保持的时间比你说的瞬间更短,另外中间的传输也是需要时间的,刚开始学习的话,就记住这样是不会出问题的就好了。

问了老师之后,就更懵了,不知道老师的意思是不是D触发器的建立、保持时间也没必要去满足,有没有大神帮忙解答下?






















发表于 2019-7-5 11:18:49 | 显示全部楼层
1:你忘了电路除了逻辑function(你写的RTL code),还需要做时序约束(timing constraint),做STA(timing check)分析。Designer给了timing constraint,工具做了STA分析后,如果timing通过,DFF的setup/hold是满足的,那就能正常工作,没有亚稳态。
2:RTL 仿真只看function,不看timing。

所以你的电路功能是正确的,如果map到FPGA,还要给timing constraint,FPGA tool(VIVADO)帮你综合,分析timing。如果没有timing violation,那就能正常工作了。

但是实际上,你这电路有问题。因为按键输入本身有毛刺(um ~ms级别),所有你前面还需要一个按键毛刺滤波电路,这样才能按一次加1.


推荐个数字前端设计深度入门课程,可以看看:
http://bbs.eetop.cn/thread-854132-1-1.html
发表于 2019-7-5 18:01:28 | 显示全部楼层
建立时间与保持时间当然需要满足。
你们老师说的“拉高或者拉低的,都是在时钟沿之后的”,这个是对的。
而且这个之后的时间,比信号的建立时间要长不少。
flag信号是在同一个时钟域产生的1个clk宽的信号,所以肯定是可以检测到的,而且肯定不会漏掉。
比如这个flag是在1-0下降沿对齐的那个clk才检测到1的。
因为这个时候的时钟上升沿的前面的建立时间范围内flag是1,保持时间范围内也是1,所以可以检测到。
然后没过多久flag才真正拉低。
总之,时钟把触发器的值拉高拉低的时间,比建立保持时间大。
功能仿真看不出来。
发表于 2019-7-6 08:54:48 | 显示全部楼层
能够检测到的,实际电路是会有传输延时的,只要约束对了,时序是能够满足的。而仿真是比较理想的,不会带延时,所以看起来flag_en降沿是和clk沿对齐的,实际上,flag_en的变化是在clk沿之后的,包括flag_en的上升沿以及下降沿都是,非阻塞赋值,同一个时钟域,这样是没有问题的。你可以尝试在<=之后加一个小的delay,这样波形就更明确了,更好理解了。另外,如2#所说,建议输入加上滤毛刺逻辑。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 21:15 , Processed in 0.017740 second(s), 7 queries , Gzip On, Redis On.

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