LabVIEW 2009 Real-Time & FPGA 最新技術剖析LabVIEW 2009 Real-Time & FPGA 最新技術剖析...
-
Upload
trinhkhuong -
Category
Documents
-
view
270 -
download
4
Transcript of LabVIEW 2009 Real-Time & FPGA 最新技術剖析LabVIEW 2009 Real-Time & FPGA 最新技術剖析...
LabVIEW 2009 Real-Time & FPGA最新技術剖析
National Instruments 美商國家儀器
行銷部技術經理吳維翰
最新技術剖析
Agenda
• LabVIEW RT 2009
– NI Real-Time Hypervisor
– MathScript RT
– RT System Backup and Restore– RT System Backup and Restore
– cRIO Streaming API
• LabVIEW FPGA 2009
– Enhanced compiler
– C interface to FPGA
NI Real-Time Hypervisor
What is Virtualization?
• The term: refers to abstraction of operating systems fromhardware resources
• In practice: running multiple operating systemssimultaneously on a single computer
NI Real-Time Hypervisor Architecture
Real-Time Hypervisor
Windows XP LabVIEW Real-Time Real-Time HypervisorHardware Support
PXI Dual- andQuad-CoreControllers
Multicore Computer
Real-Time Hypervisor
I/O RAM CPUs
New NI IndustrialController
Benefits of the Real-Time Hypervisor
• Capability: make use of real-timeprocessing and Windows XP services
Applications DeterminismApplications
Graphics
Services
Determinism
Real-Time I/O
Timing
Benefits of the Real-Time Hypervisor
• Consolidation: reduce hardware costs,wiring, and physical footprint
Virtualized System with NI Real-Time Hypervisor
Benefits of the Real-Time Hypervisor
• Efficiency: take advantage of multicoreprocessors effectively
Quad-Core Controller with VirtualizationQuad-Core Controller with Virtualization
Windows XP LabVIEW Real-Time
Configuring a Real-Time Hypervisor SystemConfiguring a Real-Time Hypervisor System
Using NI Real-Time HypervisorSystems
• Configuration: NI Real-Time HypervisorManager
• Communication: virtual Ethernet and• Communication: virtual Ethernet andvirtual console
• Development and Deployment: similarto traditional real-time systems
Assigning I/O and RAM Between OSs
Booting Into the Hypervisor
Accessing the Real-Time Target in MAX
Communicating Between OSs
Virtual Console (COM 4)Virtual Ethernet
LabVIEW Development and Deployment
• Same as traditional NI real-time systems
Demo: Running a LabVIEW Real-TimeMotor Control ApplicationMotor Control Application
Performance and Benchmarks
Interrupt Latency and PerformanceImpact
NI Real-TimeHypervisor
Windows XPLabVIEWReal-Time
I/O Device or
Request
I/O Device orCommunication
Request
NI Real-TimeHypervisor
Interrupt
I/O Channels(w/ PID)
Maximum Loop Rate w/Hypervisor (kHz)
Maximum LoopRate without
Hypervisor (kHz)
1 11.5 25.4
Benchmarks for DAQ Application
4 9.3 22.6
16 7.0 12.4
Most LabVIEW Real-Time applications running between 1-5 kHz will beable to run at full rate on a Real-Time Hypervisor system
Communication Benchmarks
40000
50000
60000
70000
Thro
ghp
ut
(kb
/s)
Ethernet Throughput on Hypervisor and Non-Hypervisor Systems
0
10000
20000
30000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
Thro
ghp
ut
(kb
/s)
Packet Size (Bytes)
Physical Ethernet (w/ hypervisor) Virtual Ethernet (w/ hypervisor) Physical Ethernet (no hypervisor)
Mathscript RT
LabVIEW MathScript
Text-based signal processing, analysis,and math within LabVIEW– 800 built-in functions
– Create user-defined functions
– Reuse many of your existing .m files
A native LabVIEW solution– Interactive and programmatic interfaces
– Enables hybrid programming
– Does not require 3rd-party software
• 2D and 3D Plotting /Visualization
• Probability and Statistics
• Digital Signal Processing(DSP)
• Optimization
• Approximation (Curve Fitting/ Interpolation)
• Advanced Functions
• Ordinary Differential
• Equations
• Basic Operations
• Polynomial Operations
• Trigonometric
• Linear Algebra
• Matrix Operations
• Boolean and BitOperations
• Data Acquisition /Generation
• Vector Operations
• Other
MATLAB® is a registered trademark of The MathWorks, Inc. All othertrademarks are the property of their respective owners.
MathScript
MathScript Node• Combine textual math with graphical development
• Implement equations and algorithms with text
• Define input and output variables on the border
• Debug .m files with single step, breakpoints, and syntax highlighting
MathScriptNode
NEW! LabVIEW MathScript RT Module
Deploy .m Files directly to NI Real-Time Platforms
Why is This Functionality Important?
.m files
Real-Time Compiler, Linker, Debugger +
TestbenchDebug
Compilerfor Real-
Time Target
DebugApplication on
Real-Time
Math ToolDesignEntry
Toolkit for Code
Convert toC Code
FunctionalAlgorithm
Typical Real-Time System Implementation
Real-Time Compiler, Linker, Debugger +Real-Time Processor and Other
Hardware
Toolkit for CodeGeneration
FunctionalTesting
AlgorithmDevelopment
Mathematics Design Tool Embedded System Tool
Algorithm Deployment
Streamlining Development Process with LabVIEW
TestbenchDebug
DirectCompilation for
Real-TimeTarget
LabVIEWReal-TimeDebugging
LabVIEWDesignEntry
LabVIEW DeploymentFunctionalTesting
AlgorithmDevelopment
Algorithm Deployment
LabVIEWEmbeddedTechnology
DeploymentValidation
LabVIEW
•Windows XP/Vista•LabVIEW 2009•LabVIEW Real-Time Module
DEMO
Deploying the User’s .m Fileson Embedded Hardware
•LabVIEW Real-Time Module•LabVIEW MathScript RT Module
NI PXI-4472±10 V input range8 SSAI up to 102.4 kS/s
Is LabVIEW MathScript Deterministic?
• Yes and No
– Developers can write deterministic MathScript code
– Need to test the application for jitter
• Some of the built-on constructs and operators• Some of the built-on constructs and operatorsintroduce jitter into the application
– Receive performance and memory comparable to G
– Jitter causes the performance to be non-deterministic
MathScript RT Module RoadmapR
eal
-Tim
e •Deterministic core language*•Deterministic functions*•Guidelines for determinism•Determinism warnings•Breakpoints and probes
•Support in RT Execution Trace Toolkit•Additional RT deployable functions(ODE, … )
Pe
rfo
rman
ce
•Improved compiler load time •Window performance equivalent toNode•Remove error handling in generatedcode
•DFIR-based compilation (includingdebugging)•Execute multiple nodes in parallel•Compiler refinements (alwaysstatically compile when possible)
Oth
er •Editing improvements in Window
and Node•Bug fixes
Q1 2010 NI Week 2010 NI Week 2011 Beyond…
Co
mp
atib
ility •N-d arrays, cell arrays•Structs
MathScript RT Module RoadmapR
eal
-Tim
e •Deterministic core language*•Deterministic functions*•Guidelines for determinism•Determinism warnings•Breakpoints and probes
•Support in RT Execution Trace Toolkit•Additional RT deployable functions(ODE, … )
Pe
rfo
rman
ce
•Improved compiler load time •Window performance equivalent toNode•Remove error handling in generatedcode
•DFIR-based compilation (includingdebugging)•Execute multiple nodes in parallel•Compiler refinements (alwaysstatically compile when possible)
•Deterministic core language*•Deterministic functions*•Guidelines for determinism
Oth
er •Editing improvements in Window
and Node•Bug fixes
Q1 2010 NI Week 2010 NI Week 2011 Beyond…
Co
mp
atib
ility •N-d arrays, cell arrays•Structs
•Guidelines for determinism•Determinism warnings•Breakpoints and probes•Improved compiler load time
RT System Backup and Restore
Backing Up and Restoring Real-Time Targets
Programmaticallyover the network
RT Desktop PCUtility USB drive
OR
Programmatic RT System Replication
- Back up an image
- Restore an image
RT System Replication via USB
Tools » Real-Time Disk Utilities »Create Desktop Utility USB Drive
Backup, Restore, orReplicate the Real-TimeSystem
Real-Time ApplicationReference DesignsReference Designs
Jump-start your application
Jump-start your application• Reference Applications for cRIO Waveform Acquisition
– http://zone.ni.com/devzone/cda/epd/p/id/6206
• cRIO Reference Designs for Structural Health Monitoring– http://zone.ni.com/devzone/cda/tut/p/id/9851
• Reference Design for Adding Licensing to LabVIEW Real-TimeApplicationsApplications– http://zone.ni.com/devzone/cda/epd/p/id/5912
• Reference Applications for cRIO Order Analysis Using a HighSpeed Tach– http://zone.ni.com/devzone/cda/epd/p/id/6301
• In-vehicle Datalogger Reference Application for CompactRIO– http://zone.ni.com/devzone/cda/epd/p/id/5751
What’s New in theLabVIEW 2009 FPGA ModuleLabVIEW 2009 FPGA Module
New Feature Summary
• New compilation experience – Early size estimates, new GUI, and
more
• Timing violation debugging – Critical-path highlighting
• New and improved IP – High-throughput math and signal processing
• Host integration improvements – C Interface and host scaling for IP• Host integration improvements – C Interface and host scaling for IP
• More – CLIP clocks, new feedback nodes, statechart debugging
• New hardware – EtherCAT FPGA, new NI ELVIS platform board, NI FlexRIO
adapters
GeneratingIntermediate
Files: Pass/Fail
GeneratingIntermediate
Files: Pass/Fail
GeneratingIntermediate
Files: Pass/Fail
GeneratingIntermediate
Files: Pass/Fail
Compilation Process: LabVIEW FPGA 8.6
GeneratingIntermediate
Files: Pass/Fail
What State:Idle, In Queue,
Compiling,Transferring
Xilinx LogOutput
Done:Pass/Fail
Progress bar andstatus output
Select reports
Nonmodalcompile window
Compile server
New Compilation Window
Output window
Clickable alerts
Early resourceestimates
Progressbar-only view
Compile
From Run Arrow to Bit File
Compile
Compilation Improvement Summary
• Early size and speed estimate – HDL synthesis results reporting
• Critical-path highlighting – Debugging when design does not meet
timing
• Precompile options – Define effort levels for size and speed• Precompile options – Define effort levels for size and speed
• Clickable alerts – When new reports are available
• Better compiler state output – Progress bar and state
• Continue working without disconnect – Window is nonmodal
• Reduced memory – Somewhat faster compile and larger FPGA support
Timing Violation Debugging
New and Improved IP• New
– High-throughput math – Arithmetic, sin/cos, atan, natural log, exponential
– FIFO/memory profiling – FIFO/memory name controls, counts left
• Improved– FFT, window, resample – Support 100 MHz clock ratesFFT, window, resample –
– Fixed-point cast – Arithmetic, sin/cos, atan, natural log, exponential
– LabVIEW Digital Filter Design Toolkit – FXP data type andIP Generator
– Feedback node – Multiple pipelines in one node
New Host Capabilities
• C Interface to LabVIEW FPGA– NiFpga_Status NiFpga_Open (const char * bitfile, const char * signature, const
char * resource, uint32_t attribute, NiFpga_Session * session)
– NiFpga_Status NiFpga_ReadI8 (NiFpga_Session session, uint32_t indicator, int8_t* value)
• Host Scaling for FPGA IP• Host Scaling for FPGA IP
– Example: FFT to spectrum
– Example: Signal generation parameters
• Use FPGA custom data with the CompactRIO Scan Mode –Learn more on what’s new in LabVIEW Real-Time
• Clocks from CLIP – Create a clock and export it from a CLIP
• CLIP supports 64-bit numbers – New XML tag to allow 64-bit numbers
• Statechart debugging interface – Debug FPGA statecharts in simulation
Other New Features
• Statechart debugging interface – Debug FPGA statecharts in simulation
• Object-oriented programming – Supports classes
• New IP on IPNet (ni.com/ipnet) – RF, digital filtering, digital protocols
PackagedEmbedded
Deterministic distributed I/Owith a programmable FPGA
Extended temperature
New FPGA Hardware
Single-BoardEmbedded
PCI/PXIPlug-In
Extended temperatureNI Single-Board RIO, -40 to 85ºC
New PCI Express NI R SeriesMultifunction RIO Boards
Thank You!!