方波上升沿毛刺过大的解决方法是:降低开关的速度这个问题也就大大缓解了;比RC滤波,LC滤波,钳位,续流等加起来的效果都要强。
开关速度的选择,你要有个谱,太快了不一定是什么好事;太慢也达不到你的要求,而且开关的损耗也大增。

并且由于比较器输出方波后,电路设计欠佳,产生抖动,下降沿产生毛刺,如果FPGA逻辑设计不好,容易在方波下降沿时再次捕捉到上升沿。

在电路无法更改的情况下,只能更改FPGA逻辑设计,过滤毛刺。在捕捉边沿中通常使用以下逻辑:
时序逻辑:always@(posedge sys_clk)begin,reg1 <= rising_inreg2 <= reg1;end?
组合逻辑:assign rising_cap = reg1 & (~reg2);
亚稳态和毛刺小结:
信号在FPGA内通过连线和逻辑单元时,都会产生延时。
延时产生的原因:
1、连线的长短和逻辑单元的数目。
2、受器件的制造工艺、工作电压、温度等条件的影响, 所 以在信号变化的瞬间,组合逻辑的输出有先后顺序,往往会产生一些尖峰的信号,这些信号称为毛刺。如果有毛刺,该电路称为冒险电路。只由内部电路决定。


