找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

604

主题

2859

帖子

1万

积分

EDA365版主(50)

Rank: 5

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

EDA365欢迎您!

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

x
SDRAM控制问题请教:为何用的器件模型读数据的时候是高阻Z4 p  s$ M8 }% n8 ]/ h  g0 g. `

* u  U' w; K# m! Y2 i我这我用到的一个器件仿真模型
( e1 }3 T4 ^0 i3 [" o  ^* w4 s但是为何数据线在读的时候是高阻态?2 q. j+ z& P' I9 R1 @' R1 ?
+ Y" o! V3 _: h, {+ r( C
在我的tb文件里面  P2 `3 b# u" X
wire     [15:0] io_Sdram_DQ;
- }7 \4 n* |. J4 }2 q5 H( [我看器件模型里面有存储单位的设置
* |, R2 w2 G# M/ m( C为何写如何的数据读出不对% n* _/ K7 `+ \8 P$ Q. v7 ~; ~. w

: M2 g: m  I6 q" n$ s( Y    parameter addr_bits =      12;0 ]- c9 q" g3 O+ w1 n- n
    parameter data_bits =      16;' K/ h4 R# y8 U2 [
    parameter col_bits  =       8;
6 ~# [2 G2 B' b7 V' c$ y- ?/ |    parameter mem_sizes = 1048575;
. F9 K8 I8 I; \0 b, ?, n# N' d    inout     [data_bits - 1 : 0] Dq;
7 `" n' C0 F% V% @- T4 U: n1 g5 I6 E    input     [addr_bits - 1 : 0] Addr;
8 F& W/ C3 [# {9 e' g( B8 A4 b    input                 [1 : 0] Ba;
; ]; x* m8 O; ?1 R- n+ T/ Z' d) n    input                         Clk;
% ^5 [) v6 z% n! Z6 x* f    input                         Cke;
, o& F! X# X$ S, Z5 n. P8 E  W    input                         Cs_n;+ ~5 r+ y5 s1 u' O/ e* V5 D
    input                         Ras_n;- Q! [& o% `6 u7 M) X
    input                         Cas_n;. J2 V. `9 T! J- n( V* }5 Y$ T) [
    input                         We_n;' U7 V7 T8 S( U/ w" j, w2 ]
    input                 [1 : 0] Dqm;+ c* Q  x4 @$ {' E3 x
    reg       [data_bits - 1 : 0] Bank0 [0 : mem_sizes];5 r0 g$ Q9 o$ D! L5 ~7 w& h
    reg       [data_bits - 1 : 0] Bank1 [0 : mem_sizes];
* X/ L& \* B; q& W- z    reg       [data_bits - 1 : 0] Bank2 [0 : mem_sizes];! Z; Z& O7 f$ L/ `; k4 S- {
    reg       [data_bits - 1 : 0] Bank3 [0 : mem_sizes];
* D" }" c: \6 n4 W$ a........

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文件要这样搞7 I/ j6 W' n8 C1 Q  E% n
wire[7:0] io_Sdram_DQ_wire;
4 _  i# h- R) j% [2 O. qreg[7:0] io_Sdram_DQ_reg;
4 h  L( V& Q- z2 r. Dassign io_Sdram_DQ_wire = (~We_n) ? io_Sdram_DQ_reg : 1'bz;
! ?6 K& `/ s4 T, G1 {: L; ]& Q这样的话在We有效时Dq_wire上是要写入的数据, 在读信号有效时,Dq_wire由读出的数据驱动
' r/ ?' O  t: b& L( f7 s这个是方法,我也是在网上找到后按这个方法仿真双向端口的HDL文件的

604

主题

2859

帖子

1万

积分

EDA365版主(50)

Rank: 5

积分
13638
3#
 楼主| 发表于 2008-12-2 20:46 | 只看该作者
为何在写的过程 列地址的第一位在最后给写成zzzz了?, r$ T1 `6 b7 s  O
见下面的记录$ a+ a4 S- u/ S0 p
列地址最大255: E! R) _: T! v" ^' F( T! o
: w( Z/ w4 o$ J" y0 E
9 B% P3 A/ p) [! r! |7 ^9 @: X9 c
.....
% |' k, M) b2 V' s+ ^4 bSDRAM_TEST_tb.mt48lc4m16a2 : at time  215250.0 ns WRITE: Bank = 0 Row =    0, Col = 250, Data = 5959
4 Z# u9 o; {; @' b# N' NSDRAM_TEST_tb.mt48lc4m16a2 : at time  215270.0 ns WRITE: Bank = 0 Row =    0, Col = 251, Data = 6868
  |/ Q4 u7 g+ G5 L4 M% L2 A9 \SDRAM_TEST_tb.mt48lc4m16a2 : at time  215290.0 ns WRITE: Bank = 0 Row =    0, Col = 252, Data = 7777* q5 S% }8 v2 S8 r  M7 t0 l
SDRAM_TEST_tb.mt48lc4m16a2 : at time  215310.0 ns WRITE: Bank = 0 Row =    0, Col = 253, Data = 8686
' S' H) B# {$ tSDRAM_TEST_tb.mt48lc4m16a2 : at time  215330.0 ns WRITE: Bank = 0 Row =    0, Col = 254, Data = 9595
# l9 _1 h2 h& j$ Z8 m8 s1 iSDRAM_TEST_tb.mt48lc4m16a2 : at time  215350.0 ns WRITE: Bank = 0 Row =    0, Col = 255, Data = 3434
! t5 `/ j" `& \5 X1 K" Q) `SDRAM_TEST_tb.mt48lc4m16a2 : at time  215370.0 ns WRITE: Bank = 0 Row =    0, Col =   0, Data = zzzz* k4 C0 e  C. j; f6 A
SDRAM_TEST_tb.mt48lc4m16a2 : at time  220915.0 ns READ : Bank = 0 Row =    0, Col =   0, Data = zzzz
* n1 ^6 f; Y' mSDRAM_TEST_tb.mt48lc4m16a2 : at time  220935.0 ns READ : Bank = 0 Row =    0, Col =   1, Data = 82826 F3 g! i1 W: k: O1 A. G
SDRAM_TEST_tb.mt48lc4m16a2 : at time  220955.0 ns READ : Bank = 0 Row =    0, Col =   2, Data = 9191
& t- b5 \8 }: uSDRAM_TEST_tb.mt48lc4m16a2 : at time  220975.0 ns READ : Bank = 0 Row =    0, Col =   3, Data = 3030
% ]9 V  `9 F8 l- c5 v) X( YSDRAM_TEST_tb.mt48lc4m16a2 : at time  220995.0 ns READ : Bank = 0 Row =    0, Col =   4, Data = 4f4f
3 }# |0 g  E0 |! ^SDRAM_TEST_tb.mt48lc4m16a2 : at time  221015.0 ns READ : Bank = 0 Row =    0, Col =   5, Data = 5e5e* D0 f* ~* P5 X- B/ e. W9 _7 |1 S
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 | 只看该作者
能交流一下吗?告我你的联系方式吗
, c& }1 J/ Q7 d- k
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-6-2 08:30 , Processed in 0.061005 second(s), 35 queries , Gzip On.

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

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

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