zhanshenguilai 发表于 2011-3-2 20:19:11

请教Altera SDR SDRAM控制器中位宽的定义(分享资料)

测试用的sdram为:mt48lc8m16a2.v(9行12列)
http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_619497OKDOYQ.jpg
(原文件名:MT48LC8M16A2.jpg)

代码为 Altera 的 SDR SDRAM controller

Params.v中定义:
`define ROWSTART      9         
`define ROWSIZE         12
`define COLSTART      0
`define COLSIZE         9
`define BANKSTART       20
`define BANKSIZE      2

`defineASIZE         23      // total address width of the SDRAM
`defineDSIZE         32      // Width of data bus to SDRAMS

Command.v中定义:
wire    [`ROWSIZE - 1:0]      rowaddr;
wire    [`COLSIZE - 1:0]      coladdr;
wire    [`BANKSIZE - 1:0]       bankaddr;

assign   rowaddr   = SADDR[`ROWSTART + `ROWSIZE - 1: `ROWSTART];          // assignment of the row address bits from SADDR
assign   coladdr   = SADDR[`COLSTART + `COLSIZE - 1:`COLSTART];         // assignment of the column address bits
assign   bankaddr= SADDR[`BANKSTART + `BANKSIZE - 1:`BANKSTART];      // assignment of the bank address bits

请大侠指教:
1.那么rowaddr   = SADDR;
      coladdr   = SADDR;
      bankaddr= SADDR; //为什么不是   ?????    SADDR 是复用吗?????
2.我要是用 MT48LC32M16A2 该如何定义(10行 13列)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_619498UXDQ0J.jpg
(原文件名:MT48LC32M16A2.jpg)



`define ROWSTART      10         
`define ROWSIZE         13
`define COLSTART      0
`define COLSIZE         10
`define BANKSTART       22 //应该定义为22还是23 ?????
`define BANKSIZE      2

`defineASIZE         25      // total address width of the SDRAM
`defineDSIZE         32      // Width of data bus to SDRAMS
   
      
点击此处下载 ourdev_619518MZ76BY.rar(文件大小:12K) (原文件名:Altera_Sdram_IP_源码(verilog).rar)
点击此处下载 ourdev_619519OV95F4.doc(文件大小:233K) (原文件名:Altera提供的sdram+ip+core应用小节.doc)
点击此处下载 ourdev_619520FD46CV.rar(文件大小:6K) (原文件名:mt48lc8m16a2.rar)
点击此处下载 ourdev_619521SE8I55.rar(文件大小:174K) (原文件名:mt48lc32m16a2.rar)
点击此处下载 ourdev_619522POFSDH.pdf(文件大小:896K) (原文件名:sdr_sdram.pdf)
点击此处下载 ourdev_619523UN83ZJ.doc(文件大小:982K) (原文件名:SDR_SDRAM_控制器白皮书_中英文对照版本.doc)

NJ8888 发表于 2011-3-2 21:23:36

可能写错      bankaddr= SADDR对的

zhanshenguilai 发表于 2011-3-2 21:56:19

回复【1楼】888888888888
-----------------------------------------------------------------------
非常感谢!

li20030505 发表于 2011-3-3 07:58:46

mark

wxx116zh 发表于 2011-3-3 08:19:52

mark

sn2101 发表于 2011-3-3 19:19:20

mark

HYFAVR 发表于 2011-3-3 20:00:24

mark

HYFAVR 发表于 2011-3-3 20:05:43

mark

zhanshenguilai 发表于 2011-3-3 20:31:35

回复【1楼】888888888888
-----------------------------------------------------------------------
我也觉得应该是 bankaddr= SADDR
但修改后 modelsim 仿真时 读写bank 2'b10 和bank 2'b11 有问题,比如我想读写 bank 2'b10 ,mt48lc8m16a2.v模块在modelsim中的调试信息 :

# Testing page burst accesses
# sdr_sdram_tb.mem00 : at time    3134.0 ns LMR: Load Mode Register
# sdr_sdram_tb.mem00 :                           CAS Latency      = 3
# sdr_sdram_tb.mem00 :                           Burst Length   = Full
# sdr_sdram_tb.mem00 :                           Burst Type       = Sequential
# sdr_sdram_tb.mem00 :                           Write Burst Mode = Programmed Burst Length
# Writing a ramp value from 0-29 out to sdram at address 0x400000
# sdr_sdram_tb.mem00 : at time    4462.0 ns BST: Burst Terminate
# Reading the ramp value from sdram at address 0x400000
# Read error at 00400000 read zzzz expected 00000000

怎么回事,望指教?

yuphone 发表于 2011-3-3 20:40:27

mark

NJ8888 发表于 2011-3-3 21:16:45

你注意下B10,10号地址在SDRAM中用途很特殊的,另外你10行用的地址是0--9,估计你逻辑地址砖物理地址上有错误

zhanshenguilai 发表于 2011-3-3 21:41:29

回复【10楼】888888888888
-----------------------------------------------------------------------
谢谢
现在想测试 mt48lc8m16a2.v(9行12列) 行用的地址是0--8 ,修改 bankaddr= SADDR ,想测试bank 2'b10 和bank 2'b11还没有调通,还在找原因

zhanshenguilai 发表于 2011-3-5 11:10:18

在测试 mt48lc8m16a2.v 时
Params.v中应定义:
`define BANKSTART       21

`defineASIZE          24      // total address width of the SDRAM(测试通过,原因尚不明)


如果测试 mt48lc32m16a2.v 则
`define BANKSTART       23

`defineASIZE          26      // total address width of the SDRAM (测试通过,原因尚不明)

还要改相应 SA ISA 位宽为


不知道为什么会出现这种问题,难道程序下载的不是原版而是被人改过的

Nuist_Gwgj 发表于 2011-6-29 17:31:25

mark

algebra 发表于 2011-7-9 20:39:01

Altera SDR SDRAM控制器

mcupro 发表于 2011-9-29 00:05:56

万能的论坛 我找了好久 以前在电驴上下载过 谢谢

elcarim0efil 发表于 2011-10-18 13:09:11

正在找这方面的资料~谢谢Le~~~~~~~~

ye_song 发表于 2011-12-14 12:00:36

mark

gotearcom 发表于 2012-2-2 15:42:49

pp

mailtoyj518168 发表于 2012-2-17 11:34:57

学习了。。。。

zhangyunbo 发表于 2012-2-24 15:20:41

mark

caozhu 发表于 2012-2-28 23:55:49

马克了

chenjm 发表于 2013-4-19 09:31:49

请问这个sdr sdram具体怎么用?如果修改里面参数???

he33504898 发表于 2013-4-19 12:49:53

还在读,sdram控制难度有点大 还没搞定

chenjm 发表于 2013-4-23 10:19:00

有谁搞掂的,麻烦无私奉献下。谢谢。。。。。。。。。。。

dy1985 发表于 2013-4-27 11:32:34

                                    还在读,sdram控制难度有点大 还没搞定

lyl520719 发表于 2013-10-13 02:30:08

搞懂Sdram,为DDR2 DDR3作准备。

liangd123654 发表于 2014-2-17 20:49:33

zhanshenguilai 发表于 2011-3-5 11:10
在测试 mt48lc8m16a2.v 时
Params.v中应定义:
`define BANKSTART       21


总感觉这里面有错误啊,lz调通了没?

gongping 发表于 2014-7-16 12:50:45

谢谢楼主,正需要,非常感谢

竹风xu 发表于 2014-7-17 15:42:27

zhanshenguilai 发表于 2011-3-5 11:10
在测试 mt48lc8m16a2.v 时
Params.v中应定义:
`define BANKSTART       21


mark            

小大琦 发表于 2014-11-7 14:48:55

请问一下,你进行仿真了吗?我用modelsim仿真的时候编译无法通过?不知道它这个官方IP核是如何仿真的

dxzky 发表于 2014-11-8 10:30:53

mark,学习~感觉DDR2 sdram很不好弄

uestc19 发表于 2015-3-25 15:59:46

正在找这些资料~
页: [1]
查看完整版本: 请教Altera SDR SDRAM控制器中位宽的定义(分享资料)