七夜浮生

【原创】FPGA时序学习之D触发器学习笔记

0
阅读(2267) 评论(0)

【原创】FPGA时序学习之D触发器学习笔记

D触发器主要内容

wps673C.tmp

D触发器:原理图、代码、时序图

wps677B.tmp

D触发器:建立/保持时间

wps678C.tmp

D触发器(亚稳态)

wps67AC.tmp

①:在时钟上升沿时,D在发生变化,如果D input输出为1则              Q=wps67AD.tmp

②:在时钟上升沿时,D在发生变化,如果D input输出为0则

Q=wps67BE.tmp

③:在时钟上升沿时,D在发生变化,在中间思考跳转很久,但不知道Dinput跳到0还是1(此状态出现概率非常低,但会出现)到下一个时钟还没有思考好是0还是1,没有出现稳定状态,这就是亚稳态

Q=wps67BF.tmp

亚稳态危害:会导致挂死,除了复位,完全不能工作。

出现亚稳态情景:

wps67CF.tmp

wps67E0.tmp

D触发器--亚稳态解决办法

wps67E1.tmp

dout B相对于CLHB是属于异步信号,我们在这里增加延时一个拍,增加一个触发器使其输出为dout a1,在增加一个D触发器,使其出现dout a2,保持同步输出。

wps6801.tmp

因为FIFO内部已经做好异步处理功能,所以使用FIFO来解决亚稳态。

wps6812.tmp

如果数据流非常小,几毫秒才出现一个,数量非常小,而且很有规律, 那么使用FIFO就很浪费了,就可以使用时能指示信号。