【 FPGA 】寄存器输出的不稳定态

版权声明:本博客内容来自于个人学习过程中的总结,参考了互联网、数据手册、帮助文档、书本以及论文等上的内容,仅供学习交流使用,如有侵权,请联系,我会重写!转载请注明地址! https://blog.csdn.net/Reborn_Lee/article/details/84439777

不稳定态,指的就是不稳定的状态。请注意,寄存器输出的不稳定状态并不是由于赋值冲突而导致的不确定状态(‘X’状态),而是由于不同路径的延迟不一致所导致的数据线上出现了一个或多个非预期的中间状态。

时序仿真时,寄存器的输出从A变为B时,中间会有一小段毛刺。毛刺其实是有确切的取值的。

单触发器寄存器

如果寄存器只包含一个触发器,即寄存器的容量为1bit。例如,在下一个有效时钟边沿到来时,要将一个1bit位宽的寄存器的输出从逻辑0变为逻辑1,那么波形图是否会出现若干次从0到1的振荡呢?

事实证明,不会出现不稳定态,因为一个时钟有效边沿最多只能改变输出一次

多触发器寄存器

对于多触发器寄存器,无论寄存器的位宽如何,它们都是由最基本的触发器构成的,而触发器在每个时钟的有效边沿只能改变一次,因此,除非经历多个时钟周期,否则寄存器的输出怎么会变化出多个值呢?

这是由于组成寄存器的各个触发器变化不一致。更精确地说,由于线延迟的存在,导致时钟信号到达各个寄存器的时间可能不一致,也导致各个触发器的输出端口到信号接收端所需的时间可能不一样,再加上各个寄存器的t_{co}等参数不可能精确一致,所以当我们改变多触发器寄存器的输出时,就会出现不稳定态。

猜你喜欢

转载自blog.csdn.net/Reborn_Lee/article/details/84439777