参见我的工程E:\vivado_program\ps_control_pl_ddr3
该例程是在ZC706开发板上实现的,在vivado中如下所示:

其中mig的配置比较复杂,具体参考文档在如下下载页中下载:
https://download.csdn.net/download/yanxiaopan/10467417
及xilinx官方文档ug898第五章。
在SDK中的程序如下所示:
#include <stdio.h>
#include "platform.h"
#include "xil_io.h"
#include "xparameters.h"
//void print(char *str);
int main()
{
init_platform();
//print("Hello World\n\r");
int num;
int result;
xil_printf("..........the test is start.........\n\r");
for(num=0;num<15;num++)
{
Xil_Out32(XPAR_MIG_7SERIES_0_BASEADDR+num*4,0x10000000+num);
}
for(num=0;num<15;num++)
{
result=Xil_In32(XPAR_MIG_7SERIES_0_BASEADDR+num*4);
xil_printf("the data at %x is %x \n\r",XPAR_MIG_7SERIES_0_BASEADDR+num*4,result);
}
xil_printf("..........the test is end....

本文介绍了在ZC706开发板上,使用Vivado实现Zynq PS到PL DDR3的数据读写。详细探讨了MIG配置的复杂性,并提供了相关文档链接。在SDK中,通过memorytest模板程序验证了成功。同时,文章讨论了输入晶振时钟、主时钟、DDR3读写时钟以及用户时钟之间的关系,包括时钟倍频和分频操作。

4534

被折叠的 条评论
为什么被折叠?



