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

SDRAM控制问题请教:为何用的器件模型读数据的时候是高阻Z

[复制链接]
  • TA的每日心情
    擦汗
    2020-1-14 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    SDRAM控制问题请教:为何用的器件模型读数据的时候是高阻Z
    ) q) D/ S1 F* N7 Z. s0 T
    / ]; z' a: ^. @% a/ j0 B我这我用到的一个器件仿真模型
    & G- x. {+ z5 ?8 |但是为何数据线在读的时候是高阻态?
    8 {% Z0 L3 f2 C2 m  @* `# F/ Q5 W4 O$ \  _/ y/ S# a1 U
    在我的tb文件里面& O" R9 C7 }$ I0 Y
    wire     [15:0] io_Sdram_DQ;8 g% q5 c2 d+ R. k4 Y$ `- T
    我看器件模型里面有存储单位的设置( U8 X& R7 D% B
    为何写如何的数据读出不对
    ' N. J$ I$ P+ J* _+ x4 s0 R( W0 s8 B- w
        parameter addr_bits =      12;
    , j. o* ^  h; e    parameter data_bits =      16;
    ( M& N2 |, h2 B( c' m8 k8 z! X    parameter col_bits  =       8;
    - Z$ C' d" p. c* b    parameter mem_sizes = 1048575;
    & h3 ~- _/ {7 {! y2 W# C    inout     [data_bits - 1 : 0] Dq;
    " B- U- ^. H, Z! l/ ]7 V  y1 h    input     [addr_bits - 1 : 0] Addr;2 q, |- M+ K6 z' T6 B
        input                 [1 : 0] Ba;
    4 L8 o2 Q4 T/ J3 `    input                         Clk;3 C- s$ A* Q$ s5 D" l8 e
        input                         Cke;( ~4 d# _" x- Z  z2 V0 R
        input                         Cs_n;
    ( O: o  H/ u! `' |4 R- v    input                         Ras_n;. U8 r, ~5 |4 ^. ^
        input                         Cas_n;
    ( ~+ }- s# c5 H- y    input                         We_n;6 D, j  a5 a/ d: B; h( |( ]
        input                 [1 : 0] Dqm;
    ) ~( L! G0 }2 m( s8 F+ _    reg       [data_bits - 1 : 0] Bank0 [0 : mem_sizes];
      ^5 r* t/ k& E6 a    reg       [data_bits - 1 : 0] Bank1 [0 : mem_sizes];
    : R' g1 a. X9 o/ A    reg       [data_bits - 1 : 0] Bank2 [0 : mem_sizes];5 J3 U1 H" W3 X
        reg       [data_bits - 1 : 0] Bank3 [0 : mem_sizes];
    3 V; V& T8 N7 h) W4 k........

    Snap1.jpg (69.88 KB, 下载次数: 6)

    Snap1.jpg

    该用户从未签到

    2#
    发表于 2008-12-2 08:42 | 只看该作者
    inout类型的tb文件要这样搞: p3 ~4 Q8 }+ }8 ]: H( r& K
    wire[7:0] io_Sdram_DQ_wire;
    3 J1 C2 ~5 ?" t+ _- preg[7:0] io_Sdram_DQ_reg;- ?) |" d8 G8 u2 S8 m5 j- W
    assign io_Sdram_DQ_wire = (~We_n) ? io_Sdram_DQ_reg : 1'bz;
    7 v" k6 f6 |/ q$ I2 F; T0 l这样的话在We有效时Dq_wire上是要写入的数据, 在读信号有效时,Dq_wire由读出的数据驱动$ M! d/ A5 o) C& X0 Q
    这个是方法,我也是在网上找到后按这个方法仿真双向端口的HDL文件的
  • TA的每日心情
    擦汗
    2020-1-14 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
     楼主| 发表于 2008-12-2 20:46 | 只看该作者
    为何在写的过程 列地址的第一位在最后给写成zzzz了?
    . c' y$ @' {  f见下面的记录5 ^* o9 j4 c9 R9 t2 A
    列地址最大255
    , E# J+ R' Z7 z9 C* L8 H7 \; U2 [" C/ k! ?* d8 i
    1 v# z4 \' |! b; S& @5 S9 |
    .....
    + z, i& X, w, FSDRAM_TEST_tb.mt48lc4m16a2 : at time  215250.0 ns WRITE: Bank = 0 Row =    0, Col = 250, Data = 59593 ?  a9 Y9 ^" Z- K7 A" _7 `$ l! u( a
    SDRAM_TEST_tb.mt48lc4m16a2 : at time  215270.0 ns WRITE: Bank = 0 Row =    0, Col = 251, Data = 6868. ~  {4 I" w4 h7 H' l1 N: m8 A
    SDRAM_TEST_tb.mt48lc4m16a2 : at time  215290.0 ns WRITE: Bank = 0 Row =    0, Col = 252, Data = 7777( U* ^' k) c% E/ }7 a. x
    SDRAM_TEST_tb.mt48lc4m16a2 : at time  215310.0 ns WRITE: Bank = 0 Row =    0, Col = 253, Data = 8686
    6 }% {3 h+ x( a' y9 X- S3 tSDRAM_TEST_tb.mt48lc4m16a2 : at time  215330.0 ns WRITE: Bank = 0 Row =    0, Col = 254, Data = 9595
    ! ^7 B3 B. b3 D) r" a" P; O+ e$ BSDRAM_TEST_tb.mt48lc4m16a2 : at time  215350.0 ns WRITE: Bank = 0 Row =    0, Col = 255, Data = 3434* ^! M5 ?3 P' z2 B/ ^: j
    SDRAM_TEST_tb.mt48lc4m16a2 : at time  215370.0 ns WRITE: Bank = 0 Row =    0, Col =   0, Data = zzzz
    # I/ b$ B$ [. H. m1 ~# k! TSDRAM_TEST_tb.mt48lc4m16a2 : at time  220915.0 ns READ : Bank = 0 Row =    0, Col =   0, Data = zzzz
    4 \6 n4 y2 P6 r- ?& uSDRAM_TEST_tb.mt48lc4m16a2 : at time  220935.0 ns READ : Bank = 0 Row =    0, Col =   1, Data = 8282- S) Q/ P' @. @. K- C- H/ N3 |: E' x+ v3 \
    SDRAM_TEST_tb.mt48lc4m16a2 : at time  220955.0 ns READ : Bank = 0 Row =    0, Col =   2, Data = 9191
    1 O" j; [! `4 G6 E+ j' I  F  LSDRAM_TEST_tb.mt48lc4m16a2 : at time  220975.0 ns READ : Bank = 0 Row =    0, Col =   3, Data = 3030
    6 ^# h$ W* y$ n4 O" f  oSDRAM_TEST_tb.mt48lc4m16a2 : at time  220995.0 ns READ : Bank = 0 Row =    0, Col =   4, Data = 4f4f% |6 o: Z$ M" P4 o7 x7 ~, l/ |" Q: r
    SDRAM_TEST_tb.mt48lc4m16a2 : at time  221015.0 ns READ : Bank = 0 Row =    0, Col =   5, Data = 5e5e
    - v* X0 t; v9 j0 x  r6 v% ]8 U3 ^9 sSDRAM_TEST_tb.mt48lc4m16a2 : at time  221035.0 ns READ : Bank = 0 Row =    0, Col =   6, Data = 6d6d
  • TA的每日心情
    擦汗
    2020-1-14 15:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
     楼主| 发表于 2008-12-2 21:46 | 只看该作者
    发现在仿真出来的波形在写与读的开始位置出有点不对劲见附图 那位用过类似器件模型仿真的说说可能的缘故

    Snap1.jpg (79.62 KB, 下载次数: 5)

    Snap1.jpg

    Snap2.jpg (101.61 KB, 下载次数: 3)

    Snap2.jpg

    该用户从未签到

    5#
    发表于 2011-4-29 09:24 | 只看该作者
    能交流一下吗?告我你的联系方式吗
    % w+ n7 D4 Y" e1 o
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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