ZYNQ7035 PS读写PL端DDR3

ZYNQ7035 PS读写PL端DDR3

硬件平台

小熊猫嵌入式电子:ZYNQ7035_R5

MIG IP核配置

ZYNQ7035 PS读写PL端DDR3_第1张图片
ZYNQ7035 PS读写PL端DDR3_第2张图片ZYNQ7035 PS读写PL端DDR3_第3张图片
ZYNQ7035 PS读写PL端DDR3_第4张图片
ZYNQ7035 PS读写PL端DDR3_第5张图片
ZYNQ7035 PS读写PL端DDR3_第6张图片
ZYNQ7035 PS读写PL端DDR3_第7张图片
ZYNQ7035 PS读写PL端DDR3_第8张图片
ZYNQ7035 PS读写PL端DDR3_第9张图片
ZYNQ7035 PS读写PL端DDR3_第10张图片

ZYNQ7035 PS读写PL端DDR3_第11张图片
ZYNQ7035 PS读写PL端DDR3_第12张图片
ZYNQ7035 PS读写PL端DDR3_第13张图片

ZYNQ7035 PS读写PL端DDR3_第14张图片
ZYNQ7035 PS读写PL端DDR3_第15张图片
ZYNQ7035 PS读写PL端DDR3_第16张图片
ZYNQ7035 PS读写PL端DDR3_第17张图片
ZYNQ7035 PS读写PL端DDR3_第18张图片

PL端DDR管脚分配

NET   "ddr3_addr[0]"      LOC = "A8"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[10]"     LOC = "C2"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[11]"     LOC = "F8"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[12]"     LOC = "B1"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[13]"     LOC = "B10"   |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[14]"     LOC = "F7"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[1]"      LOC = "A2"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[2]"      LOC = "D6"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[3]"      LOC = "C9"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[4]"      LOC = "D5"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[5]"      LOC = "A9"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[6]"      LOC = "E7"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[7]"      LOC = "B9"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[8]"      LOC = "G7"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_addr[9]"      LOC = "A7"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_ba[0]"        LOC = "B7"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_ba[1]"        LOC = "B2"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_ba[2]"        LOC = "A3"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_cas_n"        LOC = "B4"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_ck_n[0]"      LOC = "A5"    |     IOSTANDARD = DIFF_SSTL15          |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_ck_p[0]"      LOC = "B6"    |     IOSTANDARD = DIFF_SSTL15          |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_cke[0]"       LOC = "C3"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_cs_n[0]"      LOC = "C6"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dm[0]"        LOC = "F3"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dm[1]"        LOC = "J4"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dm[2]"        LOC = "M5"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dm[3]"        LOC = "N6"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[0]"        LOC = "C1"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[10]"       LOC = "L3"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[11]"       LOC = "H3"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[12]"       LOC = "K3"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[13]"       LOC = "H4"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[14]"       LOC = "J1"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[15]"       LOC = "H1"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[16]"       LOC = "L5"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[17]"       LOC = "N1"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[18]"       LOC = "M2"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[19]"       LOC = "M6"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[1]"        LOC = "E2"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[20]"       LOC = "L2"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[21]"       LOC = "N4"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[22]"       LOC = "L4"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[23]"       LOC = "M4"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[24]"       LOC = "M7"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[25]"       LOC = "J5"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[26]"       LOC = "K8"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[27]"       LOC = "J6"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[28]"       LOC = "K6"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[29]"       LOC = "K5"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[2]"        LOC = "D3"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[30]"       LOC = "N7"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[31]"       LOC = "K7"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[3]"        LOC = "F4"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[4]"        LOC = "D1"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[5]"        LOC = "G4"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[6]"        LOC = "D4"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[7]"        LOC = "E1"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[8]"        LOC = "H2"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dq[9]"        LOC = "G1"    |     IOSTANDARD = SSTL15_T_DCI         |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dqs_n[0]"     LOC = "F2"    |     IOSTANDARD = DIFF_SSTL15_T_DCI    |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dqs_n[1]"     LOC = "K1"    |     IOSTANDARD = DIFF_SSTL15_T_DCI    |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dqs_n[2]"     LOC = "N2"    |     IOSTANDARD = DIFF_SSTL15_T_DCI    |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dqs_n[3]"     LOC = "L8"    |     IOSTANDARD = DIFF_SSTL15_T_DCI    |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dqs_p[0]"     LOC = "G2"    |     IOSTANDARD = DIFF_SSTL15_T_DCI    |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dqs_p[1]"     LOC = "K2"    |     IOSTANDARD = DIFF_SSTL15_T_DCI    |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dqs_p[2]"     LOC = "N3"    |     IOSTANDARD = DIFF_SSTL15_T_DCI    |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_dqs_p[3]"     LOC = "M8"    |     IOSTANDARD = DIFF_SSTL15_T_DCI    |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_odt[0]"       LOC = "A4"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_ras_n"        LOC = "C4"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_reset_n"      LOC = "A10"   |     IOSTANDARD = LVCMOS15             |     VCCAUX_IO = NORMAL      ;

NET   "ddr3_we_n"         LOC = "B5"    |     IOSTANDARD = SSTL15               |     VCCAUX_IO = NORMAL      ;


逻辑框图

ZYNQ7035 PS读写PL端DDR3_第19张图片

PS编程

#include 
#include "platform.h"
#include "xil_printf.h"
#include "xparameters.h"
#include "xil_io.h"

int main()
{
    init_platform();

    print("Hello World\n\r");

    int i = 0;

    unsigned int sendBuff[256] = {0};
    unsigned int recvBuff[256] = {0};
    for(i = 0; i < 100; i++)
	{
    	sendBuff[i] = i;
    	xil_printf("sendBuff[%d] = %d\n",i,sendBuff[i]);
	}

    for(i = 0; i < 100; i++)
	{
		Xil_Out32((XPAR_MIG_7SERIES_0_BASEADDR + i*4),sendBuff[i]);
	}

    for(i = 0; i < 100; i++)
	{
    	recvBuff[i] = Xil_In32((XPAR_MIG_7SERIES_0_BASEADDR + i*4));
    	xil_printf("recvBuff[%d] = %d\n",i,recvBuff[i]);
	}



    cleanup_platform();
    return 0;
}

你可能感兴趣的:(FPGA,ZYNQ,Vivado,DDR3)