赞
踩
1. 打开IP Catalog然后搜索mig,如下图所示:
2. 如下图所示,首先是确认工程的信息,主要是芯片信息和编译环境的信息,如果没什么问题,直接点击“Next”。
3. 如下图所示,选择“Create Design”,在“Component Name”一栏设置该 IP 元件的名称,这里取默认软件的名称,再往下选择控制器数量,默认为“1”即可。当设为2时就代表驱动两个DDR。最后关于 AXI4 接口,因为本工程不去使用AXI4 接口,所以不勾选。配置完成点击“Next”。
4. 如下图所示,该页主要是选择可以兼容的芯片,本工程默认不勾选,即不需要兼容其他的 FPGA芯片。配置完成点击“Next”。
5. 如下图所示,因为我们要用 DDR3 芯片,所以选择第一个选项“DDR3 SDRAM”,配置完成后点击“Next”。
6. 如下图所示,从这页开始,就开始正式配置MIG IP 核的各个参数了。
7.上面的配置好之后,点击“NEXT”按钮,进入如下界面:
200mhz
。8.上面的配置好之后,点击“NEXT”按钮,进入如下界面:
9.继续点击“NEXT”按钮,界面如下图所示。
10.以上是高性能 bank 端接匹配阻抗的设置,这里不去改它,默认 50 欧姆即可。接下来点击“NEXT”按钮,界面如下图所示。
这里第一个选项是系统分配它认为的最合适的管脚(如果只是仿真,可以选择这个),第二个选项是由用户自己分配管脚。我这里只看仿真,固选择了第一个。
11.接下来一直点击next即可。
12.点击next即可。
13.点击next即可。
14.先点击accept,再点击next即可。
15.点击next即可。
16.点击generate即可。
17.点击generate生成MIG IP核。
18.等待综合完成后,如下图所示,右键选择Open IP Example Design,即可打开Xilinx官方提供的MIG IP核读写例程。
19.紧接着选择MIG IP核读写例程的存放路径 ,点击OK。
20.下图即为Xilinx官方提供的MIG IP核读写例程 ,点击Run Simulation进行仿真。
21.下图即为MIG IP仿真波形。(建议用modelsim仿真,vivado的仿真速度是真的慢)
22.我们只需关注UI端的这些信号。
23.首先观察写数据时的时序。
在init_calib_complete拉高后,即DDR初始化完成后,在第一根蓝线处,app_rdy为高,表示MIG IP核接收读写命令的准备完成,可以接收读写命令。此时app_en为高,app_cmd=0,app_addr=0表示写命令和地址被写入。与此同时app_wdf_rdy为高表明此时 IP 核数据接收处于准备完成状态,可以接收用户发过来的数据,在当前时钟拉高写使能(app_wdf_wren),给出写数据(app_wdf_data)。这样就可以成功向 IP 核写数据。这里有一个信号 app_wdf_mask,该信号用来屏蔽写入数据的,该信号为高则屏蔽相应的字节,该信号为 0 默认不屏蔽任何字节。
24.然后观察读数据时的时序。
在黄线处,app_rdy为高,表示MIG IP核接收读写命令的准备完成,可以接收读写命令。此时app_en为高,app_cmd=1表示读命令和读地址被写入。发出读命令后,只需等待数据有效信号(app_rd_data_valid)拉高,为高表明此时数据总线上的数据是有效的返回数据。通常在发出读命令一段时间后,有效读数据才能读出,如图中蓝线所示。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。