电路中如何消除方波跳变时产生的尖刺
变压器原边第一个电流尖峰该如何消除

变压器原边第一个电流尖峰该如何消除如上图以最常见的反激电源为例只要实际测试过开关电源原边电感电流波形的工程师,都看到过图中的这样一个波形,电流线性上升之前会冒出一个尖峰电流,并且有个时候甚至比正常的峰值电流还要高。
这个尖峰是有害的。
1、就是由于这个尖峰的存在,开关电源芯片为了防止误触发加入了前沿消隐,如果太高还是有可能误触发。
2、这个尖峰(di/dt很大)对开关电源EMI影响不小。
3、这个尖峰电流会增大MOS开关管开通时的交越损耗,降低效率4、客户看着不爽,工程师自己看着也不爽所以我们希望它越小越好最好是没有。
要降低这个尖峰就必须知道他的来源对于这个下面我来分享一下我的看法,如有错误还请指出。
对于反激拓扑中,在MOS管开启的那一瞬间,有2条实际接了线的路径,一条是驱动那边,另一条是mos的漏原极到电感,最后一个就是副边电流通过变压器耦合过来的。
1、MOS管开启时驱动电流由G流到S到地这条路径是有电流的(驱动电路上有驱动电阻限制驱动电流的这个电流不大);2、另外一条通路从MOS下来的,从表面上看这条通路连接电感,电感上的这个电流实际上就是主电流是从0缓慢(相对于尖峰电流)上升的,但别忘了还有一个隐藏的通路就是变压器原边绕组是有寄生电容的(层间电容和匝间电容),这个寄生电容里面存储的电量瞬间由MOS到地放出,会产生一个较大尖峰电流。
3、还有一个就是从副边耦合过来的电流,我们都知道副边整流二极管从导通(正偏)到反偏的这个过程中二极管有一个反向恢复电流。
这个反向恢复电流是通过二极管和变压器副边绕组的,它会通过耦合折射到原边绕组上的(注意:在DCM下没有反向恢复电流)。
在反向电场作用下,P区电子被拉回N区,N区空穴被拉回P区,形成反向漂移电流IR,如下图所示;经过分析之后,这个尖峰电流由3部分组成:1、驱动电流(很小)2、原边绕组寄生电容通过MOS瞬间释放电流3、副边二极管反向恢复电流(DCM无反向恢复电流)好了我们知道主要是有2、3引起的这个电流,我们就可以对症下药了。
毛刺信号消除电路的研究与实现

第32卷第4期集宁师专学报Vol.32,No.42010年12月Journal of JiningTeachers College Dec.2010收稿日期:2010-06-13作者简介:聂阳,男,汉族,内蒙古乌兰察布市人,硕士,研究方向:系统级芯片设计、D SP 电路设计。
基金资助:2010年度内蒙古自治区高等学校科学研究项目:《基于FPG A 的数字电路教学方法变革与研究思路》(编号:N )毛刺信号消除电路的研究与实现聂阳,赵鹏宇,荆丽丽(集宁师范学院物理系,内蒙古乌兰察布012000)摘要:本文分析了毛刺信号的消除电路,以电路实例给出毛刺信号消除的三种电路解决方案,并利用FPG A 和ED A 仿真软件给出了仿真结果,具有一定的工程指导意义。
关键词:毛刺信号;延时电路;定时电路中图分类号:TN 492文献标识码:A 文章编号:1009-7171(2010)04-0011-051引言信号在数字系统内部传输时,都有一定的延时。
延时的大小不仅与连线的长短和逻辑单元的数目有关,还受器件的制造工艺、工作电压、温度等条件的影响;同时信号的高低电平转换也需要一定的过渡时间[]1。
当多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为毛刺。
1.1电路理论分析根据理论分析,若实现如下电路y=ab +cd ,其电路原理图和仿真图如图1、2所示,从图2中可以看到4个信号都发生变化时,电路的输出产生毛刺。
图1电路原理图图2电路仿真图J 1021212集宁师专学报第32卷2毛刺信号消除电路解决方案2.1消除毛刺信号—增加冗余项函数式和真值表所描述的是静态逻辑,而竞争则是从一种稳态到另一种稳态的过程。
因此竞争是动态过程,它发生在输入变量变化时。
此时,若在两个卡诺图圆圈相切处增加一个冗余的卡诺图圈,即卡诺图的两圆相切处增加一个圆,可以消除逻辑冒险。
FPGA消除毛刺的方法

如何解决FPGA电路设计中的毛刺问题如何解决FPGA电路设计中的毛刺问题武汉大学电气工程学院张志杰汪翔引言随着半导体技术的飞速发展,FPGA(Field Programmable Gate Array)的计算能力、容量以及可靠性也有了很大的提高。
它正以高度灵活的用户现场编程功能、灵活的反复改写功能、高可靠性等优点,成为数字电路设计、数字信号处理等领域的新宠。
但和所有的数字电路一样,毛刺也是FPGA电路中的棘手问题。
它的出现会影响电路工作的稳定性、可靠性,严重时会导致整个数字系统的误动作和逻辑紊乱。
因此,如何有效正确的解决设计中出现的毛刺,就成为整个设计中的关键一环。
本文就FPGA设计中出现的毛刺问题,根据笔者自己的经验和体会,提出了几种简单可行的解决方法和思路,供同行供交流与参考。
FPGA电路中毛刺的产生我们知道,信号在FPGA器件中通过逻辑单元连线时,一定存在延时。
延时的大小不仅和连线的长短和逻辑单元的数目有关,而且也和器件的制造工艺、工作环境等有关。
因此,信号在器件中传输的时候,所需要的时间是不能精确估计的,当多路信号同时发生跳变的瞬间,就产生了“竞争冒险”。
这时,往往会出现一些不正确的尖峰信号,这些尖峰信号就是“毛刺”。
另外,由于FPGA以及其它的CPLD器件内部的分布电容和电感对电路中的毛刺基本没有什么过滤作用,因此这些毛刺信号就会被“保留”并传递到后一级,从而使得毛刺问题更加突出。
可见,即使是在最简单的逻辑运算中,如果出现多路信号同时跳变的情况,在通过内部走线之后,就一定会产生毛刺。
而现在使用在数字电路设计以及数字信号处理中的信号往往是由时钟控制的,多数据输入的复杂运算系统,甚至每个数据都由相当多的位数组成。
这时,每一级的毛刺都会对结果有严重的影响,如果是多级的设计,那么毛刺累加后甚至会影响整个设计的可靠性和精确性。
下面我们将以乘法运算电路来说明毛刺的产生以及去除,在实验中,我们使用的编程软件是Quartus II2.0,实验器件为CycloneEP1CF400I7。
电路中如何消除方波跳变时产生的尖刺

电路中如何消除方波跳变时产生的尖刺?解释一:在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。
产生毛刺叫冒险。
如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的(冗余)消去项,但是不能避免功能冒险,二是在芯片外部加电容。
三是增加选通电路。
在组合逻辑中,由于多少输入信号变化先后不同、信号传输的路径不同,或是各种器件延迟时间不同(这种现象称为竞争)都有可能造成输出波形产生不应有的尖脉冲(俗称毛刺),这种现象成为冒险。
解释二:竞争与冒险是数字电路中存在的一种现象。
由于元器件质量和设备工艺已达到相当高的水平,因而数字电路的故障往往是竞争与冒险引起的,所以要研究它们。
在一个复杂的数字电路的设计阶段,就完全预料电路中的竞争与冒险是困难的,有一些要通过实验来检查。
下面将说明组合数字电路中竞争与冒险的基本概念和确定消除它的一些基本方法。
竞争:在组合电路中,信号经由不同的途径达到某一会合点的时间有先有后,这种现象称为竞争。
冒险:由于竞争而引起电路输出发生瞬间错误现象称为冒险。
表现为输出端出现了原设计中没有的窄脉冲,常称其为毛刺。
竞争与冒险的关系:有竞争不一定会产生冒险,但有冒险就一定有竞争。
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。
产生毛刺叫冒险。
如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。
当组合逻辑电路存在冒险现象时,可以采取修改逻辑设计,增加选通电路,增加输出滤波等多种方法来消除冒险现象。
当一个门的输入有两个或两个以上的变量发生改变时,由于这些变量是经过不同路径产生的,使得它们状态改变的时刻有先有后,这种时差引起的现象称为竞争(Race)。
数字电路毛刺消除问题

数字电路⽑刺消除问题参考博⽂:和1. ⽑刺的产⽣原因:冒险和竞争使⽤分⽴元件设计电路时,由于PCB在⾛线时,存在分布电容和电容,所以在⼏ns内⽑刺被⾃然滤除,⽽在PLD内部没有分布电感和电容,所以在PLD/FPGA设计中,竞争和冒险问题⽐较重要。
信号在FPGA器件内部通过连线和逻辑单元时,都有⼀定的延时。
延时的⼤⼩与连线的长短和逻辑单元的数⽬有关,同时还受器件的制造⼯艺、⼯作电压、温度等条件的影响。
信号的⾼低电平转换也需要⼀定的过渡时间。
由于存在这两⽅⾯因素,多路信号的电平值发⽣变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现⼀些不正确的尖峰信号,这些尖峰信号称为"⽑刺"。
如果⼀个组合逻辑电路中有"⽑刺"出现,就说明该电路存在"冒险"。
可以概括的讲,只要输⼊信号同时变化,(经过内部⾛线)组合逻辑必将产⽣⽑刺。
将它们的输出直接连接到时钟输⼊端、清零或置位端⼝的设计⽅法是错误的,这可能会导致严重的后果。
所以我们必须检查设计中所有时钟、清零和置位等对⽑刺敏感的输⼊端⼝,确保输⼊不会含有任何⽑刺。
存在逻辑冒险的电路:仿真波形:2. 判断是否存在冒险关于冒险的知识,数电书上有详细的说明,当时没有认真学,只了解个⼤概,现在⼜要重新看...还记得当年画卡诺图时的痛苦冒险按照产⽣⽅式分为静态冒险 & 动态冒险两⼤类。
静态冒险指输⼊有变化,⽽输出不应该变化时产⽣的窄脉冲;动态冒险指输⼊变化时,输出也应该变化时产⽣的冒险。
动态冒险是由静态冒险引起的,所以,存在动态冒险的电路也存在静态冒险。
静态冒险根据产⽣条件不同,分为功能冒险和逻辑冒险两种。
当有两个或两个以上的输⼊信号同时变化时,在输出端有⽑刺,称为功能冒险;如果只有⼀个输⼊变量变化时,出现的冒险称为逻辑冒险。
因为动态冒险是由静态冒险引起的,所以消除了静态冒险,也就消除了动态冒险。
毛刺与抗干扰

毛刺与抗干扰在FPGA的设计中,毛刺现象是影响设计效率和数字系统设计有效性和可靠性的主要因素。
由于信号在FPGA的内部走线和通过逻辑单元时造成的延迟,在多路信号变化的瞬间,组合逻辑的输出常常产生一些小的尖峰,即毛刺信号,这是由FPGA内部结构特性决定的。
毛刺现象在FPGA的设计中是不可避免的,有时任何一点毛刺就可以导致系统出错,尤其是对尖峰脉冲或脉冲边沿敏感的电路更是如此。
因此,克服和解决毛刺问题对现代数字系统设计尤为重要。
一、FPGA电路中毛刺的产生我们知道,信号在FPGA器件中通过逻辑单元连线时,一定存在延时。
延时的大小不仅和连线的长短有关,还和逻辑单元的数目有关,而且也和器件的制造工艺、工作环境等有关。
因此,信号在器件中传输的时候,所需要的时间是不能精确估计的,当多路信号同时发生跳变的瞬间,就产生了“竞争冒险”。
这时,往往会出现一些不正确的尖峰信号,这些尖峰信号就是“毛刺”。
另外,由于FPGA及其他的CPLD器件内部的分布电容和电感对电路中的毛刺基本没有什么过滤作用,因此这些毛刺信号就会被“保留”并传递到下一级,从而使得毛刺问题更加突出。
可见,即使是在最简单的逻辑运算中,如果出现了多路信号同时跳变的情况,在通过内部走线之后,就一定会产生毛刺。
而现在在数字电路设计及数字信号处理中的信号往往是由时钟控制的,多数据输入的复杂运算系统,甚至每个数据都由相当多的位数组成。
这时,每一级的毛刺都会对结果有严重的影响,如果是多级的设计,那么毛刺累加后甚至会影响整个设计的可靠性和精确性。
总的来说,毛刺发生的条件就是同一时刻有多个信号输入发生改变。
二、毛刺的消除方法1.利用冗余项法利用冗余项消除毛刺有两种方法:代数法和卡诺图法,两者都是通过增加冗余项来消除险象,只是前者针对于函数表达式而后者针对于真值表。
以卡诺图为例,若两个卡诺图的两圆相切,其对应的电路就可能产生险象。
因此,修改卡诺图,在卡诺图的两圆相切处增加一个圆,以增加多余项来消除逻辑冒险。
电路中如何消除方波跳变时产生的尖刺.doc

电路中如何消除方波跳变时产生的尖刺?解释一:在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。
产生毛刺叫冒险。
如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的(冗余)消去项,但是不能避免功能冒险,二是在芯片外部加电容。
三是增加选通电路。
在组合逻辑中,由于多少输入信号变化先后不同、信号传输的路径不同,或是各种器件延迟时间不同(这种现象称为竞争)都有可能造成输出波形产生不应有的尖脉冲(俗称毛刺),这种现象成为冒险。
解释二:竞争与冒险是数字电路中存在的一种现象。
由于元器件质量和设备工艺已达到相当高的水平,因而数字电路的故障往往是竞争与冒险引起的,所以要研究它们。
在一个复杂的数字电路的设计阶段,就完全预料电路中的竞争与冒险是困难的,有一些要通过实验来检查。
下面将说明组合数字电路中竞争与冒险的基本概念和确定消除它的一些基本方法。
竞争:在组合电路中,信号经由不同的途径达到某一会合点的时间有先有后,这种现象称为竞争。
冒险:由于竞争而引起电路输出发生瞬间错误现象称为冒险。
表现为输出端出现了原设计中没有的窄脉冲,常称其为毛刺。
竞争与冒险的关系:有竞争不一定会产生冒险,但有冒险就一定有竞争。
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。
产生毛刺叫冒险。
如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。
当组合逻辑电路存在冒险现象时,可以采取修改逻辑设计,增加选通电路,增加输出滤波等多种方法来消除冒险现象。
当一个门的输入有两个或两个以上的变量发生改变时,由于这些变量是经过不同路径产生的,使得它们状态改变的时刻有先有后,这种时差引起的现象称为竞争(Race)。
竞争的结果若导致冒险或险象(Hazard)发生(例如毛刺),并造成错误的后果,那么就称这种竞争为临界竞争。
毛刺产生和消除

数字逻辑基础LOGO毛刺产生及消除传播延迟不仅限制电路工作的速度,它们也会在输出端引起不期望的多余跳变。
这些多余的跳变,称为“毛刺”。
⏹这将导致当其中一个信号发生改变时,给信号提供了两条或更多的流过电路的路径,并且其中一条路径的延迟时间比其他路径长。
⏹当信号路径在输出门重组时,这个在一条路径上增加的时间延迟会产生毛刺。
毛刺产生及消除当一个输入信号通过两条路径或多条路径驱动的一个输出,其中一条路径有反相器而另外一条没有时,通常会出现非对称的延迟。
包含反相器会产生毛刺的组合逻辑结构毛刺产生及消除毛刺生成逻辑结构和时序分析毛刺产生及消除当一个输入用于两个积项(或者和之积方程式的两个和项),以及反相器在其中一项中有而另一项中没有时,将会产生毛刺。
在该卡诺图中,两个圆圈决定了最小逻辑表达式。
B·C 独立于A 。
当B 变化时,两种不同的积项必须在输出时重组以保持输出为高,这就是引起毛刺的原因。
产生毛刺的电路毛刺该设计保存在\eda_verilog\glitch 目录下毛刺产生及消除电路产生毛刺可以通过它原理图、卡诺图或者是逻辑等式验证。
⏹在原理图中,输入后面有多条到达输出的路径,并且其中一条有反相器而其他路径没有就会产生毛刺。
⏹在卡诺图中,假如画的圈是相邻的但不重叠,那么那些没有被圈圈住的相邻项将有可能产生短时脉冲干扰。
毛刺产生及消除可能的毛刺没有毛刺没有毛刺毛刺产生及消除对于毛刺的产生,一个逻辑电路必须对驱动所有输入到适当的水平的耦合变量“很敏感”,这样就只有耦合变量可以影响输出。
在一个SOP 电路中,这意味着除了耦合输入外的所有的输入必须被驱动到“1”,这样它们对第一级与门的输出就不会产生影响。
这种情况为逻辑电路消除毛刺提供了一个直观的方法:将所有多余的输入信号组合到一个新的第一级的逻辑输入(例如,SOP 电路的与门),并将这个新增加的门添加到电路中。
毛刺产生及消除逻辑表达式:耦合项是A ,多余项可以组合成项的形式,将这项添加到电路组成方程式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电路中如何消除方波跳变时产生的尖刺?
解释一:
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。
产生毛刺叫冒险。
如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的(冗余)消去项,但是不能避免功能冒险,二是在芯片外部加电容。
三是增加选通电路。
在组合逻辑中,由于多少输入信号变化先后不同、信号传输的路径不同,或是各种器件延迟时间不同(这种现象称为竞争)都有可能造成输出波形产生不应有的尖脉冲(俗称毛刺),这种现象成为冒险。
解释二:
竞争与冒险是数字电路中存在的一种现象。
由于元器件质量和设备工艺已达到相当高的水平,因而数字电路的故障往往是竞争与冒险引起的,所以要研究它们。
在一个复杂的数字电路的设计阶段,就完全预料电路中的竞争与冒险是困难的,有一些要通过实验来检查。
下面将说明组合数字电路中竞争与冒险的基本概念和确定消除它的一些基本方法。
竞争:在组合电路中,信号经由不同的途径达到某一会合点的时间有先有后,这种现象称为竞争。
冒险:由于竞争而引起电路输出发生瞬间错误现象称为冒险。
表现为输出端出现了原设计中没有的窄脉冲,常称其为毛刺。
竞争与冒险的关系:有竞争不一定会产生冒险,但有冒险就一定有竞争。
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。
产生毛刺叫冒险。
如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。
当组合逻辑电路存在冒险现象时,可以采取修改逻辑设计,增加选通电路,增加输出滤波等多种方法来消除冒险现象。
当一个门的输入有两个或两个以上的变量发生改变时,由于这些变量是经过不同路径产生的,使得它们状态改变的时刻有先有后,这种时差引起的现象称为竞争(Race)。
竞争的结果若导致冒险或险象(Hazard)发生(例如毛刺),并造成错误的后果,那么就称这种竞争为临界竞争。
若竞争的结果没有导致冒险发生,或虽有冒险发生,但不影响系统的工作,那么就称这种竞争为非临界竞争。
组合逻辑电路的险象仅在信号状态改变的时刻出现毛刺,这种冒险是过渡性的,它不会使稳态值偏离正常值,但在时序电路中,冒险是本质的,可导致电路的输出值永远偏离正常值或者发生振荡。
组合逻辑电路的冒险是过渡性冒险,从冒险的波形上,可分为静态冒险和动态冒险。
输入信号变化前后,输出的稳态值是一样的,但在输入信号变化时,输出信号产生了毛刺,这种冒险是静态冒险。
若输出的稳态值为0,出现了正的尖脉冲毛刺,称为静态0险象。
若输出稳态值为1,出现了负的尖脉冲毛刺,则称为静态1冒险。
输入信号变化前后,输出的稳态值不同,并在边沿处出现了毛刺,称为动态险象(冒险)。
从引起冒险的具体原因上,冒险可以分为函数冒险和逻辑冒险。
函数冒险是逻辑函数本身固有的,当多个输入变量发生变化时,常常会发生逻辑冒险。
避免函数冒险的最简单的方法是同一时刻只允许单个输入变量发生变化,或者采用取样的办法。
单个输入变量改变时,不会发生函数冒险,但电路设计不合适时,仍会出现逻辑冒险。
通过精心设计,修改电路的结构,可以消除逻辑冒险。
解释三:
当一个门的输入有两个或两个以上的变量发生改变时,由于这些变量是经过不同组合逻辑路径产生的,使得它们状态改变的时刻有先有后,这种时差引起的现象称为竞争(Race)。
竞争的结果若导致冒险或险象(Hazard)发生(例如毛刺(glitch)),并造成错误的后果,那么就称这种竞争为临
界竞争。
若竞争的结果没有导致冒险发生,或虽有冒险发生,但不影响系统的工作,那么就称这种竞争为非临界竞争。
∙组合逻辑电路的险象仅在信号状态改变的时刻出现毛刺(glitch),这种冒险是过渡性的,它不会使稳态值偏离正常值,但在时序电路中,冒险是本质的,可导致电路的输出值永远偏离正常值或者发生振荡。
∙组合逻辑电路的冒险是过渡性冒险,从冒险的波形上,可分为静态冒险和动态冒险。
∙输入信号变化前后,输出的稳态值是一样的,但在输入信号变化时,输出信号产生了毛刺,这种冒险是静态冒险。
若输出的稳态值为0,出现了正的尖脉冲毛刺,称为静态0险象。
若输出稳态值为1,出现了负的尖脉冲毛刺,则称为静态1冒险。
∙输入信号变化前后,输出的稳态值不同,并在边沿处出现了毛刺,称为动态险象(冒险)。
∙从引起冒险的具体原因上,冒险可以分为函数冒险和逻辑冒险。
函数冒险是逻辑函数本身固有的,当多个输入变量发生变化时,常常会发生逻辑冒险。
避免函数冒险的最简单的方法是同一时刻只允许单个输入变量发生变化,或者采用取样的办法。
∙单个输入变量改变时,不会发生函数冒险,但电路设计不合适时,仍会出现逻辑冒险。
通过精心设计,修改电路的结构,可以消除逻辑冒险。
∙如何解决
∙ 1.通过改变设计,破坏毛刺产生的条件,减少毛刺发生。
例如,数字电路设计中,常常采用Gray Code 计数器取代普通计数器,因为Gray Code 计数器的输出每次只有一位跳变,消除了竞争冒险发生的条件,避免了毛刺的产生。
∙ 2.毛刺并不是对所有的输入都有危害,例如:D触发器的D输入端,只要毛刺不出现在时钟的上升沿且满足数据的建立和保持时间,就不会对系统造成危害,因此可以说D触发器的D输入端对毛刺不敏感。
因此,在系统中尽可能采用同步电路,因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。
(由于毛刺一般都很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间)
∙ 3. 以上方法可以大大减少毛刺,但它并不能完全消除毛刺,有时,我们必须手工修改电路来去除毛刺。
我们通常使用"采样"的方法。
一般说来,冒险出现在信号发生电平转换的时刻,也就是说在输出信号的建立时间内会发生冒险,而在输出信号的保持时间内是不会有毛刺信号出现的。
如果在输出信号的保持时间内对其进行"采样",就可以消除毛刺信号的影响。
有两种基本的采样方法:一种方法是在输出信号的保持时间内,用一定宽度的高电平脉冲与输出信号做逻辑"与"运算,由此获取输出信号的电平值。
图1说明了这种方法,采样脉冲信号从输入引脚"SAMPLE"引入。
从图2的仿真波形上可以看出,毛刺信号出现在"TEST"引脚上,而"OUT"引脚上的毛刺已被消除了。
上述方法的一个缺点是必须人为的保证sample信号必须在合适的时间中产生,另一种更常见的方法是利用D触发器的D输入端对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的输出信号,这种方法类似于将异步电路转化为同步电路。
∙利用冗余项法
利用冗余项消除毛刺有2种方法:代数法和卡诺图法,两者都是通过增加冗余项来消除险象,只是前者针对于函数表达式而后者针对于真值表。
以卡诺图为例,若两个卡诺圆相切,其对应的电路就可能产生险象。
因此,修改卡诺图,在卡诺图的两圆相切处增加一个圆,以增加多余项来消除逻辑冒险。
但该法对于计数器型产生的毛刺是无法消除的。
在仿真时,我们也可能会发现在FPGA器件对外输出引脚上有输出毛刺,但由于毛刺很短,加上PCB 本身的寄生参数,大多数情况下,毛刺通过PCB走线,基本可以自然被虑除,不用再外加阻容滤波。
但是真正的最优的方案是什么?还要因人而异了。