Premium Content

New Signal Chain Resources from Texas Instruments:

Parallel Programming Language Brings Software Closer To Hardware

Date Posted: February 28, 2008 12:00 AM
Author: Jeff Meisel

One loop handles the data acquisition and timing of the acquisition, and it passes data off to processing. The second loop receives data from the first loop, processes it, and passes it off to the third loop, which handles the transfer of processed data to the host application.

The LabVIEW diagram is mapped to the FPGA gates and slices so parallel loops in the block diagram are implemented on different sections of the FPGA fabric. This allows all processes to run simultaneously (in parallel). The timing of each process is independent of the rest of the diagram, which eliminates jitter. Also, you can add additional loops without affecting the performance of previously implemented processes. You can add operations that enable interaction between loops for synchronization or exchanging data as well.

Conclusion
Hardware architectures continue to become more parallel, and this shift is affecting the software design approach. Traditionally, sequential languages have been the norm, though different languages with different programming constructs (i.e., C versus VHDL) have been required to take advantage of multicore processors and FPGAs, respectively.

In contrast, parallel programming with LabVIEW provides a unified graphical system design approach to program both multicore processors and FPGAs. As a parallel programming language and development tool, LabVIEW meets key requirements that embedded developers require to utilize parallel hardware: intuitive representation of parallel code with graphical programming, built-in synchronization and communication mechanisms, and integrated debugging capabilities.

While there is no silver bullet for programming complex embedded systems that rely on parallel silicon, developers now can look to programming languages and tools that help bring software closer to the hardware. For more on multicore programming with LabVIEW, check out this webcast at http://zone.ni.com/wv/app/doc/p/id/wv-359?metc=mtkwks.

References

multicore
Part Inventory
Go
powered by:
 

 
You must log on before posting a comment.

Are you a new visitor? Register Here
    There are no comments to display. Be the first one!