zxj123

zxj123

0个粉丝

95

问答

0

专栏

0

资料

zxj123  发布于  2012-12-24 14:39:35
采纳率 0%
95个问答
1965

FPGA做的ddr sdram 控制器

 
问:我做的ddr sdram 控制器, 在软件仿真阶段完全正常, 但是到了FPGA 验证的时候出现了很奇怪的
现象:我的FPGA 用了4 片DDR 并行工作( 就是当作一片DDR 一样的发指令) 现在遇到的问题是
发现在active 后, 连着3 个write, 然后一个write with aotoprecharge,burstlength=4, 然后再读出来,
发现其中有3 片的数据在读写之后是一致的,然而,另外的一片的这16 个数没有写进去。该现象与频
率无关。然后在紧接着的地址上继续写, 读,所有的数据都是正确的。我怀疑initial 没有做好, 加了
好多refresh,precharte, 结果都一样,我很奇怪,为什么3 个片子上的数据都是正确的,只有一个片子
的前几位是错误的。
有可能是initial 没有做好?还是什么原因, 各位大侠有没有遇到这种情况?
我用开发板上提供的仿真程序, 发现没有这种错误, 对比p&r 后的报告, 我的程序和开发板上的时间
参数差不多( 基本一致)。暂时就能总结这么些现象, 请各位大侠们指教一下,就是帮我猜猜也好,谢谢!
答:DDR SDRAM 的设计很关键的是物理层读数据如何捕获的问题。远远不止是RTL coding 的问题。要
做DEBUG 首先要了解你的器件型号,时钟频率和DDR SDRAM 器件型号。要关心所有的细节。DDR
SDRAM 器件有工作频率下限,你的设计不会频率太低吧。
如果你的设计DDR SDRAM 频率不高,建议不用自己做了,用XIILINX 网上公开的参考设计就可以了。
至少可以参考MIG 工具生成的代码,和你自己的代码进行对照,用于参考。
上这个网页[url]http://www.xilinx.com/products/d[/url] ... ce/xaw_dram_ddr.htm
然后注册并下载 Memory Interface Generator (MIG) 工具
有个中文网站也提供资料 [url]http://www.21ic.com/news/n4748c89.aspx[/url] ,不过不知道版本是不是最新的。
另外,有一个叫做MPMC 的 High Performance Multi Port Memory Controller (XAPP535) 可以直接拿
过来用,连多端口访问仲裁器都带有了。
[url]http://www.xilinx.com/gsrd/[/url]
[url]http://www.xilinx.com/bvdocs/appnotes/xapp535.pdf[/url]
如果怀疑是实际调试问题而非一般代码设计问题,建议review 芯片的复位初始化过程,注意写模式寄
存器之前需要足够的等待时间。可以从micron 网站下载一个 芯片模型,例如 [url]http://download.micron.[/url]
com/downl ... ddr2/512Mb_ddr2.zip,做一个完整的RTL 仿真,或者利用MIG 生成的TESTBENCH,
把你自己的代码替换进去做前仿真。
我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区