1.2.2毛刺的产生与危害
信号在FPGA器件中通过逻辑单元连线时,一定存在延时。延时的大小不仅和连线的长
短和逻辑单元的数目有关,而且也和器件的制造工艺、工作环境等有关。因此,信号在器件中传输的时候,所需要的时间是不能精确估计的,当多路信号同时发生跳变的瞬间,就产生了“竞争冒险”。这时,往往会出现一些不正确的尖峰信号,这些尖峰信号就是“毛刺”。
让我们来具体看一下毛刺是如何产生的。下图是一个与门电路,
我们期望的设计是,a和b信号同时变化,这样输出OUT将一直为0,但是实际中OUT
产生了毛刺,它的仿真波形如下所示:
可见,即使是在最简单的逻辑运算中,如果出现多路信号同时跳变的情况,在通过内部走线之后,就一定会产生毛刺。而现在数字电路设计中的信号往往是由时钟控制的,如果将带有毛刺的输出信号直接连接到时钟输入端、清零或置位端口的设计,可能会导致严重的后果;此外对于多数据输入的复杂运算系统,每个数据都由相当多的位数组成。这时,每一级的毛刺都会对结果有严重的影响,如果是多级的设计,那么毛刺累加后甚至会影响整个设计的可靠性和精确性。
判断一个逻辑电路在某些输入信号发生变化时是否会产生毛刺,首先要判断信号是否会同时变化,然后判断在信号同时变化的时候,是否会产生毛刺,这可以通过逻辑函数的卡诺图或逻辑函数表达式来进行判断。
1.2.3毛刺的消除
毛刺是数字电路设计中的棘手问题,它的出现会影响电路工作的稳定性、可靠性,严重时会导致整个数字系统的误动作和逻辑紊乱。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库FPGA入门教程(5)在线全文阅读。
相关推荐: