请教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) 可能写错 bankaddr= SADDR对的 回复【1楼】888888888888
-----------------------------------------------------------------------
非常感谢! mark mark mark mark mark 回复【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
怎么回事,望指教? mark 你注意下B10,10号地址在SDRAM中用途很特殊的,另外你10行用的地址是0--9,估计你逻辑地址砖物理地址上有错误 回复【10楼】888888888888
-----------------------------------------------------------------------
谢谢
现在想测试 mt48lc8m16a2.v(9行12列) 行用的地址是0--8 ,修改 bankaddr= SADDR ,想测试bank 2'b10 和bank 2'b11还没有调通,还在找原因 在测试 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 位宽为
不知道为什么会出现这种问题,难道程序下载的不是原版而是被人改过的 mark Altera SDR SDRAM控制器 万能的论坛 我找了好久 以前在电驴上下载过 谢谢 正在找这方面的资料~谢谢Le~~~~~~~~ mark pp 学习了。。。。 mark 马克了 请问这个sdr sdram具体怎么用?如果修改里面参数??? 还在读,sdram控制难度有点大 还没搞定 有谁搞掂的,麻烦无私奉献下。谢谢。。。。。。。。。。。 还在读,sdram控制难度有点大 还没搞定 搞懂Sdram,为DDR2 DDR3作准备。 zhanshenguilai 发表于 2011-3-5 11:10
在测试 mt48lc8m16a2.v 时
Params.v中应定义:
`define BANKSTART 21
总感觉这里面有错误啊,lz调通了没? 谢谢楼主,正需要,非常感谢 zhanshenguilai 发表于 2011-3-5 11:10
在测试 mt48lc8m16a2.v 时
Params.v中应定义:
`define BANKSTART 21
mark 请问一下,你进行仿真了吗?我用modelsim仿真的时候编译无法通过?不知道它这个官方IP核是如何仿真的 mark,学习~感觉DDR2 sdram很不好弄 正在找这些资料~
页:
[1]