27
ni.com High-Level Synthesis with LabVIEW FPGA National Instruments

High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

  • Upload
    lythuy

  • View
    335

  • Download
    14

Embed Size (px)

Citation preview

Page 1: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

ni.com

High-Level Synthesis with LabVIEW FPGA

National Instruments

Page 2: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

2 ni.com

• Introduction

• NI RIO technology

• LabVIEW FPGA & IP Builder

• RIO Hardware Platform

• Application

Agenda

Page 3: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

3 ni.com

An Ideal Embedded Architecture

• Floating-point processing

• Communications • Multicore technology

• High-speed control & processing

• Reconfigurable hardware

• Reliability

• Low-level access to hardware

• Custom timing & triggering

• Modular I/O

I/O FPGA Processor

I/O

I/O

I/O

Page 4: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

4 ni.com

I/O

The Challenge

FPGA Processor

I/O

I/O

I/O

• Low-level tools Verilog & VHDL

• Fixed-point algorithms

• Custom drivers and middleware

• Multicore programming challenge

• Custom timing for different types of I/O

• Custom digital interface/buses

Page 5: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

5 ni.com

Build vs. Buy

Build

• Custom HW/SW solution

• Use a lot of in-house resources

• Ability to get exactly what you want

Buy

• Off-the-shelf HW/SW solution

• Use less resources because systems are pre-built

• Often get more than you need

Page 6: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

6 ni.com

Volume per year

Cost

100 1000 10000

Buy

Build

Now with new versions of sbRIO: • Gives the BUILD customer a cheaper OTS solution • Gives the BUY customer a more flexible OTS solution

Build vs. Buy

Page 7: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

7 ni.com

Enet USB RTOS

Analysis

Logging Comm

Multicore

Analog I/O Digital I/O

Comm I/O

3rd party I/O

Motion I/O

IPNet

Analysis IP

3rd party IP

Control IP

Comm IP Timing IP

Packaged Board-Level

NI RIO Technology Platform

Processor FPGA I/O

NI RIO Hardware

Page 8: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

8 ni.com

Enet USB RTOS

Analysis

Logging Comm

Control

Analog I/O Digital I/O

Comm I/O

3rd party I/O

Motion I/O

IPNet

Analysis IP

3rd party IP

Control IP

Comm IP Timing IP Bus IP

LabVIEW FPGA • Fixed-point processing • Built-in functions for analysis, control and communications • Ability to integrate VHDL

Drivers and middleware • Pre-built I/O and communication drivers • DMA, single-point communication between processor and FPGA • Ability to create custom I/O

LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and communications • Ability to integrate C code and text-based math

Processor FPGA I/O

NI RIO Software

Page 9: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

9 ni.com

NI RIO Software Benefits

• Graphical programming for multicore/real-time processors

and FPGAs

• Advanced signal processing and control algorithms

• Built-in drivers and middleware for I/O and

communication

• Open for integration of existing code/IP

Page 10: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

10 ni.com

LabVIEW

C, C++

LabVIEW

FPGA

Vivado HLS

VHDL

Programming

HLS(High-Level Synthesis)

Page 11: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

11 ni.com

Counter Analog I/O I/O with DMA

LabVIEW FPGA VHDL 66 Pages ~4000 lines

LabVIEW FPGA

Page 12: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

12 ni.com

VHDL Generation Analysis

Logic Reduction

Place and Route

Timing Verification

Generation

Download/Run

LabVIEW FPGA Code FPGA Logic Implementation

Translation Optimization Synthesis Bit Stream

LabVIEW FPGA

Page 13: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

13 ni.com

LabVIEW FPGA IP Builder

• Add-on Tool for LabVIEW FPGA

• Rapidly develop high performance algorithms for FPGAs

• Quickly explore design tradeoffs using directives

• Reuse IP to meet new design requirements

LV FPGA IP Builder VI LV FPGA VI

Manual optimization required Optimization using high-level synthesis

Page 14: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

14 ni.com

Create Algorithm VI

Specify Directives

Generate performance estimation

Generate Design

Use within top-level LV

FPGA VI

• Use dataflow programming • Limited functions palette

LabVIEW FPGA IP Builder User Flow

Page 15: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

15 ni.com

Create Algorithm VI

Specify Directives

Generate performance estimation

Generate Design

Use within top-level LV

FPGA VI

LabVIEW FPGA IP Builder User Flow

Page 16: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

16 ni.com

Create Algorithm VI

Specify Directives

Generate performance estimation

Generate Design

Use within top-level LV

FPGA VI

LabVIEW FPGA IP Builder User Flow

Page 17: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

17 ni.com

Create IP VI

LabVIEW FPGA IP Builder User Flow

Create Algorithm VI

Specify Directives

Generate performance estimation

Generate Design

Use within top-level LV

FPGA VI

Generate HDL

Choose VI and Directives

Page 18: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

18 ni.com

LabVIEW FPGA IP Builder User Flow

Create Algorithm VI

Specify Directives

Generate performance estimation

Generate Design

Use within top-level LV

FPGA VI

• Integrate into Single-Cycle Timed Loop • Add I/O, DMA FIFOs, Host Communication, etc.

Page 19: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

21 ni.com

Packaged Board-Level

NI RIO Hardware

NI RIO Hardware Benefits

• Reconfigurable, off-the-shelf hardware

• Breadth of high-quality I/O (analog, motion, vision, RF,…)

• Variety of packaged and board-level form factors

• Open platforms for integration with 3rd-party hardware

Page 20: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

22 ni.com

NI RIO Technology Curve

CompactRIO

Single-Board RIO

Multicore CompactRIO

PC RIO / R Series

PXI / FlexRIO

Processor FPGA I/O

I/O

Custom I/O

I/O

Deploy

Perfo

rmance

Page 21: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

23 ni.com

CompactRIO

Enet

USB Analysis

Logging Comm

Control

Analog I/O Digital I/O

Comm I/O

3rd party I/O

Motion I/O

IPNet

Analysis IP

3rd party IP

Control IP

Comm IP Timing IP

-40 to 70 deg C Hardware and OEM Services Rugged Certifications/Ratings Up to 8 I/O Slots

VxWorks RTOS

(Xilinx Virtex/Spartan Class) (Industrial/Embedded Class) (Real-Time, Freescale) Processor FPGA I/O

Packaging

• Most rugged platform

• Compact size, -40 to 70 ⁰C

• Industrial and Embedded I/O

• Analog, digital, motion, communication,…

• Integrated FPGA in chassis

Page 22: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

24 ni.com

CompactRIO

Page 23: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

25 ni.com

Extreme Ruggedness

• -40 to 70 °C temperature range

• 50g shock, 5g vibration

Low Power Consumption

• 9 to 35 VDC power, 7-10W

Real-Time Processor 신뢰할 수 있는 측정, 분석, 제어, 연결성을 제공 (Maximum Specification) CPU – Intel i7 1.33 GHz RAM – 2 GB DDR3 Storage – 32 GB Enet, RS232, USB

I/O Modules 센서의 쉬운 연결 신호조절 기능 내장 아날로그 I/O 디지털 I/O 모션 드라이버 통신 모듈

Reconfigurable FPGA 40MHz 고속 클럭의 사용자 정의 가능한 제어 및 I/O 구성 Xilinx Spartan-6 LX150

CompactRIO

Page 24: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

26 ni.com

작은 사이즈

10.3 x 9.7cm

보드 입출력

전원

USB

Ethernet

RS232

CAN

RIO 기본 구성

Real-Time 프로세서

프로그래밍 가능한 FPGA

FPGA 디지털 입출력

RIO Mezzanine Card (RMC)

FPGA 디지털 입출력

USB

프로세서 입출력

Single-Board RIO

Page 25: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

27 ni.com

RIO Architecture & NI LabVIEW

NI Single-Board RIO NI CompactRIO PC RIO/R Series PXI RIO/FlexRIO

Processor

Smart Grid Renewables Life Sciences Industrial Control

FPGA

I/O

I/O

I/O

I/O

Page 26: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

28 ni.com

Embedded Design Industrial Control &

Measurements Test &

Communications

•Embedded prototyping a •Medical devices •Renewable Energy •Robotics

•Machine prototyping •Industrial control •Optimized automation

•RF, wireless and custom test •Hardware-in-the loop (HIL)

NI RIO Applications and Industries

Page 27: High-Level Synthesis with LabVIEW FPGA - … Synthesis with LabVIEW FPG… · LabVIEW, LabVIEW Real-Time •Multicore programming • Built-in functions for analysis, control and

29 ni.com

NI LabVIEW RIO Evaluation Kit

• RIO Evaluation hardware

• 400 MHz Real-Time Controller

• Ethernet, CAN, USB, SDCard,

• RS232 & RS485 serial ports

• AI, AO, DIO, LCD Screen

• Step-by-Step Tutorials

• Cables and accessories

• 90-day extended evaluation

version of NI LabVIEW, Real-Time and FPGA