小舍YZ
发表于 2017-7-12 14:13:00
10)单击“Next”按键,进入示例程序Memory test的映射配置界面,将其指令空间、数据空间、堆栈空间都映射到DDR_SDRAM中,如图9-147所示。
图9-147 示例程序Memory test映射配置界面
小舍YZ
发表于 2017-7-12 14:13:41
11)单击“Next”按键,进入示例程序Peripheral selftest的映射配置界面,将其指令空间、数据空间、堆栈空间都映射到DDR_SDRAM中,如图9-148所示。
图9-148 示例程序Peripheral selftest映射配置界面
小舍YZ
发表于 2017-7-12 14:14:27
12)单击“Next”按键进入系统创建页面,该页面显示了处理器的系统参数、所有外设的地址以及LMB总线的特点,如图9-149所示。单击“Generate”按键,即可完成整个系统的配置的生成。
图9-149 系统创建页面
小舍YZ
发表于 2017-7-12 14:15:47
13)添加DDR SDRAM控制器
硬件平台建成后,下一步就是在总线上添加控制器的IP Core。直接将工程信息面板的IP Catalog页面Memory Controller目录下的OPB DDR SDRAM Controller拖到组建面板中,挂到OPB总线即可。
之后,需要生成外设地址。由于开发板的外设地址是直接生成的,直接在工程信息区域的Project页面的Project Files目录下的mhs文件中查阅。其关于DDR外设的地址为:
PARAMETER C_MEM0_BASEADDR = 0x44000000
PARAMETER C_MEM0_HIGHADDR = 0x47ffffff
其中,PARAMETER C_MEM0_BASEADDR是DDR SDRAM外设的基地址,PARAMETER C_MEM0_HIGHADDR是DDR SDRAM外设的高地址。外设的地址范围对于访问外设等操作是非常重要的。
14)查看/修改UCF文件
双击XPS中工程信息区域的Project页面的Project Files目录下的UCF File,可看到DDR SDRAM接口控制器的管脚和电平约束文件,部分约束如图9-150所示。
图9-150 DDR SDRAM控制器UCF文件局部示意图
小舍YZ
发表于 2017-7-12 14:16:16
如前所示,ISE软件中包含了Xilinx开发板的板级开发包,因此会自动生成UCF文件。如果选择用户自定义电路板,则UCF文件是空的,需要用户添加,这是用户在开发自定义电路板DDR SDRAM控制器唯一的手动任务。需要注意的是:在EDK生成的DDR SDRAM控制器中,地址总线和数据总线下标是逆序的,如IP Core数据总线下标为0的信号线,对应着实际芯片数据总线的最高位。
小舍YZ
发表于 2017-7-12 14:17:11
15)综合硬件平台
修改完UCF文件后,可以综合硬件平台,点击“Hardware”菜单下的“Generate Netlist”命令,XPS开始硬件平台构建。在综合时,XPS右下角浅蓝色圆图标一直在转动,并在输出窗口输出相关的综合指示信息。
综合完成后,再点击“Hardware”菜单下的“Generate Bitstream”命令,生成硬件配置比特流。
16)添加/编译测试代码
在创建工程时,选择添加示例程序Memory test,因此XPS会提供存储器的测试代码。在XPS中工程信息区域的Applications页面中的Project:TestAPP_Memory工程上单击右键,选中“Mark to initialize BRAMs”,将其设定为片内初始化应用。
双击打开该应用Source目录下的TestAPP_Memory.c,可看到XPS自动生成的测试代码。如果用户计算机具有串口接口,则不用修改原文件;否则需要修改原文件,添加头文件#include "xio.h",并在main()函数体的第一行加入以下简单的代码:
int i = 0;
int j = 0;
while(1)
{
XIo_Out16(XPAR_DDR_SDRAM_32MX16_MEM0_BASEADDR + i, i);
j = XIo_In16(XPAR_DDR_SDRAM_32MX16_MEM0_BASEADDR + i);
i = i + 1;
}
在工程上点击右键,选择Build Project命令,编译软件代码。编译完成后,XPS输出窗口会给出图9-151所示的指示信息。
图9-151 编译输出结果示意图
小舍YZ
发表于 2017-7-12 14:17:29
编译无误后,点击“Device Configuration”菜单下的Updata Bitstream命令,将软件比特流和硬件比特流合而为一。
晓灰灰
发表于 2017-7-13 09:11:27
DDR SDRAM控制器的基本要求
FPGA_one
发表于 2017-7-13 09:19:20
DDR SDRAM控制器的EDK实现
小舍YZ
发表于 2017-7-13 15:44:58
FPGA_one 发表于 2017-7-13 09:19
DDR SDRAM控制器的EDK实现
:lol :lol :lol :lol :lol