dsbram memory addressing

Mar 08, 2005 2 Replies

Hi,



After I builded my design in EDK and made a toplevel VHDL in ISE, I started writing code for both PPC on my V2P20 ... the first PPC serves as an Communication unit which transfers data in between memories, accessible by external device ... I have no problem whatsoever accessing these memories, either on opb or plb busses When I started the part of interconnecting the two PPC with a BRAM memory using DSOCM I encountered the following problem, which up to know I cannot solve (this is the first time I design on FPGA) ...



To access the BRAM from the first PPC serving as Comm Unit I used the code which worked for accessing memories on the PLB since I suppose the addressing of memories is always in the same way, as if we address one big memory



code : Xuint32 * bram_Ptr = XPAR_BRAM_BASE_ADDR; Xuint32 value = *bream_Ptr;



When I download the bit file on the FPGA, the system hangs, when executing these commands



can someone help me with this problem, I spend some time looking for the solution and I found some macros in xio.h, but I have no clue how to use them, and when I look into application notes, it appears nothing is ever said about how accessing BRAM, so it must be straightforward



thx in advance



could be I miss some parameters or connections in the MHS file, but I doubt it since all should almost be set by default



BEGIN dsocm_v10


Well yesterday I tried something like :

const XIo_Address sflag_PORT = XPAR_DSBRAM_IF_CNTLR_0_BASEADDR + 0; Xuint32 sflag;

sflag = XIo_In32( (XIo_Address)sflag_PORT);

putnum(sflag);

////////////////////////////////////// it still hangs :(

is there someone that encountered this problem .. because the above I almost copy pasted out of an example code thx in advance !

"Mindroad" schreef in bericht news:422dfa37$0$20677$ snipped-for-privacy@news.skynet.be...

started

doubt

So defenately no SW error, after 3 days of searching, it appears i had overlooked a dcm parameter, now i feel kind a stupid, but anyway, it is solved

for future references, make sure ocm and ppc clock is an integer multiple of 4 and it works,

don't confuse the following like I did .. I didn't noticed it until now PARAMETER C_CLKFX_DIVIDE PARAMETER C_CLKDV_DIVIDE

2 letters diff is something you can miss easely , but can mean 3 days of being an ass to the whole world, ah well

"Mindroad" schreef in bericht news:422f0b10$0$10333$ snipped-for-privacy@news.skynet.be...

almost

by

memories,

memory

cannot

code

big

executing

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required