07-23-2021 04:28 AM - edited 07-23-2021 04:31 AM
Hey all,
I have a problem with some code where I have an array constant, for which I selected block memory implementation:
The array could not be implemented using the resource type specified. This occurs when either Block Memory or Look-Up Tables is selected and the usage of the array does not meet the limitations of the resource. Restructure the array in order to obtain the desired implementation or change the FPGA Implementation option to Auto.
You can find the vi attached to this post.
Does anyone know what I'm doing wrong / how I can fix this?
Thanks in advance!
K.r.
Pieter
07-23-2021 05:13 AM - edited 07-23-2021 05:20 AM
Hi Pieter,
@PieterDV wrote:
I have a problem with some code where I have an array constant, for which I selected block memory implementation:
- If I use an index array function on the array, and attach an indicator / write to an FPGA register, I get the following error message:
The array could not be implemented using the resource type specified. This occurs when either Block Memory or Look-Up Tables is selected and the usage of the array does not meet the limitations of the resource. Restructure the array in order to obtain the desired implementation or change the FPGA Implementation option to Auto.
- If I don't attach an indicator / write to a register, generating the intermediate files runs fine.
You can find the vi attached to this post.
Does anyone know what I'm doing wrong / how I can fix this?
Do you really need an array of 10k elements in the FPGA? Which kind of tooth do you want to count?
What is the purpose of all this? (Maybe we can suggest other ways to solve your problem…)
Btw:
General suggestion:
When discussing problems with RT or FPGA VIs it is important to also provide the LabVIEW project file (lvproj) for these VIs as that contains all the resource definitions!
07-23-2021 06:01 AM
Hi Gerd,
First of all thanks for taking a look and answering!
Indeed, I have noticed that I did miswire the two ch_id & event fields, however this vi is purely for demonstration purposes.
Given the modulo, that is just to showcase that the elements we write in the fifo are dynamic.
In reality, we would need much more data to retain, but given the NDA I cannot discuss this in more detail I'm afraid.
I was just wondering what difference it made connecting the output of the index array function to a register / indicator i.s.o. not using it (which allows for intermediate file generation).
If you need more information (as you suggested), please let me know and I'll try to provide a better demo vi.
K.r.
Pieter