DDR3 AXI4 IP核接口配置(1)

    • 前言

在CSDN上讲解配置ddr ip核和仿真的示例已经很多了,在此仅仅记录下自己在项目中以及学习过程中自己的总结;下一篇继续仿真测试代码的讲解。

    • AXI4接口协议

既然是基于AXI4接口的配置,那么就必须要说一下什么是AXI4接口协议。AXI 总线协议包括 AXI4,AXI4-Lite,AXI4-Stream 三类,均分为为主(master)、从(slave)设备,按照约定好的数据传输方式来交互。AXI4总线通道分为读地址、读数据、写地址、写数据、写响应五个通道,每个通道都有自己的valid与ready信号。具体详细信息可参照ug761官方详细文档(https://docs.xilinx.com/v/u/en-US/ug761_axi_reference_guide)。

    • IP 核配置流程

(1)勾选AXI4 interface,name可以自己修改。

 (2)此页为配置IP 核兼容其他的FPGA型号,如果有需要可以勾选

(3)选择ddr3还是ddr2。

(4)clock period: DDR3 芯片工作的时钟,这里我选择的芯片最高支持800MHz,所以就选择800M,理论上只要选择小于等于最高工作频率就可以。选择了800MHZ之后DDR3的工作时钟与用户端的时钟之比就只能选择4:1,此时ui_clk为 800 ÷ 4 = 200 MHz。        有一个地方需要注意,如果你配置的ip核时钟刚好可以选择2:1的比例,比如选择500MHZ后就可以选择2:1比例。 2:1会降低最大存储器接口频率,2:1比例的用户界面数据总线宽度(s_axi_rdata、s_axi_wdata)是物理存储器接口宽度(Data_width)的4倍。而4:1比率的总线宽度是物理存储器接口宽度的8倍。      Memory part:芯片型号自己选择,也可以自己定制自己的芯片属性(create custom part)。

Memory Voltage:这个为ddr的电压选择,在硬件设计时已经决定了,自主选择就好。

Data Width:数据位宽这里选择16。在测试四片ddr时我这里就要选择64位的数据位宽,那么对应的s_axi_wdata与s_axi_rdata就会变为512(64*8,前提是选择的4:1的比例)。

其余的ECC与数据掩码都保持默认即可。

(5)AXI DATA WIDTH 读写的数据位宽可以自己选择,其中narrow burst support选为1,表示支持突发传输数据。如果没有主机发出突发传输并且所有的发出的以及接收的数据位宽都是相同的,那么可以设置为0。

地址宽度和ID宽度保持默认即可。

(6)这一页中依次配置进ddr的系统时钟,这里选择200M为了和后面的系统时钟共用一个时钟。其中read burst type and length可以选择为连续模式(Sequential)与中断模式(Interleaved),一般选择连续模式,其余保持默认。

(7)系统时钟类型选择no buffer,如果你硬件设计上有直接输入给ddr的差分晶振时钟,那么就选择Differential,No Buffer 代表是FPGA内部产生的时钟,Single-Ended为单端时钟。具体看自己设计需求选择。由于在前文设置了进ip的系统时钟为200M,所以这里参考时钟可以选择为use system clk,节约一个时钟输入。(如果没有系统时钟不为200M,那么就需要再输入一个参考时钟,可由FPGA内部产生)。其余配置默认。

(8)这一页也保持默认。

(9)一般自己的项目都需要根据自己的 FPGA 芯片引脚绑定 DDR3 引脚,具体查看原理图,对应地址线数据线填入即可。如果是开发板的话一般都配有ucf文件,点击read ucf/xcf文件导入即可。最后一路点击next即可完成mig ip核的配置。

谢谢观看,有问题可以评论区一起讨论。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值