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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
用Verilog或VHDL写一段代码,实现消除一个glitch(毛刺)& l1 N* L( R+ @/ O1 W+ h

该用户从未签到

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

该用户从未签到

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

该用户从未签到

4#
发表于 2023-2-7 13:32 | 只看该作者
module    glitch(. P& {# Z0 p' j. Y9 _
input      clk,; H7 _% s3 c1 F: F! A" r" H. N
input      rst_n,' q9 v) n! g, F7 ^" a$ F
input      data,
7 [$ B0 \% A# h) K9 K output reg value_d);1 a. }* G! Q' A2 p, k# y9 o' A

4 d+ u- a7 @. y5 D& N4 `  ?, s2 mreg  data_t0  ;' G. A* j  [3 [+ u' {

: ^# [1 x5 S* @2 W  balways @(posedge clk or negedge rst_n) begin' I% G. Z4 F) S3 b2 Q+ y
   if(!rst_n) begin
1 B% z8 |- O$ q. d      data_t0  <= 1'b0;4 b. h, z/ n3 o4 g& B
      value_d  <= 1'b0;- v( ^9 r4 J1 [- v3 G
     end 0 m4 ?* \" X. ^' R9 Z  U
   else begin
9 g: I, p/ j  ]$ k& U      data_t0  <= data   ;. H) Q7 |8 t% t; g. f, \
      value_d  <= data_t0;% X0 D  {) o# n
     end
. X9 U* `: J9 b; cend
( `/ B$ Y9 P7 o6 `/ I8 t4 x, {   ?% |  m7 z" _8 G. |3 M
endmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-5 08:59 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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