Graphical Programming of All programmable SoC s Corné Westeneng Field Sales Engineer
We all have a challenge to solve 2
The LabVIEW RIO Architecture Analog Input Processor FPGA Analog Output Digital I/O Custom I/O CompactRIO & Single-Board RIO Value PXI,PC RIO(RSeries,FlexRIO) Value Ultra Rugged Performance High Performance 3
LabVIEW System Development Environment Benefits High-Level Software Complete System IDE Windows + Desktop PC Application Real-Time OS + Processor Application FPGA Configuration/Application System Design Tool 4
LabVIEW System Development Environment Benefits High-Level Software Complete System IDE Math and Analysis 5
LabVIEW System Development Environment Benefits High-Level Software Complete System IDE Math and Analysis Reuse of Existing Code Graphical.m File Scripts Graphical.m File Scripts 6
Middleware and I/O Drivers Included LabVIEW FPGA vs. VHDL
LabVIEW System Development Environment Benefits High-Level Software Complete System IDE Math and Analysis Reuse of Existing Code Graphical Syntax VHDL 8
LabVIEW System Development Environment Benefits High-Level Software Complete System IDE Math and Analysis Reuse of Existing Code Graphical Debugging User Interface 9
The Redesigned CompactRIO System NI LabVIEW System Design Program with LabVIEW Real-Time and LabVIEW FPGA modules Quickly port existing LabVIEW applications High Performance and Throughput Dual-Core ARM 667 MHz processor Xilinx 7 Series FPGA fabric with 85k logic cells 16 DMA FIFO channels for data streaming Ultra Rugged -40 to 70 C operating temperature range 50 g shock and 5 g vibration tolerance 10 Community and Code Reuse NI Linux Real-Time Operating System Integrate existing applications and libraries Develop, debug, and deploy C/C++ code
C/C++ Community Applications and Libraries NI Linux Linux Real-Time Operating Operating System System 11
Processor I/O Analog Inp Zynq All Programmable SoC Processor 7 Series FPGA Cortex-A9 Dual Core Processor Cortex-A9 Core Core AXI Programmable FPGA Logic Analog Ou Digital I/O Custom I
Implementing High Priority Tasks Choose a loop structure based on the priority of your task Timed Loops execute at a higher priority than While Loops o Above High but below Time Critical priority of any VI Using multiple Timed Loops can add complexity and overhead High Priority Deterministic Tasks Normal Priority Timed Loop While Loop 13
Optimizations for Multicore Programming Set Processor Affinity Time critical code on one core Normal priority on another core Best Practices reminder: Avoid 100% CPU use with realtime priority for extended periods of time Lower priority OS threads need access every so often for housekeeping Can affect system performance if housekeeping is starved 14
LabVIEW Support for NI Linux Real-Time LabVIEW 2013 Real-Time module supports developing, debugging and deploying to NI Linux Real-Time Unlock the vast Linux ecosystem Reuse C/C++ code in and alongside LabVIEW Real-Time built applications Freedom in connectivity 15
Linux Community Database Security Code Reuse Connectivity Raima OpenVPN C/C++ Isshd MySQL IP Tables Shell Scripting IPv6 SQLite System Logging Python SNMP MongoDB fail2ban Ruby NTP CouchDB denyhost Perl netstat 16
Secure Shell (SSH) Enable through MAX and/or Web Interface Can be used as a console Can be used to transfer files Permissions based on login SFTP Credentials synchronized with NI-Auth (Web Interface) 17
Flexible Software Integration Real-Time Processor FPGA Modular I/O Code Reuse Integrate existing applications and libraries Develop, debug and deploy C/C++ code Use Eclipse or IDE of choice Leverage the Linux ecosystem Interoperate with LabVIEW-programmed FPGA Programmable Hardware Offload critical, decision-making code to the FPGA Reliable, precision timing for control or processing Achieve high-speed, high-accuracy I/O Use graphical programming to leverage FPGA technology without HDL expertise 18
Eclipse for the CompactRIO-9068 Choice of C and/or LabVIEW for programming processor LabVIEW FPGA still required FPGA Interface C API provides access to the FPGA from C Installer provided that includes Eclipse and Compiler Available on /downloads Processing Subsystem FPGA Fabric ARM A9 ARM A9 LabVIEW FPGA FPGA Interface Host C Interface API 19
We all have a challenge to solve 20