05-16-2008 04:02 PM
05-19-2008 05:58 PM
Hi acrocker,
The error you are seeing can be broad in its possible causes. To understand
what is giving us problems, I'd like a bit more information. What model of
hardware are you using (what controller, chassis and modules?) At what point
does this error occur? Do you receive this message right after starting the
compile, or does it happen after an extended period of time? If it does take
time, how long? Before you added the DMA FIFO's (while the code still compiled
and worked,) how long did your compile usually take, and what amount of the
FPGA was used when the compile was complete? What is the depth of the FIFO's on
your FPGA (how many elements do their buffers contain?) While the program
compiles, check the system monitor to see what amount of RAM is being used,
especially during the time just before the error occurs.
If you could try to find the answers to these questions and post back, it would
help diagnose where this error is originating from. Also, any screen shots of
your code or error messages may prove to be helpful.
Sincerely,
Asa Kirby
Applications Engineer
National Instruments
05-21-2008 12:56 PM
05-22-2008 05:34 PM
Hello again acrocker,
Looking at your screenshots, your implementation for FIFOs seems to be correct.
I can’t say for sure without seeing what the rest of the code looks like
though. There are still too many possibilities to say for sure where your
problem is coming from. Could you post a copy of the compile reports for both a
successful compile (without the FIFOs) and an unsuccessful compile (with the
FIFOs.) There is still a good possibility that your code is just very complex,
and in order to compile it completely, you’re going to need more physical
space. Judging by your first post, the program has already used all of your
available 2GB of ram. I'm not sure why increasing virtual memory didn’t help,
but it’s possible the compiler was unable to use the added space due to the
size of single files.
There is also a possibility that you have run out of ram on your FPGA. Judging
by your last post, the compiler was attempting to make a ram block, possibly
for the FIFO. If the FIFO buffer size is larger than the available RAM, you
will receive an error. What model of backplane do you have paired with this
controller? Is it a 1 million gate or 3 million gate units? Also, the size of
the buffers you posted in your last reply seems to only be the amount of items
you are putting into the buffer, not the actual size of the allocated buffer to
be created. When you first created the FIFO through the project explorer, in
the "FPGA FIFO Properties", there is a section under the type of FIFO
choice called "Data Properties". In this section, you can find a
control called "Depth". That’s the pre-allocated FIFO size in memory
on the FPGA. What size is chosen for your two FIFOs?
If you could provide this extra information, I'll see what I can find out.
Thanks!
Asa Kirby
Applications Engineer
National Instruments