【FPGA测试】Microblaze测试DDR读写

1.新建工程

(1)点击vivado的Create Project新建一个工程;

(2)弹出新建工程界面后点击NEXT,出现如下界面,找一个路径放置自己的工程,取一个工程名;

(3)选择RTL Project类型;

(4)点击next界面,不添加任何文件,直到弹出如下界面,选择芯片型号为325tffg900-2,选完后点击next;

(5)最后点击finish,创建工程完毕;

2.测试系统配置

2.1配置Microblaze IP核

(1)在新建的工程中点击Creak Block Design,并取名system

(2)在弹出的界面中点击加号

(3)在弹出的搜索界面中搜索microblaze,选择箭头所指的IP核,双击该IP核加入到我们的设计中;

(4)点击Run Block Automation

(5)如下图所示配置界面,将Local memory改为64KB

2.2 MIG IP核配置

(1)添加MIG IP核

(2)如下图所示,双击IP核,打开配置界面,

(3)点击NEXT

(4)点击NEXT

(5)勾选上xc7k325ti,NEXT

(6)选择DDR3 SDRAM NEXT

(7)此时钟为MIG对DDR接口的速率为400M*2=800M(双沿)

(7)MIG输出到app接口上的时钟ui_clk为400M/4=200M。

(8)选择所使用的芯片类型,本次选用的是

(9)位宽选为32位

(10)配置好的页面如图,点击NEXT

(11)NEXT

(12)输入给MIG的时钟为200M

(13)点击NEXT

(14)将两处时钟配置改为No Buffer,点击NEXT

(15)NEXT

(16)管脚分配,选择导入现成的文件,第一次调试需要自己手动分配

(17)填好后点击Validate

(18)点击OK

(19)NEXT

(20)NEXT

(21)NEXT

(21)点击Accept,后点击NEXT

(22)NEXT

(23)Generate

至此MIG IP核配置完成。

2.3 AXI GPIO IP核配置

(1)添加AXI GPIO IP核

由于载板没有串口,故通过控制小灯亮灭来观察DDR是否工作正常。

(2)双击

(3)将位宽设置为4,选择All Outputs,点击OK

(4)点击 Run Connection Automation

(5)全选,点OK

(6)生成的图如下图所示

(7)对生成的网络图,进行修改,首先修改时钟,找到clk_wiz_1,双击

(8)选择单端信号

(9)在Output Clocks中添加一个200M时钟信号,去掉复位和locked信号

(10)删除多余端口、将clk_in1引出,右击clk_in1,选择make external

(11)点击clk_in1_0引脚,将其改名为sys_clk

(12)去除复位引脚,引入常量IP constant,单击后,Delete。

2.4设置复位信号

(1)添加constant IP核

(2)双击

(3)设置位宽为1,数值为1,点击OK

(4)将其连接到如下图的端口

2.5设计修改

(1)配置DDR时钟

将clk_out2与sys_clk_i相连

(2)引出DDR端口

(3)修改AXI GPIO的名字

(4)进行设计验证

(5)观察地址映射

(6)全貌

(7)Generate Block Design

注意:此时Vivado可能会闪退,解决方法是,使用文本格式打开上述目录下的mig_a.prj文件

然后删除前面的乱码,保存

(8)创建HDL文件

2.6进行管脚约束

(1)生成RTL视图

(2)如图点击

(3)管脚约束如下

(4)点击保存,命名为cons

(5)生成bit流

(6)Cancel

(7)Export Hardware:要包含.bit文件

3. SDK工程

(1)打开SDK

(2)新建一个空的工程

点击File选择new右边的application project

(3)取名ddr_test,点击Finish

(4)在ddr_test目录下。选择src文件,右击,生成一个.c文件

(5)点击Finish

(6)添加如下代码

(7)Program FPGA

(8)Debug,选择Debug As,Launch on Hardware

右下脚为调试按钮

(9)在内存管理窗口添加内存管理

(10)添加0x80000000

可以看出,此时的地址中都为随机数

(10)运行Step Over几步,观察变量和地址上数据的变化

随着程序运行,可以看到地址上的数被写成了相应的地址

(11)点击Resume,等待约8分钟,至程序运行完成。

4.调试结果

在内存管理窗口添加0xBFFFFFFF,可以看出,所有的地址均读写完成

同时LED常亮,表示测试成功。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值