11-21-2007 06:57 AM
11-26-2007 01:37 PM
Hi Ron,
The terminals of a loop are only used once. The controller cannot constantly monitor the output terminal of a loop because no value will pass out of the terminal until the loop is finished. You will need code within the loop to pass data in-between the controller and the FPGA.
I would recommend opening example programs to see how others have approached similar applications. Also, if you are concerned about delays caused by the communication between the controller and the FPGA, you may want to use tick counters within the loop to display how fast you are looping.
11-26-2007 01:51 PM
11-26-2007 01:53 PM
Hi Ron,
The FPGA VI and the host VI are inherently asynchronous and having a free running FPGA loop will not affect the read/write speeds of indicators/controls in the loop. The LabVIEW FPGA Module creates a register map, specific to the FPGA VI, that includes a hardware register for every control and indicator. LabVIEW then uses the register map internally to communicate with the FPGA VI directly which is basically just reading the controls/indicator register. So as you mentioned reading the controls and indicators is really dictated by the Controller and not the FPGA. However, if your using DMA, then the FPGA can affect the data transfer as it would then be stuffing data into the pipe line.
Under FPGA Module Concepts there are a couple documents you would be interested called "Transferring Data Between the FPGA and Host VI" and "Synchronizing the FPGA and the Host VI" that will give a little better understanding.
Regards,
Bassett