找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

1

主题

61

帖子

-8962

积分

未知游客(0)

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

EDA365欢迎您!

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

x
本帖最后由 Supercommando 于 2010-11-22 22:11 编辑 0 B  d; ^( m! m; P! L
5 L4 G6 V4 b; z$ n  V
双向总线缓冲器,dr=1且en=1时,b<=a;dr=0,且en=1时,a<=b。a、b均为双向端口。
, x+ \+ `8 C6 Q- t3 R用Verilog编写,在quartus下用波形仿真,怎么仿真结果都不对。. `: y' v% A+ [; l. ]8 c
问题1:
8 m2 d3 [) W  h1 W* h: E          这样写正确么?
: W2 f) ~) r# [问题2:6 \# F% Z* e4 h% d
         怎么样使用波形仿真才正确?
% Z: ?" j8 r( Z- b& W9 Z% w# I1 ~% |  G
请高手解答,谢谢!, E9 Y7 K: C1 E# e
( Y7 Y8 {4 |* M5 ^7 ]" L
程序如下:% E# G) k& s; |7 D3 a9 s
module tri_bibuffer(a,b,en,dr);
# K7 j) \' G5 Y7 O6 }# Qinout [7:0] a,b;
) |( e" `8 K; sinput en,dr;
( _1 ]" S$ T; G8 g: [2 ]
$ \, o- p) r* `reg [7:0] a,b;8 `# g4 s! y! Z  S6 _& @
wire en,dr;/ G! J4 P. t+ k. a$ r
  F3 `) [: |$ ]& w# a
always @ (dr,en)
6 ]- j& T1 ^8 \  K6 j4 M9 |. ]begin( ]) q; C# ?! f, e9 f6 V) c
  if(dr)
  ^& S, i; d6 a   begin
; q' O2 v5 M/ R, S- M4 V0 M    if(en)% o6 r4 l. i) T9 x- R
     b <= a;, c' e- b- t5 p5 u& p& B) u# D
    else
0 h' g: u* J+ ~6 X/ v% K; J     b <= 'bz;
: n+ w9 q% ]' J7 d* O   end2 P! S) `2 D' J. V) m! u0 o+ q
  else
4 d$ t: O. M% m6 H5 u' ?   begin7 W8 ?, t+ A% |4 ~2 i. ~, a; H+ `3 H: Z
    if(en)! w8 B# T( _( w/ O% _
     a <= b;
9 ?! g/ j8 L/ Y( N, |0 }$ q    else
! E! x. @3 i2 M. `& K  E+ B     a <= 'bz;
7 t1 H2 a( \% F   end
4 i; [0 I5 S3 G/ Eend% Y3 C% [, }  _6 o  E
endmodule7 a! m7 g' b# R4 \
+ N) u0 ?& g/ s% [/ r# I
仿真波形如下:* i- n: ~* t, K, x7 b

未命名.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 | 只看该作者
再上张图7 i4 V7 \+ i" s3 c4 T" W
" G. j8 M! a* g: X7 t

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 编辑 & ?4 D% p- h! I, ]; g) e

$ }, U9 j6 m& x. Z  b( I上面的代码是书上的,分析综合后发现电路很大,效果也不好,采用新的方法效果很好,看来可综合的代码很重要。& K, S8 T: i" C8 H, I
module tri_bibuffer(a,b,en,dr);
8 _2 _/ {8 l. r  y/ O- f. g- v+ S) ?  W) E, {  o
        inout [7:0] a,b;" ~: j0 `2 c$ r$ _' k( t0 B' a8 ]
        input en,dr;
$ O3 `8 |% ^2 D% G$ i2 f# Q        
4 y, I6 D# ^9 t5 h' |/ V        assign b = (dr & en)        ?        a        :        'bz;
! w- }7 l$ i# |6 E) b  x0 F        assign a = ((!dr) & en)        ?        b        :        'bz;. {8 Z) m" S8 P! O: F
" M1 t6 j' f0 v9 d- u. N( C" z
endmodule8 T7 H7 Q$ C, p( V7 o" q" V! K% Q
, F$ {" @' X6 t+ F0 p3 x- X! j
  w) t- u( S1 {$ l! N

1

主题

61

帖子

-8962

积分

未知游客(0)

积分
-8962
5#
 楼主| 发表于 2010-11-24 16:04 | 只看该作者
分析综合后的RTL级电路1 a! d; u/ U$ i

: }4 i6 o! Q2 K% x6 J  L
5 |( X; v4 ]0 G, O  a/ D. t2 }功能仿真图
: a1 ^5 W8 G# ^3 l
" U3 g0 O4 Q- O5 X' J8 m

1

主题

61

帖子

-8962

积分

未知游客(0)

积分
-8962
6#
 楼主| 发表于 2010-11-24 16:25 | 只看该作者
本帖最后由 Supercommando 于 2010-11-24 16:26 编辑
" k5 G  r1 S" x3 p8 B) K$ q; Z  I# m8 u9 h, d
回复 00750 的帖子7 U& H- u" G: H$ W; n. Q9 u
, }  L4 C, Y; U" R8 ~
程序是书上的,我采用另一种方法后综合的结果很优化,还想问个问题:这个程序的测试的时候,如果输入a,b均为高阻态时,相应的输出是不定态,这是怎么回事?实际应用情况下输入与输出是否会同时为高阻态?为什么?* Y1 ^8 u; a: f" x3 C/ `; a3 u
谢谢!0 b; r3 {0 j! @; ?  s2 W" S! w
) j) _3 P* s) h7 A( T
仿真图如下:7 Q# p+ M6 a( z0 U8 \8 \3 \

; b8 [0 ?; T' E  G  A/ M0 { ! v; Y8 _# X8 h# O! r# j
4 N0 P* i# H& @5 N; J5 c; _
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

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

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

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

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