微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问怎么能有效的消除glitch?

请问怎么能有效的消除glitch?

时间:10-02 整理:3721RD 点击:
好像多加register可以,不过面积是不是就上来了?

请问怎么能有效的消除glitch?
用时钟去采样信号是比较有效的方法,这样确实增加一些面积(不是很多),但是现在的ic设计对面积的要求好像越来越不严格,只要不是增加很多,投片的价格相差不大

请问怎么能有效的消除glitch?
glitch是不是就是会多耗些能量?
小编说“现在的ic设计对面积的要求好像越来越不严格”,不太明白!是不是现在的工艺太深了(0。13甚至更低),使得公司都不在乎面积了?反正一张wafer上已经能作不少了!哈哈

请问怎么能有效的消除glitch?
另一方面要从PCB上考虑了,例如加入匹配电阻等。另外在XILINX的VirteII中存在着一个DCI的功能,它也是一种阻抗匹配技术,不过存在于FPGA的内部,这样可以有效减小PCB的面积和布线难度。需要做的就是在FPGA的每个bank的两个专用管脚处连上参考电阻。

请问怎么能有效的消除glitch?
按照传统的说法,PCB是不会传输glitch的。因为PCB板上一般都有些低通特性,宽度只有几个ns的脉冲会被吸收掉。阻抗匹配的目的是使信号质量提高,减小过冲或振铃之类。
可是现在情况好像有了些不同,由于pcb的速度越来越高,几百M的传输线上信号也就几个ns,所以glitch应该也会被传输,但是用阻抗匹配可能也消除不了。
以上说法不知道对不对,请方家指正。

请问怎么能有效的消除glitch?
要是用阻抗匹配就得等到FPGA实现了,我得glitch是综合以后出来了,想把它消灭在RTL代码那里,这样gate-level级得simulation也好看一点!哈哈

请问怎么能有效的消除glitch?
我认为要从两方面来看毛刺产生的原因,(1)如果毛刺是由于数字电路中组合逻辑部分的竞争冒险产生在通过信号线时可能不会被消除;(2)但如果毛刺是由于信号线间的串扰、信号线上的反射或瞬态电流的变化产生的,我想通过阻抗匹配还是可以消除的。

请问怎么能有效的消除glitch?
那么怎么分析毛刺是哪一原因呢!其实测试是一个很费时的过程哦

请问怎么能有效的消除glitch?
毛刺信号及其消除
在组合逻辑电路中,信号要经过一系列的门电路和信号变换。由于延迟的作用使得当输入信号发生变化时,其输出信号不能同步地跟随输入信号变化,而是经过一段过渡时间后才能达到原先所期望的状态。这时会产生小的寄生毛刺信号,使电路产生瞬间的错误输出,造成逻辑功能的瞬时紊乱。在FPGA内部没有分布电感和电容,无法预见的毛刺信号可通过设计电路传播,从而使电路出现错误的逻辑输出。
任何组合电路、反馈电路和计数器都可能是潜在的毛刺信号发生器。毛刺并不是对所有输入都有危害,如触发器的D输入端,只要毛刺不出现在时钟的上升沿并满足数据的建立保持时间,就不会对系统造成危害。而当毛刺信号成为系统的启动信号、控制信号、握手信号,触发器的清零信号(CLEAR)、预置信号(PRESET)、时钟输入信号(CLK)或锁存器的输入信号就会产生逻辑错误。任何一点毛刺都可能使系统出错,因此消除毛刺信号是FPGA设计中的一个重要问题。毛刺问题在电路连线上是找不出原因的,只能从逻辑设计上采取措施加以解决。消除毛刺的一般方法有以下几种:
(1)利用冗余项消除毛刺
函数式和真值表所描述的是静态逻辑,而竞争则是从一种稳态到另一种稳态的过程。因此竞争是动态过程,它发生在输入变量变化时。此时,修改卡诺图,增加多余项,在卡诺图的两圆相切处增加一个圆,可以消除逻辑冒险。但该法对于计数器型产生的毛刺是无法消除的。
(2)取样法
由于冒险出现在变量发生变化的时刻,如果待信号稳定之后加入取样脉冲,那么就只有在取样脉冲作用期间输出的信号才能有效。这样可以避免产生的毛刺影响输出波形。
(3)吸收法
增加输出滤波,在输出端接上小电容C可以滤除毛刺,如图3所示。但输出波形的前后沿将变坏,在对波形要求较严格时,应再加整形电路,该方法不宜在中间级使用。

(4)延迟办法
因为毛刺最终是由于延迟造成的,所以可以找出产生延迟的支路。对于相对延迟小的支路,加上毛刺宽度的延迟可以消除毛刺。但有时随着负载增加,毛刺会继续出现,因而这种方法也是有局限性的。而且采用延迟线的方法产生延迟更会由于环境温度的变化而使系统变不可靠。
(5)锁存办法
当计数器的输出进行相"与"或相"或"时会产生毛刺。随着计数器位数的增加,毛刺的数量和毛刺的种类也会越来越复杂。毛刺在计数器电路输出中的仿真结果如图4所示,从图中可发现有毛刺出现。此时,可通过在输出端加D触发器加以消除。接D触发器后仿真结果如图5所示。


从图5可以看到,数据中的毛刺被明显消除。当FPGA输出有系统内其它部分的边沿或电平敏感信号时,应在输出端寄存那些对险象敏感的组合输出。对于异步输入,可通过增加输入寄存器确保满足状态机所要求的建立和保持时间。对于一般情况下产生的毛刺,可以尝试用D触发器来消除。但用D触发器消除时,有时会影响到时序,需要考虑很多问题。所以要仔细地分析毛刺产生的来源和毛刺的性质,采用修改电路或其它办法来彻底消除。

请问怎么能有效的消除glitch?
很高兴看到有理论上的讨论。
其实我的意思并不是说阻抗匹配能不能消除glitch,而想讨论一下在低速PCB上glitch是不是本来就不应该存在?因为导线本身的阻容特性会吸收掉这些glitch。

说实话我对PCB上的信号传输也不熟,工作中也很少画PCB。
以前在做一个FPGA外接FIFO的项目时出现过信号传输过程中产生的毛刺,就用了几个电阻这搞搞,那搞高,把那个毛刺"基本"蒙掉了,呵呵。

请问怎么能有效的消除glitch?
我对pcb也不是很熟,只是看到altera的一份培训材料上有过这么个说法,请这方面的高手指教!

请问怎么能有效的消除glitch?
我们请"飞越无限"来给我们办个讲座吧

请问怎么能有效的消除glitch?
飞跃现在忙着找工作啊,不知道有没有时间。

请问怎么能有效的消除glitch?
应该来个讲座!我很多东西都不懂!

请问怎么能有效的消除glitch?
从小编的表述来看,你的glitch只是由于门级电路的延迟在组合逻辑里造成的,如果是用的时序电路,基本不必去担心,因为那是setup时间满足以前出现的;在仿真的时候你也会看到很多似乎是glitch的东西,其实都没关系。
但是如果你的组合电路是直接拿来做控制信号,特别是对沿敏感的控制信号的话,那就要仔细设计了,象一声叹息兄给出的方法中的冗余项和延迟法可能就要用到了。

请问怎么能有效的消除glitch?
楼上说得对!我的glitch是对输出没影响!不过我导师是搞low power的,glitch算是无用功了,所以让我们最好避免之!

请问怎么能有效的消除glitch?
但有些毛刺需要增加额外的门才能去掉,是不是反倒增加了功耗呢?

请问怎么能有效的消除glitch?
[这个贴子最后由bravelu在 2003/11/01 11:45am 第 1 次编辑]
cmos工艺没有静态功耗,说不定增加门的功耗小于glitch带来很多无谓电路动作的功耗?没有研究过,可能里面也有个平衡吧。

请问怎么能有效的消除glitch?
对,我想先试试在说,等看report的结果!

到时候能不能把试验结果告诉大家,长点知识?先谢了!

请问怎么能有效的消除glitch?
哈哈!顾问大人客气了!我集成电路前端设计刚开始,还没摸到门呢!让我加register,现在还不太会呢!哈哈,估计要看结果得等些日子了!哈哈

请问怎么能有效的消除glitch?
数字电路是有COMBINATIONAL 和REGISTER组成.GLITCH是不可避免.没事干麻要去掉,只为看图漂亮?只要不造成TIMING VIOLATION. GLITCH是不可避免的.

请问怎么能有效的消除glitch?
人家是要做低功耗,不完全是为了看图哦。

请问怎么能有效的消除glitch?
即使做低功耗,大的算术电路GLITCH才值得考虑.其它根本没必要.

请问怎么能有效的消除glitch?
看小编的其他帖子,好像就是做算法的,老兄真聪明,呵呵。
我是觉得不管实际应用如何,这个问题在理论上是值得探讨的,所以还是希望这个话题能够继续下去。

请问怎么能有效的消除glitch?
我导师说glitch有时能站到20%的功耗,所以能杀之必杀之!当然减少功耗还有别的办法,比如改变对数据的处理顺序,以减少switch activity

请问怎么能有效的消除glitch?
有意思

学到不少东西...

如果是由于过冲引起的glich能否消除?比如说ddr2的dqs信号,读的最后一笔数据之后会有glich,这影响很大,可否消除之,恳请赐教

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top