找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2382|回复: 5
打印 上一主题 下一主题

求教!关于双向总线缓冲器的问题

[复制链接]

1

主题

61

帖子

-8962

积分

未知游客(0)

积分
-8962
跳转到指定楼层
1#
发表于 2010-11-22 22:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
本帖最后由 Supercommando 于 2010-11-22 22:11 编辑
& g6 v: m, A* |( L, F7 t9 K: Z1 P  |
双向总线缓冲器,dr=1且en=1时,b<=a;dr=0,且en=1时,a<=b。a、b均为双向端口。. z& l* {9 x# i& Q4 v/ s
用Verilog编写,在quartus下用波形仿真,怎么仿真结果都不对。
6 @. s. \% g2 Y$ g- @  N- G0 u2 c问题1:" f* }( `; k! A) C
          这样写正确么?
! a6 `) A0 H" R4 J/ [  D8 y  x( C$ x问题2:% }- ^! g* l2 i  V* i
         怎么样使用波形仿真才正确?
! L- U6 \" I( i6 F; m2 ]; `7 u( f: r& w1 N, L: X
请高手解答,谢谢!1 Q4 m) x' U/ V. z# X' \
  h2 ~7 j3 }2 ~* r/ @6 C
程序如下:8 D8 I4 @! o7 m, K9 _- T
module tri_bibuffer(a,b,en,dr);
8 r3 {, l$ G6 linout [7:0] a,b;( |1 d3 T3 e: I* _
input en,dr;0 d/ v: r2 Z" F" L% ~1 g
" `$ [7 |/ e8 b" x8 ]& w/ b
reg [7:0] a,b;1 w  b$ e) O( a
wire en,dr;
; M5 y- r  p( I+ g4 j
# D3 W/ i) k0 H& P' balways @ (dr,en)
5 l2 g/ f% j) ?0 p/ N9 M2 W3 |begin
* X7 g% x; H" Q0 G1 m  if(dr)3 K1 J# s" ]" Y8 G5 A* z7 X
   begin
) t5 T. K3 w' k* K% a    if(en)
0 ], x9 L0 R, B  O( X0 Y* K     b <= a;
: m6 ]% {/ F: z' [$ m9 v7 K- t0 p    else  `/ s3 R" L2 S) Z: A
     b <= 'bz;; D) N( I: W) y, k/ B! v4 F
   end
* k  L/ Q: w, I! I4 q- t  else6 d  y% @" E' u+ {) A
   begin0 R) n' O) t; s. }
    if(en)2 X8 a% F  {4 V" _9 Q" x/ t4 j) w' f
     a <= b;* D0 F5 @( l4 }2 ~3 r% z
    else, h8 ^2 ?' n/ b+ u/ q' B
     a <= 'bz;
2 z" M+ {' w( i% |5 ^8 v   end9 @  `" S, @& z- K4 u. _+ y# G
end
8 e* N* a/ Z: a( Tendmodule) }. Q# }% O) [- W2 |8 \( X5 s

2 x* [0 {- {9 t3 f! c: f' `仿真波形如下:1 f. ]8 z& J. o$ \* C

未命名.JPG (100.32 KB, 下载次数: 1)

未命名.JPG
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

6

主题

898

帖子

1万

积分

六级会员(60)

Rank: 6Rank: 6

积分
10052
2#
发表于 2010-11-24 13:43 | 只看该作者
你的波形设置是有问题的,你的想法是在dr=1,en=1时数据由a向b,在你的图中,在a向b输出数据的同时,你的b输入端同样也有输入,两个数据同时驱动一个端口,你在图上看到的是全X,也就是未定值。更改方法是,在dr=1时,b输入设为Z,在dr=0时,a设置为Z。另外你的编码也不是太好,加油吧。

6

主题

898

帖子

1万

积分

六级会员(60)

Rank: 6Rank: 6

积分
10052
3#
发表于 2010-11-24 13:48 | 只看该作者
再上张图
5 K+ Z3 C- w" p. [) N/ K9 j$ d( L2 H& Q

1.JPG (58.86 KB, 下载次数: 3)

1.JPG

1

主题

61

帖子

-8962

积分

未知游客(0)

积分
-8962
4#
 楼主| 发表于 2010-11-24 16:01 | 只看该作者
本帖最后由 Supercommando 于 2010-11-24 16:05 编辑
! B& k: s- j  h( O* ~# G
/ S/ F1 F: v+ T' S9 @6 r) D& C" `上面的代码是书上的,分析综合后发现电路很大,效果也不好,采用新的方法效果很好,看来可综合的代码很重要。
: L6 }/ Q* J% i% G( P: ^5 Amodule tri_bibuffer(a,b,en,dr);5 Y  e/ K1 k" h6 f- Q8 h
: ~/ X5 R) @0 e( j! G+ H
        inout [7:0] a,b;
) D3 T; S! E4 d0 ]8 W" a* j! F        input en,dr;- l, @' B9 [* I8 Y. U
        5 `5 A# y6 u5 ?( e
        assign b = (dr & en)        ?        a        :        'bz;
6 P& n% B  O/ r+ h' s6 x- u+ c        assign a = ((!dr) & en)        ?        b        :        'bz;
% K% _; {0 P3 h1 G" \4 K" l5 Y/ J! U
endmodule
9 I: N' a" U9 K. s2 y
0 T! p$ E" F3 D- ]- d2 ^& n" j9 D& L0 G% t

1

主题

61

帖子

-8962

积分

未知游客(0)

积分
-8962
5#
 楼主| 发表于 2010-11-24 16:04 | 只看该作者
分析综合后的RTL级电路% y& z/ }5 k  M! S, g
: `1 c  p: P! _) v/ j
' o7 u0 @0 Y  y. Y- b; X. A3 b
功能仿真图0 ?  b0 U6 A" u/ D

5 i% l1 `2 P4 S  r" v

1

主题

61

帖子

-8962

积分

未知游客(0)

积分
-8962
6#
 楼主| 发表于 2010-11-24 16:25 | 只看该作者
本帖最后由 Supercommando 于 2010-11-24 16:26 编辑
  S: x& y- G8 [3 e7 M/ G! s" q4 |3 v( A" ^. |. m3 [. D
回复 00750 的帖子
2 u0 I: S- Z" v" d5 R; l5 d% x( \/ v( H0 D
程序是书上的,我采用另一种方法后综合的结果很优化,还想问个问题:这个程序的测试的时候,如果输入a,b均为高阻态时,相应的输出是不定态,这是怎么回事?实际应用情况下输入与输出是否会同时为高阻态?为什么?3 y- H8 U3 s% `5 y7 o
谢谢!7 B+ J3 o8 M. n) W: c/ ]9 I* l
: ~" n; J+ a& h: [' c8 ~/ ?6 T
仿真图如下:
5 F- u6 `8 z& h, z$ R/ b, S* F0 L
+ E8 B& h! U$ G7 k
/ g" p* F7 h+ W+ i6 n( y& L: x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-13 04:04 , Processed in 0.067143 second(s), 35 queries , Gzip On.

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

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

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