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

我想问一下关于毛刺的问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
希望高手不吝赐教.代码如下
/ }0 W- e% X- s. w9 w' amodule CA1(clk,CA_code,order1,order2);
  l. I& C, u4 g4 |1 c  input clk;
3 \* t; H) I& Q& {$ l3 ~  input[3:0] order1,order2;4 F' i, g7 r' s6 b
  output CA_code;' x; T8 Q7 W# ^9 \& P/ h3 M
  
- W: z- X( g" e2 N, W% L: ywire G1_out;
6 m$ a% D$ D7 _# b; h) Kwire G1_add;
: o' }& r7 y3 Y1 P7 `% lreg[10:1] G1='b1111111111;
7 Q. G6 ~& }% u0 D! q6 Qassign G1_out=G1[10];
0 P& a4 @0 p% g- B6 G9 `assign G1_add=G1[3]+G1[10];* _+ E# J7 N( n, t. M. ]: ~, W
always @(posedge clk)9 G4 ]" R. G" o" ?  C# i, `
begin% Z+ \. f5 H* h5 S) Y
  G1=G1<<1;
  D& T6 I) \' @0 S/ G  G1[1]=G1_add;* F9 j# r1 ~$ N4 Z
end8 N6 @: s8 r2 N7 q- g7 z2 S
$ E& o7 x; Y% k% Q
wire[3:0] x,y;
% j" ~/ r; \9 P. swire G2_out;
7 X% C+ H8 H2 A( S3 Y/ h/ {- A9 qwire G2_add;
$ O; Z# N; w8 L7 Greg[10:1] G2='b1111111111;
6 k% @- O7 C( gassign x=order1;0 n3 L# M0 M' x
assign y=order2;
* g9 L6 T& K/ i0 o8 m- ^assign G2_out=G2[x]+G2[y];
: X  n! a+ E7 o+ g: passign G2_add=G2[2]+G2[3]+G2[6]+G2[8]+G2[9]+G2[10];1 I' N* C8 t! P3 F7 g6 Y+ R# Q
always @(posedge clk)+ D* j$ U! L9 V( X
begin  T( f: I, x' g7 L3 t# w
  G2=G2<<1;( ~- t) y0 M% N) s* o
  G2[1]=G2_add;( H" Z! w3 x- Q8 a; K9 |4 w
end. r3 Q' Q  _/ p4 _" r! s; `- H: t
assign CA_code=G1_out+G2_out;
/ D" {1 x  Q6 t: z2 jendmodule % m  x2 l- \5 S5 z* L- Z' Y8 g
  时序仿镇如附件,首先我是个新手也是第一次遇到毛刺问题听说组合逻辑会出现毛刺,但不知道为什么我的代码会有毛刺(我这里指的是毛刺产生的原因)不过我加了个D触发器后把毛刺消了.可是在设计时不应该是出了毛刺找消的办法,因该是怎么样不让它出毛刺,我希望高手们能给我点建议,在这里谢谢大家了先.

CA产生器仿真毛刺.JPG (104.03 KB, 下载次数: 13)

CA产生器仿真毛刺.JPG

该用户从未签到

2#
 楼主| 发表于 2008-10-29 16:47 | 只看该作者
没有高手在吗?

该用户从未签到

3#
 楼主| 发表于 2008-10-30 09:29 | 只看该作者
哎这里的人气不是很旺呢!

该用户从未签到

4#
发表于 2008-10-30 22:09 | 只看该作者
order1,order2的输入波形如何??

该用户从未签到

5#
 楼主| 发表于 2008-10-31 10:00 | 只看该作者
order就是2个命令1=4,2=8.

该用户从未签到

6#
发表于 2008-11-3 18:00 | 只看该作者
是不是竞争与冒险啊,

该用户从未签到

7#
 楼主| 发表于 2008-11-5 08:44 | 只看该作者
是啊

该用户从未签到

8#
发表于 2008-11-7 17:05 | 只看该作者
一看你的代码就知道一定会存在毛刺,毛刺的产生不一定就是竞争冒险,还有可能是亚稳态等原因,但是你的代码很明显有问题,首先你应该明白阻塞和非阻塞的区别,在时序中一般采用非阻塞语句. 还有建议你书写代码的规范性,难道你不感觉你的代码很乱吗?

该用户从未签到

9#
发表于 2008-11-11 08:08 | 只看该作者
毛刺是竞争产生的干扰输出叫毛刺;* b6 N4 k( i6 D9 V1 ~

6 G% v3 j* s( Y0 y. J4 \8 `2 ~. p解决办法:
1 F6 Z; m' v3 K/ {1 u1;发现并消除互补变量(比如A*/A);( R4 X) m3 S4 F: O- Y/ }* ?( ^
2;增加乘积项;3 r) ~; Y/ N8 t+ C0 j
3;输出并联电容(几pF到数10pF);

该用户从未签到

10#
发表于 2008-11-11 08:12 | 只看该作者
毛刺是竞争产生的干扰输出叫毛刺;8 ~6 f5 U2 i4 r* b

0 F; m$ c# w: x% U; Y解决办法:$ h& }7 o. B! D8 h  J: a$ R
1;发现并消除互补变量(比如A*/A);7 x0 {. p& e  j0 ]& Q$ `% e
2;增加乘积项;
+ ^6 C1 m  a- g/ l3;输出并联电容(几pF到数10pF);
$ l% z- T2 U/ v1 r4 ]: K. y1 R4 [. k  Y3 t5 x& L5 [
哈哈,你的代码我看不来;只会点VHDL;- K9 l6 L$ K7 {* }8 k
希望上面的对你有没有用

该用户从未签到

11#
 楼主| 发表于 2008-11-11 08:42 | 只看该作者
谢谢各位
  • TA的每日心情
    开心
    2025-7-11 15:55
  • 签到天数: 35 天

    [LV.5]常住居民I

    12#
    发表于 2025-6-24 15:48 | 只看该作者
    学写了学习了
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-18 23:42 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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