zxj123

zxj123

0个粉丝

92

问答

0

专栏

0

资料

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

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 工具生成的代码,和你自己的代码进行对照,用于参考。 上这个网页http://www.xilinx.com/products/d... ce/xaw_dram_ddr.htm 然后注册并下载 Memory Interface Generator (MIG) 工具 有个中文网站也提供资料 http://www.21ic.com/news/n4748c89.aspx,不过不知道版本是不是最新的。 另外,有一个叫做MPMC 的 High Performance Multi Port Memory Controller (XAPP535) 可以直接拿 过来用,连多端口访问仲裁器都带有了。 http://www.xilinx.com/gsrd/ http://www.xilinx.com/bvdocs/appnotes/xapp535.pdf 如果怀疑是实际调试问题而非一般代码设计问题,建议review 芯片的复位初始化过程,注意写模式寄 存器之前需要足够的等待时间。可以从micron 网站下载一个 芯片模型,例如 http://download.micron com/downl ... ddr2/512Mb_ddr2.zip,做一个完整的RTL 仿真,或者利用MIG 生成的TESTBENCH, 把你自己的代码替换进去做前仿真。

我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区