02-21-2011 08:18 AM
I'm actually running an application with a PPC440 on a virtex5.
On a first time, i sent data from a static buffer (in c code) from the PPC on a network line using LWIP and it's working pretty well.
Now instead of using a static coded buffer, i want to get data from my VHDL code (module coded in ISE). In order to do that i built a custom IP with FIFO.
The PPC is running at 400Mhz, and my VHDL code in ISE is running at 100Mhz.
My problem is i feed the fifo by 32bits data every 10ns BUT when i use the "CUSTOM_IP_TCP_FIFO_mReadFromFIFO(XPAR_CUSTOM_IP_TCP_FIFO_0_BASEADDR, 0)" method to read the fifo from the PPC it seems to get a lot of time so the fifo become full after few moment.
I don't know if this fifo stuff is the best way to pass data from sub module to PPC or if someone knows a best way ?
Or maybe i'm doing something wrong with my custom IP (on a PLB bus)?
Thank you for your help cause i'm really lost and my dead line project is comming soon
02-21-2011 12:41 PM
While it will take a bit of time to set up; but you can actually run a subset of your code and the design in ModelSim and determine exactly what is happening.
Your read from FIFO macro may actually have quite a few instructions behind it, causing you to see the speed problems.
It will always be quicker to use DMA to transfer between your IP and memory..
02-21-2011 03:21 PM
Thanks for your answer.
Is it possible to simulate the PPC with modelsim ? and so to simulate with C code instructions ?
Can you tell me more about the DMA. I red some things about it but i don't understand how to use and setup it. If you know a tutorial about that it could be perfect.
02-22-2011 02:16 AM
02-22-2011 03:21 AM
oh it's cool if can simulate PPC with modelsim cause actually it takes me 40min of compilation every changes so it s really unconfortable for debugging.
Can you just tell me the main step in order to simulate please (I'm quite familiar with modelsim so...). Are you launching it from XPS, ISE or start a modelsim scrach app first of all ?
About DMA, i found a lot of stuff but unfortunatly it's a bit difficult for me to understand (not enough skill maybe).
Do you think it's possible to achieve data from VHDL module to PPC using fifo (if i try harder) or it's impossible to reach 100Mhz speed using this kind of stuff ? or maybe you have a easier idea other than DMA that can do the job ?
02-23-2011 07:39 AM
answer me please
I red more about DMA, btu it seems that this feature is good to write from IP to memory but after in my case i have to read back the memory to put it on the LAN communication so it will go back to the same problem no ?
Custom IP -> PPC (a buffer variable) : take long time
Custom IP -> Memory -> PPC (a buffer variable): take short time
02-25-2011 03:35 AM