LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

"TclStackFree: incorrect freePtr. Call out of sequence?" -- Vivado 2014.4 Windows 10 error near PumaK7Top Synth 8-3917

Solved!
Go to solution

I am using the NI LabVIEW 2015 SP1 FPGA Xilinx Compilation Tools for Vivado 2014.4 on Windows 10. Attached is the LabVIEW project that contains the files I want to compile. The code consists of two timed loops, one for gathering data from a detector and one for processing that data. The data processing loop is... complicated. I run 11 filters over the data in parallel. To make this easier for me, I put them in a for loop. Each filter has a 23-state state machine that processes the outputs of 4 box filters. I also am using one enormous array that contains all of the past 500+ data points rather than using 44 FIFOs. This is, again, to make my life easier.

In the LabVIEW code, the data processing loop is a timed loop that contains a large array and a for loop (the for loop is a LabVIEW shenanigan that allows me to run the 11 filters in parallel). The for loop contains a 23-case case structure. To get this code to compile successfully, I got rid of my state machine and left behind only a 1-case case structure. This is no use to me, but it's the closest thing to my code that successfully compiles. When I turned this into a 2-state case structure, it failed, even when I did nothing in the second case and left all outputs to their default values. I would attach the VHDL files the Compilation Tools produce from this code, but LabVIEW encrypts them, so I don't think they'll help much.

When the compiler fails, it almost always grabs 12GB of memory (I have 64GB available, so that isn't the problem), sits on it for a while, and then starts writing to disk rapidly while decreasing the memory load before giving me the error message. Not sure if that helps at all, but it's something that happens for every failure that doesn't happen when I succeed.

I've looked up this error and there are two common refrains: use the Runtime-Optimized options rather than the default options, and make sure your computer only uses Latin characters in your computer name. I already only use Latin characters in my computer name, and I have also tried to use the Runtime-Optimzed options.

 

I believe this is a LabVIEW error, not a Xilinx error, because it occurs in the proximity of PumaK7Top, which is a proprietary LabVIEW vhd file.

0 Kudos
Message 1 of 7
(9,613 Views)

Hi Forrest,

 

Does the number of case structures that you use affect the size or dimensions of the array that you are using?

 

For the 500 element array what are are the dimensions?

 

Also, I'm going to continue to look into this since you were able to get it to run with only one case structure but just so you know the Xilinx compile tools are not officially supported on Windows 10.

 

http://www.ni.com/white-paper/52818/en/

Matt G.
Product Manager
National Instruments
0 Kudos
Message 2 of 7
(9,575 Views)

It's a length 5200 array of a cluster of two 16-bit integers. I didn't know the Vivado Tools weren't supported on Windows 10; that's probably my problem.

0 Kudos
Message 3 of 7
(9,571 Views)

Yeah, do you have a Windows 7 machine with similar resources that you could try compiling on to see if the same error occurs?

Matt G.
Product Manager
National Instruments
0 Kudos
Message 4 of 7
(9,554 Views)

There is a Windows 7 machine that I can borrow for a couple hours at some point. I'll try it the next time it is available to me.

 

In other news, I have gotten it to compile by severely lowering its capabilities in other ways (I decreased the array size, gave it a slower clock, etc.), but the usage of Slice LUTs is about 200%. I'll probably be modifying the code in some significant manner to deal with this, and that itself may get rid of my error.

0 Kudos
Message 5 of 7
(9,546 Views)
Solution
Accepted by topic author ForrestBarnes

Yeah, now it seems like it could be a memory issue. See the document attached below for guidelines on optimizing FPGA code:

 

Optimizing FPGA VIs for Speed and Size (FPGA Module)

https://zone.ni.com/reference/en-XX/help/371599G-01/lvfpgaconcepts/optimizing_fpga_vis/

Matt G.
Product Manager
National Instruments
0 Kudos
Message 6 of 7
(9,497 Views)

I tried it on Windows 7 and it still failed in the same manner, so I'm inclined to agree. Thank you for the reference, it helped me make a few optimizations.

0 Kudos
Message 7 of 7
(9,491 Views)