LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA FIFO i read the old FIFO in RT

Solved!
Go to solution

Hello there,

 

Im trying to read a FIFO but i cant see the 5 Temp FIFO,

I think im missing something but i dont know what.

 

agibello_0-1726566999910.png

 

When I ran the program RT is reading the 'old' FIFO but I compile with the new variable, so i think the trick could be there.

 

Thank you in advance

0 Kudos
Message 1 of 7
(277 Views)

We have to be able to see and study your code, which means we need the code, not a picture of part of the code (LabVIEW code is three-dimensional, and a 2-D picture just isn't adequate!).

 

Please attach the FPGA code as a VI.  You should also know that you probably want long-time LabVIEW users (who are more likely to be "experts") to be able to open and read your VI, so you should "Save for Previous Version" and specify LabVIEW 2019 or 2021 to reach these users.

 

Bob Schor

0 Kudos
Message 2 of 7
(258 Views)

Thanks, Im sorry i thoutgh it was enough for my issue.

 

Attached the VI of the FPG and where im trying to read the FIFO.

 

I cant see the fifo thats why i was sending the image

Download All
0 Kudos
Message 3 of 7
(252 Views)

Hi agibello,

 

If you don't see the FPGA DMA FIFOs or Controls you expect on the RT side, depending on how you open your FPGA VI reference, it can mean that you are either:

1. Referencing an older bitfile (compiled FPGA VI, with .lvbitx extension);

2. Pointing to the wrong FPGA VI / Build Specification;

3. Or that you have not updated your dynamic FPGA reference type.

 

Go to the part of your RT code where the FPGA VI reference is opened.

I assume you will have an "Open FPGA VI Reference" node (cases 1. or 2.):

raphschru_0-1726570526174.png

By right-clicking it > Configure Open FPGA VI Reference... , make sure it references the correct bitfile, VI or Build Specification.

 

If you reference a bitfile, the RT side will only update when the bitfile is recompiled.

If you reference an FPGA VI or Build Specification, the RT side will update directly while you make changes to the FPGA VI.

 

Regards,

Raphaël.

 

EDIT: The RT VI you attached does NOT contain the opening of the FPGA VI reference. It is done somewhere else in your RT code.

0 Kudos
Message 4 of 7
(246 Views)

Hey Rapha,

 

Thank you for your answer,

You are right i have in another VI. I made what you suggested and now I see the FIFO i want. 

but look what happens when i change the reference, I dont know whats happening there

agibello_0-1726578731490.png

 

I dont really understand what's happening and then affects to the RT main. 

The software was done and im doing modifications.

Let me know if you need a more specific files o explanation.

Thank you again for your help.

 

0 Kudos
Message 5 of 7
(207 Views)

Under the assumption that your Bitfile is correct:

 

There are issues with type propagation of FPGA refnums on RT systems.

We regularly run into the situation where just re-linking the bitfile does not propagate the changes in Refnum properly.

 

If you wire to a structure or shift register, disconnect it from your source and then re-connect. That might help the new FPGA reference propagate properly.

0 Kudos
Message 6 of 7
(199 Views)
Solution
Accepted by topic author agibello

So, as I can see, you have an "Open FPGA VI Reference" node that references a bitfile, configured in dynamic mode.

You have a broken wire because the reference input/output of your SubVIs are linked to a type definition called "FPGA VI Reference Out.ctl" that mismatches the type given by the "Open FPGA VI Reference" node.

 

2 solutions:

 

1. Update your type definition manually:

 

Right-click one of the FPGA refnum controls > Open Type Def.:

raphschru_0-1726582052067.png

 

Right-click the reference control in the type def > Configure FPGA VI Reference...:

raphschru_2-1726580231412.png

 

Import configuration from either your FPGA VI or your bitfile > press OK:

raphschru_3-1726580358641.png

 

2. Alternatively, if you prefer your type definition to update automatically each time you update either your bitfile, FPGA VI or FPGA Build Specification, you can make your type definition auto-update based on the "Open FPGA VI Reference" node configuration:

 

Right-click on the "Open FPGA VI Reference" node > Configure Open FPGA VI Reference...:

raphschru_4-1726580523210.png

 

Uncheck "Dynamic mode", check "Bind FPGA host reference to type definition", choose your type definition (in your case "FPGA VI Reference Out.ctl":

raphschru_1-1726582160610.png

 

The second technique might have impact in case some of your code requires a "Dynamic" FPGA VI Reference type. This type of reference allows more abstract implementations to fit with different FPGA VIs (but I doubt it is your case though...).

 

In both cases, your type definition will be updated, unbreaking the wires to the inputs/outputs (that are linked to the type def) of your subVIs.

 

Regards,

Raphaël.

0 Kudos
Message 7 of 7
(194 Views)