找回密码
 注册
关于网站域名变更的通知
查看: 193|回复: 3
打印 上一主题 下一主题

用Verilog或VHDL写一段代码,实现消除一个glitch(毛刺)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-2-7 10:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
用Verilog或VHDL写一段代码,实现消除一个glitch(毛刺)
3 l' \4 \6 d! P

该用户从未签到

2#
发表于 2023-2-7 11:11 | 只看该作者
消除毛刺的方法,就是防止亚稳态的措施(例如降低时钟频率,用更快的触发器FF),因为毛刺可能会导致亚稳态

该用户从未签到

3#
发表于 2023-2-7 11:21 | 只看该作者
最好采用同步器的方式,将传输过来的信号经过两级触发器就可以消除毛刺。但这种方式消除毛刺是需要满足一定条件的,并不能保证一定可以消除,只能尽量降低毛刺的影响。

该用户从未签到

4#
发表于 2023-2-7 13:32 | 只看该作者
module    glitch(6 i$ @, H" |! U! j
input      clk,
9 F# B8 p% ^2 L  q' V/ m. \; g  y input      rst_n,/ O/ {$ o8 }% s. u
input      data,
9 U3 E9 N; @  e7 [ output reg value_d);
/ F  R9 {, |: t' \$ h 4 Q8 n' e8 O7 t6 n
reg  data_t0  ;2 h+ T9 X% @# q1 T
/ j3 q* e  L9 V, K1 V
always @(posedge clk or negedge rst_n) begin$ l& |: b  e7 q9 n& V
   if(!rst_n) begin
! m( L( ~/ }: ]* ~* M( {( J* D' s      data_t0  <= 1'b0;
# P' }- B6 a) x2 n7 X- s% W/ h      value_d  <= 1'b0;
7 p5 w- m: ~* G7 w/ s& R1 d- v     end
) v$ g5 Q# g7 A; u+ v; x   else begin7 P- s" X  P5 ~
      data_t0  <= data   ;
1 P- h$ K: |* O      value_d  <= data_t0;
0 o: u6 S  e/ V) T' s9 M     end
+ w& V! n! ?$ G4 Nend
; p# y1 K; }' k( K0 h$ d
  A2 @7 K& k) Vendmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-21 11:12 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表