找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

604

主题

2859

帖子

1万

积分

EDA365版主(50)

Rank: 5

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

EDA365欢迎您!

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

x
SDRAM控制问题请教:为何用的器件模型读数据的时候是高阻Z
1 c" j7 A& H9 ~" y* H
3 i, v3 ?9 X6 t我这我用到的一个器件仿真模型) T1 e6 H$ N$ f- u5 \
但是为何数据线在读的时候是高阻态?
; W' J, R' j* X7 k' d! a! Z4 \! V- v" e0 h( I7 ~) }6 o0 ~0 l; N
在我的tb文件里面) f3 u& F6 a: \5 e, W
wire     [15:0] io_Sdram_DQ;: ^) ?6 c; w1 p. W$ v. P
我看器件模型里面有存储单位的设置( B+ N- |; ]+ S
为何写如何的数据读出不对
& t8 ]$ n; L  w( }, {
8 T) v6 Q; R' ]" B! Q+ `' O    parameter addr_bits =      12;
, u# G& }  z$ R$ j# ^    parameter data_bits =      16;; Z: O7 U5 o( e, k
    parameter col_bits  =       8;( M5 a7 t! P  R+ U6 C8 f1 I  X
    parameter mem_sizes = 1048575;) I4 X! \1 j0 H$ r8 f1 m9 h4 Z# x
    inout     [data_bits - 1 : 0] Dq;
' z/ y" H% K% O3 g6 W    input     [addr_bits - 1 : 0] Addr;
+ e! x0 X: o! J# ]    input                 [1 : 0] Ba;5 k. ^/ X  z& b# N; k7 m3 j& n. U
    input                         Clk;: V3 b' m* P: v+ R6 ]- l# B
    input                         Cke;% }1 s; V; K/ q" X- l9 q# A. E
    input                         Cs_n;* s( M9 `3 r8 ^- j# Z5 ^0 s
    input                         Ras_n;4 Y4 w4 B) t$ f$ U& _
    input                         Cas_n;! m7 R4 h4 H/ ]" I
    input                         We_n;% I, g8 b+ @  _0 k# J
    input                 [1 : 0] Dqm;
0 D3 i: U) q4 s( z; a5 [- w1 W    reg       [data_bits - 1 : 0] Bank0 [0 : mem_sizes];
. N8 Z. U9 F% C; m" @9 A7 s    reg       [data_bits - 1 : 0] Bank1 [0 : mem_sizes];
% ^# G+ a0 ^5 V: d    reg       [data_bits - 1 : 0] Bank2 [0 : mem_sizes];2 K5 v* ]- t% I8 o( e8 y
    reg       [data_bits - 1 : 0] Bank3 [0 : mem_sizes];
! C0 m0 T' b- d. S( o........

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

Snap1.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!

21

主题

229

帖子

6692

积分

五级会员(50)

Rank: 5

积分
6692
2#
发表于 2008-12-2 08:42 | 只看该作者
inout类型的tb文件要这样搞( l  P6 E0 s) _$ P% A
wire[7:0] io_Sdram_DQ_wire;
) d  I$ T/ J) K3 |! \1 z+ t# Ereg[7:0] io_Sdram_DQ_reg;5 ]  D, U9 w8 d  h
assign io_Sdram_DQ_wire = (~We_n) ? io_Sdram_DQ_reg : 1'bz;2 A9 \. ]* u% e; ]  j5 V6 V/ q: |
这样的话在We有效时Dq_wire上是要写入的数据, 在读信号有效时,Dq_wire由读出的数据驱动0 w* I5 n- U2 A8 E+ b
这个是方法,我也是在网上找到后按这个方法仿真双向端口的HDL文件的

604

主题

2859

帖子

1万

积分

EDA365版主(50)

Rank: 5

积分
13638
3#
 楼主| 发表于 2008-12-2 20:46 | 只看该作者
为何在写的过程 列地址的第一位在最后给写成zzzz了?  G9 T: [5 j+ q
见下面的记录
6 G/ P, U4 `; D( K% x% i; U列地址最大255
+ w, m3 k8 s" u. |8 P1 l/ x% Y% @& F2 E) F6 S( E- s

# e% J* E0 Y$ r. ]3 J, g( K.....; @& C8 ?" Q' B
SDRAM_TEST_tb.mt48lc4m16a2 : at time  215250.0 ns WRITE: Bank = 0 Row =    0, Col = 250, Data = 5959( _* o& m4 _+ |( I  Q5 {
SDRAM_TEST_tb.mt48lc4m16a2 : at time  215270.0 ns WRITE: Bank = 0 Row =    0, Col = 251, Data = 6868& d- i5 H% X" M. ~. x/ ~- w! s; T
SDRAM_TEST_tb.mt48lc4m16a2 : at time  215290.0 ns WRITE: Bank = 0 Row =    0, Col = 252, Data = 7777* U! X& n! c" X9 R4 H$ C
SDRAM_TEST_tb.mt48lc4m16a2 : at time  215310.0 ns WRITE: Bank = 0 Row =    0, Col = 253, Data = 8686# _& \4 k+ }2 J3 D7 j5 n' s
SDRAM_TEST_tb.mt48lc4m16a2 : at time  215330.0 ns WRITE: Bank = 0 Row =    0, Col = 254, Data = 9595, G8 N4 {+ z& }! t$ ?
SDRAM_TEST_tb.mt48lc4m16a2 : at time  215350.0 ns WRITE: Bank = 0 Row =    0, Col = 255, Data = 3434. U4 s' D; A$ D" ^
SDRAM_TEST_tb.mt48lc4m16a2 : at time  215370.0 ns WRITE: Bank = 0 Row =    0, Col =   0, Data = zzzz  `  u1 V3 [" @9 N0 E
SDRAM_TEST_tb.mt48lc4m16a2 : at time  220915.0 ns READ : Bank = 0 Row =    0, Col =   0, Data = zzzz
. g$ c) k! ~" j! K+ USDRAM_TEST_tb.mt48lc4m16a2 : at time  220935.0 ns READ : Bank = 0 Row =    0, Col =   1, Data = 8282( Q4 f1 V6 `! z& ~- {# N0 a4 V  I) A4 E
SDRAM_TEST_tb.mt48lc4m16a2 : at time  220955.0 ns READ : Bank = 0 Row =    0, Col =   2, Data = 9191
+ s3 D$ o8 S1 l( j* D' kSDRAM_TEST_tb.mt48lc4m16a2 : at time  220975.0 ns READ : Bank = 0 Row =    0, Col =   3, Data = 3030
. |% U5 s, F* U9 ^6 {5 r) iSDRAM_TEST_tb.mt48lc4m16a2 : at time  220995.0 ns READ : Bank = 0 Row =    0, Col =   4, Data = 4f4f) }4 Z2 O" z6 e
SDRAM_TEST_tb.mt48lc4m16a2 : at time  221015.0 ns READ : Bank = 0 Row =    0, Col =   5, Data = 5e5e+ A& q  W% a  v: {' @
SDRAM_TEST_tb.mt48lc4m16a2 : at time  221035.0 ns READ : Bank = 0 Row =    0, Col =   6, Data = 6d6d

604

主题

2859

帖子

1万

积分

EDA365版主(50)

Rank: 5

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

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

Snap1.jpg

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

Snap2.jpg

5

主题

14

帖子

104

积分

二级会员(20)

Rank: 2Rank: 2

积分
104
5#
发表于 2011-4-29 09:24 | 只看该作者
能交流一下吗?告我你的联系方式吗* L4 |3 k, _6 Q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 22:26 , Processed in 0.111770 second(s), 36 queries , Gzip On.

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

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

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