当前位置: 首页 > news >正文

DDR3入门系列(二)------DDR3硬件电路及Xilinx MIG IP核介绍

1. 以FPGA作为控制器的DDR硬件电路

下图提供一种DDR3与FPGA硬件连接的参考电路,DDR3型号为MT41K256M16xx。

2. 赛灵思(Xilinx)MIG IP核的介绍

Mig(memory interface generator)IP核,是Xilinx官方提供的存储器接口控制器IP核,在Vivado软件的IP Catalog界面中可以搜索得到。双击进入该IP核GUI界面之后,先确认好FPGA型号。这里可以自己在电脑上对照着学。

点击Next后看到下一个界面:

  • MIG Output Options:输出选项,一般选择Create Design就行。

  • Component Name:组件名称,设置该界面下生成的模块的名称。

  • Multi-Controller:支持多个DDR控制器,根据实际需要选择。

  • AXI4 Interface:选择启用AXI4接口,适合CPU随机访问存储器里的地址。

点击Next后看到下一个界面:

  • Pin Compatible FPGAs:可以勾选一些兼容的型号器件,一般直接跳过。

点击Next后看到下一个界面:

  • Memory Selection:选择存储器类型。

点击Next后看到下一个界面:

  • Clock Period:接口时钟频率,用于FPGA输出给到DDR存储器时钟管脚的时钟,对于7系列的FPGA而言,这里最大可以设置到400MHz;

  • PHY to Controller Clock Ratio:DDR时钟频率与FPGA用户逻辑时钟频率的比值;如果它的值是4:1,且DDR接口时钟频率为400MHz,那么FPGA逻辑读写的频率就是100MHz。

  • Vccaux_io:电压电平,这个可以不用管;

  • Memory Type:存储器类型,一般就选择Components,表示单颗粒的结构;

  • Memory Part:存储器型号,每一种存储器型号的参数(频率、位宽、时序)都不一样,这个根据实际情况去选择;

  • Memory Voltage:保持默认即可;

  • Data Width:设置成存储器实际的数据位宽;

  • ECC:不用管;

  • Data Mask:使能Data Mask引脚,当Data Mask电平置高,数据无法写入;

  • Number of Bank Machines:DDR控制器的Bank Machines个数设置,不一定与DDR存储器的Bank数量一致,可以保持默认;

  • ORDERING:模式设置,如果是Normal模式,会允许控制器对用户发出的指令进行排序,从而得到更高效的利用,一般选择Strict模式,即不改变用户发出的指令顺序。

点击Next后看到下一个界面:

  • Input Clock Period:输入系统时钟频率设置,这个时钟是提供给MIG IP的时钟;

  • 其余按照默认即可。

这里扩展说明一下,MIG IP核使用需要提供的时钟有两种,一个是Reference Clock;一种是System Clock。

点击Next后看到下一个界面:

  • System Clock:系统时钟,这里不是外部输入的时钟,因此只能选择No Buffer模式;

  • Reference Clock:参考时钟。

  • System Reset Polarity:复位的极性;

  • Debug Signal for Memory Controller:调试信号,默认关掉就行;

  • 其余保持默认即可。

点击Next后看到下一个界面:

  • Internal Termination Impedance:内部阻抗匹配。

点击Next后看到下一个界面:

  • Pin/Bank Selection Mode:引脚模式选择,一种是New Design模式,系统会帮你选择一个最佳的引脚设置;另一种是Fixed Pin Out模式,自定义选择引脚。

点击Next后看到下一个界面:

  • Pin Selection For Controller:管脚选择。

后面的界面直接保持默认,最后选择Generate就可以了。

本期分享结束,感谢大家看完,私信我可获取相关详细资料!

http://www.xdnf.cn/news/1366003.html

相关文章:

  • linux 正则表达式学习
  • 使用 gemini 来分析 github 项目
  • 安卓11 12系统修改定制化_____修改固件 默认给指定内置应用系统级权限
  • 大模型的思考方式
  • Java全栈开发实战:从Spring Boot到Vue3的项目实践
  • ZKmall开源商城多端兼容实践:鸿蒙、iOS、安卓全平台适配的技术路径
  • 8.25作业
  • [MH22D3开发笔记]2. SPI,QSPI速度究竟能跑多快,双屏系统的理想选择
  • Linux笔记9——shell编程基础-3
  • Tesseract OCR之页面布局分析
  • Linux系统的网络管理(一)
  • c# 读取xml文件内的数据
  • 网络编程-HTTP
  • zookeeper-znode解析
  • 【动态规划】309. 买卖股票的最佳时机含冷冻期及动态规划模板
  • 深入浅出 ArrayList:从基础用法到底层原理的全面解析(中)
  • 【C语言16天强化训练】从基础入门到进阶:Day 11
  • 信号处理的核心机制:从保存、处理到可重入性与volatile
  • 系统架构设计师-计算机系统存储管理的模拟题
  • 【数据结构】栈和队列——队列
  • AR远程协助:能源电力行业智能化革新
  • 数据库迁移幂等性介绍(Idempotence)(Flyway、Liquibase)ALTER、ON DUPLICATE
  • 05 开发环境和远程仓库Gitlab准备
  • coze工作流200+源码,涵盖AI文案生成、图像处理、视频生成、自动化脚本等多个领域
  • 向量库Qdrant vs Milvus 系统详细对比
  • 智能专网升级:4G与5G混合组网加速企业数字化转型
  • FunASR基础语音识别工具包
  • 【Canvas与标牌】维兰德汤谷公司logo
  • JavaScript 中类(class)的super 关键字
  • 【YOLOv5部署至RK3588】模型训练→转换RKNN→开发板部署