Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Avoiding Arbitration to Optimize FPGA VIs (FPGA Module)

LabVIEW FPGA Module 8.2 Help
August 2006

NI Part Number:
371599B-01

»View Product Info

LabVIEW uses arbitration to manage access to shared resources. When you select an arbitration option, select Never Arbitrate, if possible, to save space on the FPGA and increase speed.

If you select the Never Arbitrate option for a resource interface, LabVIEW does not add arbitration components, which saves significant space on the FPGA. In addition to saving space, the Never Arbitrate option allows some of the FPGA I/O and FIFO Operations functions to execute in a single clock cycle. To use the Never Arbitrate option, you must guarantee sequential access to the resource interface in the data flow of the FPGA VI, as shown in the following figure.

In the figure above, the Flat Sequence structure ensures that the two FIFO Write functions do not execute simultaneously, so resource contention does not occur. In such situations, Never Arbitrate is an appropriate option. However, if you select the Never Arbitrate option and make simultaneous requests, the FPGA VI corrupts data.

If you include FIFOs or memory in a single-cycle Timed Loop, you can use the Never Arbitrate option only if one object requests access to the resource interface. Use a Case structure to design the FPGA VI so that the VI includes only one object that requests access to a resource interface. If multiple objects request access, the Code Generation Errors window returns an error.


Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit