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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 Supercommando 于 2010-11-22 22:11 编辑 * @) {. v9 y  N/ J

% B  ]* D" N3 H双向总线缓冲器,dr=1且en=1时,b<=a;dr=0,且en=1时,a<=b。a、b均为双向端口。
+ O7 z& v6 W6 H" i用Verilog编写,在quartus下用波形仿真,怎么仿真结果都不对。
& W$ o2 i8 M. p问题1:$ Y) L' B9 Z4 e* \
          这样写正确么?
* S/ l/ d* w' c8 R& y  E问题2:
% J+ K( C0 V& x: [& w7 h' X# s+ j         怎么样使用波形仿真才正确?
+ F1 X; a' V6 }' _  l# P: w1 R" t3 U; r2 @; P, ?* N: X2 U
请高手解答,谢谢!
& ]/ J: @3 B- R& n* e8 I. X5 S# O: N5 k2 e: a; `' U; M
程序如下:0 f0 I0 ?6 A9 f, K
module tri_bibuffer(a,b,en,dr);
7 M' ^( E5 E# G8 D' Y% c, N- _# \inout [7:0] a,b;
; v2 J) H5 [' C+ Winput en,dr;
6 H8 [% o) |$ v$ X) g/ _
+ @; `# E& O2 [) e; Freg [7:0] a,b;8 @% L8 g3 k. Y( \' m  y+ `
wire en,dr;
5 F7 v( Y% [. a8 n7 H4 `( |
  ^) n# O% }) falways @ (dr,en)3 S6 P1 z5 \- B& k( `$ J1 ~
begin0 {( a/ l- O: B- D" c$ S
  if(dr)) _4 A* j) l& N  b' H
   begin
/ \9 k( y8 f7 U9 s' L8 t    if(en)) z6 a+ `. m3 y
     b <= a;
' M7 w- b- ]9 @, ?    else/ [% [: |7 `  I
     b <= 'bz;9 P+ D3 H+ J9 E; i0 L  i2 ^# O
   end
7 x5 G% |* s6 ~: y8 c# |* ~) `9 n4 j  else# y5 s; v( m% x# b, c, N
   begin( f$ e- q9 p+ P
    if(en)
- Q+ D  d+ P- ]2 v     a <= b;
. ^* J3 M) g8 B4 X) P4 L1 V    else9 m2 Q4 e3 K& j/ o* H
     a <= 'bz;
7 |6 ?! ]- u1 W( p0 P7 o. U6 r   end2 w/ d+ r6 t5 Z% T9 B4 X" _; [
end
: k7 \# j$ [0 u" b0 y' p# B, Jendmodule& b! G7 o8 [$ x/ [/ `6 \  o  W
- e8 G) w. D( ?) |( t& V! Q0 l
仿真波形如下:  N& R) ]+ h3 Y1 c

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

未命名.JPG
  • TA的每日心情
    慵懒
    2024-12-9 15:04
  • 签到天数: 384 天

    [LV.9]以坛为家II

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

    [LV.9]以坛为家II

    3#
    发表于 2010-11-24 13:48 | 只看该作者
    再上张图' Q$ ~& y4 p3 Z/ N+ u* B2 L* `' {  e
    * s8 P0 {5 b. J" h5 w3 |( ~0 m

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

    1.JPG

    该用户从未签到

    4#
     楼主| 发表于 2010-11-24 16:01 | 只看该作者
    本帖最后由 Supercommando 于 2010-11-24 16:05 编辑 ! L$ @& x5 V9 M6 j

    : X( B% G2 b. _0 w3 k, h7 V7 C上面的代码是书上的,分析综合后发现电路很大,效果也不好,采用新的方法效果很好,看来可综合的代码很重要。
    ' G& H4 a5 }. M; ~8 t7 E/ }module tri_bibuffer(a,b,en,dr);; d- K. T6 c/ t9 X/ F2 }& b! |# W4 ~
    , _2 \4 W! L' [) B
            inout [7:0] a,b;8 S# G' s) f0 |- I8 y5 M
            input en,dr;5 K4 V7 D. Z+ [0 p4 y& U
            4 F4 \, s5 T! k& I
            assign b = (dr & en)        ?        a        :        'bz;
    / X# ~# ?* \6 {& C4 f        assign a = ((!dr) & en)        ?        b        :        'bz;
    7 C/ }  R: @7 V; F! e5 i
    # h; h( z# e4 V3 I. G! Y+ xendmodule
    + l' x' e2 @) P; a$ Y  F" H3 O" {/ s2 w' c
    5 I3 i0 p/ F  @0 u# z' K" I' p

    该用户从未签到

    5#
     楼主| 发表于 2010-11-24 16:04 | 只看该作者
    分析综合后的RTL级电路# i. K/ O$ y, D  q$ \- j

    ' J- B: Q& i6 _, g
    - B; K8 F0 K* G: L6 I7 ]2 K3 U功能仿真图
    / U# y% ?1 x" {" o6 B : I8 @1 q& V: T- ^

    该用户从未签到

    6#
     楼主| 发表于 2010-11-24 16:25 | 只看该作者
    本帖最后由 Supercommando 于 2010-11-24 16:26 编辑
    2 G$ {+ c! \8 l" z7 K. g! P
    - S6 E: V( n) Z' \$ m" f7 X回复 00750 的帖子
    6 c3 Y% ?5 B* W3 Z6 V2 `/ F" X" m/ {
    程序是书上的,我采用另一种方法后综合的结果很优化,还想问个问题:这个程序的测试的时候,如果输入a,b均为高阻态时,相应的输出是不定态,这是怎么回事?实际应用情况下输入与输出是否会同时为高阻态?为什么?
    " j0 |; K0 a2 v4 S7 G' s谢谢!
    6 Y9 Z) W' J' _0 [7 k7 e: V* o# P0 i2 l  G7 {' [7 K, d8 V; T4 M
    仿真图如下:! |, Q3 u3 c; Z7 y
    ; _7 q+ V! O9 s

    5 Q5 `7 r. ^6 J2 z2 P; }9 [* v, o( I4 f# a
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-20 21:46 , Processed in 0.125000 second(s), 27 queries , Gzip On.

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

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

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