毛刺现象的消除方法小结
毛刺现象的消除方法小结 在数字电路设计中,毛刺现象是一个非常重要的问题,特别是在FPGA设计中。毛刺现象是指在电路中的信号由于电平跳变而产生的暂时性电平变化,从而引起电路中的逻辑错误。为了解决这个问题,本文从FPGA的原理结构角度探讨了产生毛刺的原因及产生的条件,并总结了多种不同的消除方法。 1. 冗余项法 冗余项法是指通过增加冗余项来消除毛刺的方法。该方法有两种:代数法和卡诺图法。代数法是通过函数表达式来增加冗余项,而卡诺图法是通过真值表来增加冗余项。以卡诺图为例,当两个卡诺圆相切时,对应的电路就可能产生毛刺。因此,修改卡诺图,在卡诺图的两圆相切处增加一个圆,以增加多余项来消除逻辑冒险。 2. 采样法 采样法是指在输出信号的保持时间内对其进行采样,以消除毛刺信号的影响。常用的采样方法有两种:一种是使用一定宽度的高电平脉冲与输出相与,从而避开了毛刺信号,取得输出信号的电平值;另一种是锁存法,是利用D触发器的输入端D对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的输出信号。 3. 吸收法 吸收法是指增加输出滤波,以滤除毛刺。增加输出滤波可以滤除毛刺,但输出波形的前后沿将变坏。在对波形要求较严格时,应再加整形电路。 4. 延迟法 延迟法是指由于毛刺最终是由于延迟造成的,所以可以找出产生延迟的支路。对于相对延迟小的支路,加上毛刺宽度的延迟可以消除毛刺。但是,该方法也是有局限性的,因为随着负载增加,毛刺会继续出现。 5. 硬件描述语言法 硬件描述语言法是指从硬件描述语言入手,找出毛刺产生的根本原因,改变语言设计,产生满足要求的功能模块,来代替原来的逻辑功能块。例如,一个3位计数器可能会在011到100和101到110发生跳变时产生毛刺,究其原因是因为一次有2位发生跳变,可以采用VHDL语言对计数器编写,产生的计数模块代替原来普通的计数器。 毛刺现象的消除方法有多种,每种方法都有其优缺点,选择哪种方法取决于具体的应用和设计要求。