Hi,
I build a IPIF master with Create/Import Peripheral. I try the example write in the user_logic.vhd:
-- Here's an example procedure in your software application to initiate a 4-byte -- write operation (single data beat) of this master model: -- 1. write 0x40 to the control register -- 2. write the source data address (local) to the ip2ip register -- 3. write the destination address (remote) to the ip2bus register -- - note: this address will be put on the target bus address line -- 4. write 0x0004 to the length register -- 5. write valid byte lane value to the be register -- - note: this value must be aligned with ip2bus address -- 6. write 0x0a to the go register, this will start the write operation
My C:
#include "xparameters.h" #include "xutil.h"
int main (void) {
volatile Xuint32* Data;
Data=3D(Xuint32*) XPAR_IPIF_MASTER_0_BASEADDR;
// contr=F4l register Data=3D(Xuint32*)(0x00+0x00);
*(Data)=3D0x40;// source address Data=3D(Xuint32*)(0x00+0x04);
*(Data)=3DXPAR_TEST_0_BASEADDR;//destination address Data=3D(Xuint32*)(0x00+0x04);
*(Data)=3DXPAR_PLB_BRAM_IF_CNTLR_1_BASEADDR;// lengh register Data=3D(Xuint32*)(0x00+0x04);
*(Data)=3D0x04;// BE register Data=3D(Xuint32*)(0x00+0x02);
*(Data)=3D0xFF;// Go register Data=3D(Xuint32*)(0x00+0x01);
*(Data)=3D0x0A;return 0; }
I put one data in my TEST block, but nothing happened. I want to transfer the data from the TEST block to a BRAM with this IPIF, but i don't understand what address i need to put in my TEST block to access to my BRAM.
Can you help me ???? Thanks