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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
用Verilog或VHDL写一段代码,实现消除一个glitch(毛刺)0 C* v# d' V8 Y: d0 W# ^

该用户从未签到

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

该用户从未签到

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

该用户从未签到

4#
发表于 2023-2-7 13:32 | 只看该作者
module    glitch(
- u1 d0 R0 j3 D: v; `3 I input      clk,
5 o0 O0 ^8 y; \# f input      rst_n,1 {9 K2 M8 |' J0 ?
input      data,
! g% l, x* [: ^( C4 p output reg value_d);
: Z7 d# m1 C6 Y7 t6 l7 `4 \
  A  w  c* L% h# i8 h" D, C/ h" Zreg  data_t0  ;0 x. o- ^0 b3 h7 {- W6 _& h! ~
7 p1 Z0 ~" @9 x+ q
always @(posedge clk or negedge rst_n) begin; `* P2 B+ V2 g& C) N  n& t  K
   if(!rst_n) begin
1 |0 G; w" e* I. F9 e7 u      data_t0  <= 1'b0;
& x  p6 c! A. P7 S      value_d  <= 1'b0;8 a8 E  N# {! Z: {# [7 z
     end
: {! G( k* S! K  U/ F$ n   else begin
" [3 m- o- L& ~2 n; F- V      data_t0  <= data   ;7 v# M$ o2 I0 M/ h
      value_d  <= data_t0;) q5 Z/ E) C5 U: F: }1 _
     end
. i) z* v; T; B3 ~- ^end, H$ d+ s$ v/ d& E8 w5 k* `" G
2 F3 U' ?2 ?7 M; \
endmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-29 13:52 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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