ee249 lab graphical system design - ptolemy project · evolution of labview code generation vhdl...

84
1 ni.com High-Level Development Tools Data Flow C Code Textual Math Modeling Statechart Graphical System Design Platform Macintosh Linux ® Windows Real-Time FPGA Micro Desktop Platform Embedded Platform EE249 Lab Graphical System Design October 4, 2012 Hugo A. Andrade, Kaushik Ravindran, Jeff C. Jensen

Upload: others

Post on 28-Sep-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

1 ni.com

High-Level Development Tools

Data Flow C Code Textual Math Modeling Statechart

Graphical System Design Platform

Macintosh Linux® Windows Real-Time FPGA Micro

Desktop Platform Embedded Platform

EE249 Lab

Graphical System Design

October 4, 2012

Hugo A. Andrade, Kaushik Ravindran, Jeff C. Jensen

Page 2: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

2 ni.com

• 6,400+ employees

• More than 1,000 products

• More than 50 international

branches in over 45 countries

• Corporate headquarters in

Austin, TX

Dr. James Truchard

National Instruments

Page 3: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

3 ni.com

National Instruments Offering graphical system design solutions to the Test and Measurement and Industrial Embedded

Revenue: $1.04B revenue in 2011, $292M revenue in Q2 2012

Global Operations: Approximately 6,400 employees; operations in more than 45 countries

Broad customer base: More than 35,000 companies served annually

Diversity: No industry >15% of revenue

Culture: FORTUNE’s 100 Best Companies to Work For list for 13 consecutive years and top 25 companies to work for worldwide by FORTUNE Magazine and the Great Places to Work Institute

Strong Cash Position: Cash and short-term investments of $351M at June 30, 2012

Long-term track record

of growth and

profitability

Page 4: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

4 ni.com

Low-Cost Modular Measurement

and Control Hardware

Productive Software

Development Tools

Highly Integrated

Systems Platforms

National Instruments equips engineers and scientists with

tools that accelerate productivity, innovation, and discovery

What We Do

Page 5: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

5 ni.com

Diversity of Customers

Top 100 customers ≈ 35% of revenue

More than 30,000 customers in more than 90 countries

95% of Fortune 500 manufacturing companies have adopted Virtual Instrumentation

Page 6: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

6 ni.com

Diversity of Applications

No Industry >15% of Revenue in 2011

Semiconductors Energy

Big Physics

Life Sciences

Consumer Electronics

Mobile Devices

Automotive Advanced Research

Defense/Aerospace

Academic

Page 7: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

ni.com

Technology Overview

Page 8: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

8 ni.com

Advance health informatics

Engineer better medicines Enhance virtual reality

Engineer the tools of

scientific discovery

Provide access to clean water

Advance personalized

learning

Reverse-engineer the

brain

Develop carbon sequestration

methods Make solar energy

economical

Provide energy from fusion

Restore and improve

urban infrastructure

Prevent nuclear terror

Secure cyberspace Manage the nitrogen cycle

NAE: Engineering Grand Challenges

http://www.engineeringchallenges.org/

Page 9: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

9 ni.com

Build Better Systems Faster

Better Integration

Lower Costs

Higher Performance

We equip engineers and scientist with the

tools that accelerate productivity, innovation

and discovery

Page 10: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

10 ni.com

The Traditional Approach to Automated Test

Oscilloscope

Logic Analyzer

Spectrum Analyzer DMM

Communications

Analyzer

LCR Meter

Function

Generator

Power Supply

Pattern Generator

Programmable

Switch

Source: Agilent, Keithley, and Nicolet

Page 11: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

11 ni.com

The Customer Decision: Build or Buy in Embedded

Build •Custom HW/SW solution

•Long lead times for new product

•Significant resource requirements

Buy •Off-the-shelf hardware with LabVIEW

•Use less resources because systems are pre-

built

•Faster time to market

Page 12: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

12 ni.com

The Virtual Instrumentation Approach

The Software Is the Instrument

Page 13: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

13 ni.com

Empowering Users Through SoftwareProviding unique

differentiation and preserving customer investments

LEGO® MINDSTORMS®

NXT

“the smartest, coolest toy

of the year”

CERN Large Hadron Collider

“the most powerful instrument on

earth”

Page 14: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

16 ni.com

Graphical System Design A Platform-Based Approach

PXI and Modular

Instruments

Desktops and

PC-Based DAQ RIO and Custom

Designs

Test Monitor Embedded Control Cyber Physical

Open Connectivity

with 3rd Party I/O

Page 15: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

17 ni.com

LabVIEW

Real-Time

LabVIEW

Desktop

LabVIEW

FPGA

LabVIEW

MPU/MCU

System Design to Deployment

Personal Computers PXI Systems CompactRIO Single-Board RIO

Dataflow C / HDL Code Textual Math Simulation Statechart

Custom Design

Page 16: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

18 ni.com

LabVIEW FPGA VHDL

Abstraction to the Pin

Page 17: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

19 ni.com

Integration of Modular I/O

and Commercial Technology

Box Instruments PXI Modular Instruments

Page 18: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

20 ni.com

Faster System Development

Integrated System Platform Integrating Components

Application

Software

Driver API

Device Drivers

Board Support

Package (BSP)

Page 19: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

21 ni.com

Integrating Software and Hardware Elements

Productive software and reconfigurable hardware for any

system that needs measurement and control

Page 20: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

22 ni.com

Software

COMMUNITY

140,000+ online members

250+ registered user groups

1000+ job postings online

400K+ children through LEGO

Hardware

CONNECTIVITY

9000+ instrument drivers

8000+ example programs

1000+ motion drives

1000+ smart sensors

1000+ Third-party PAC devices

COLLABORATION

280+ third-party add-ons

400+ Solution partners

1000+ value added resellers

35+ training courses

PROCESSOR

Intel, Microsoft, Freescale, Wind River

Multi-core and real-time technology

BUS

PCI/PCIe, Enet, USB, wireless,

deterministic Enet, Open architecture

FPGA

Xilinx Virtex & Spartan

Reconfigurable hardware

IP

Control & signal processing IP & I/O

drivers

Built-in graphical IP, integrate user IP

I/O

Analog Devices, Texas Instruments

Connect to any sensor & actuator

A WORLD-CLASS TECHNOLOGY ECOSYSTEM

Productive software and reconfigurable hardware for any

system that needs measurement and control

Page 21: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

23 ni.com

Measurement

and Control I/O Math and Analysis

Timing

User Interface

Commercial Technology Mixed Model of

Computation

Page 22: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

24 ni.com

Integrated Distributed Heterogeneous Platform

High-Speed Digitizers

High-Resolution Digitizers and DMMs

Multifunction Data Acquisition

Dynamic Signal Acquisition

Digital I/O

Instrument Control

Counter/ Timers

Machine Vision

Motion Control

Distributed I/O and Embedded Control

Laptop PC Smartphone/Tablet Desktop PC PXI Modular Instrumentation

Keypad

LCD

Sound

Acoustics

RF Signal

Battery

Body & Chassis Audio Engine

Durability

Tire & Brake Safety Emissions Electronics

Temperature

Monitoring Waste Monitoring

Process Control

Motor and Valve Control

Page 23: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

25 ni.com

Custom I/O

I/O

I/O

I/O

Processor FPGA

Microprocessors

• Floating-point processing

• Communications

• Multicore technology

• Reprogrammable

FPGAs

• High-speed control

• High-speed processing

• Reconfigurable

• True Parallelism

• High Reliability

I/O

• Custom timing & triggering

• Modular I/O

• Calibration

• Custom modules

High-Speed Data Streaming

• Synchronize memory access

• Fast data links for maximum performance

A/D Technology

• Multirate sampling

• Individual channel triggering

Page 24: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

26 ni.com

Advanced Data Acquisition ISIS Proton Synchrotron

Page 25: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

27 ni.com

Analog Devices Semiconductor Test

Page 26: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

28 ni.com

Pipeline Test and Validation Inertial Pipeline

Inspection Gauge

Page 27: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

29 ni.com

Virginia Tech – 1st Place 2011 EcoCAR Challenge

Page 28: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

30 ni.com

6k x 3k (6k x 3k (sparsesparse) )

interaction interaction

matrixmatrix (IM)(IM)

LabVIEWLabVIEW

1000 elements: 6 sensors 1000 elements: 6 sensors

(ES) and 3 actuators (ES) and 3 actuators

(PACT) per segment(PACT) per segment

StructuredStructured

Dataflow (G)Dataflow (G)

SimulationSimulation

RealReal--Time, FPGATime, FPGA PXI, RIOPXI, RIO

European Extremely Large Telescope

Large-scale RT Applications

Page 29: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

31 ni.com

E-ELT Primary Mirror (M1): Mirror and Segment

Models

42m diameter

984 hexagonal

segments

3 axial

Position

ACTuators

6 Edge

Sensors

Total: 2952

PACTs, 5604

ESs

Mirror Model

Segment Model

Page 30: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

34 ni.com

LabVIEWTM based Control Platform Each leaf node can measure data for 40 mirrors. 25 PXIe-1075 chassis needed in total for data collection

HSIB

PXIe-1075

with 15 PXIe-

4498

PXIe-1075

with 15 PXIe-

4498

PXIe-1075

with HSIB

adapters

PXIe-1075

with HSIB

adapters

PXIe-

1075

wi PXIe-

1075

wi PXIe-

1075

Rackmount

Server

Need 2 PXIe-1075 chassis with embedded controller and HSIB cards for data aggregation

HSIB

Rackmount server aggregates all measurement data and performs complex matrix calculation

Dell M1000

Alternate targets: many-core,

CPU+GPU, FPGA

accelerators

NI PXIe-1075

NI PXIe-4498

Page 31: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

36 ni.com

LabVIEW Targets • Scalable from distributed network to

sensors

Portable

FPGA

PC

Handheld

Industrial Controllers (PXI)

Sensor

Vision System

DSP/MPU

Embedded Controllers

Page 32: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

43 ni.com

“To do for embedded what the PC did for the desktop.”

Graphical System Design

Instrumentation

RF

Digital

Distributed

Industrial control

RT/FPGA systems

Electronic devices

C code generation

Real-time measurements

Embedded monitoring

Hardware in the loop

Virtual Instrumentation Embedded Systems

National Instruments Vision Evolved

Page 33: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

44 ni.com

High-Level Development Tools

Data Flow C Code Textual Math Modeling Statechart

Graphical System Design Platform

Macintosh Linux® Windows Real-Time FPGA Micro

Desktop Platform Embedded Platform

Page 34: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

46 ni.com

Front Panel

Block Diagram

LabVIEW Virtual Instrument

Page 35: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

47 ni.com

Page 36: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

48 ni.com

Page 37: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

49 ni.com

Page 38: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

50 ni.com

Block Diagram Window

Front Panel Window

Creating a VI

Input Terminals

Output Terminal

Boolean Control

Graph Indicator

50

Page 39: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

51 ni.com

• Block diagram execution

– Dependent on the flow of data

– Block diagram does NOT

execute left to right

• Node executes when data

is available to ALL input

terminals

• Nodes supply data to all

output terminals when

done

Dataflow Programming

51

Page 40: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

52 ni.com

Structured Dataflow

Page 41: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

56 ni.com

LabVIEW as a Target Language

• Application Wizards – Patterns

• StateCharts

• MathScript

• Control and Simulation Diagram

• Express Nodes and X-nodes

• I/O Nodes

Page 42: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

57 ni.com

Application Wizards - Patterns

Page 43: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

58 ni.com

Application Wizards - Patterns

Page 44: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

59 ni.com

Page 45: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

60 ni.com

Page 46: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

61 ni.com

Page 47: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

62 ni.com

Page 48: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

63 ni.com

Page 49: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

64 ni.com

Page 50: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

65 ni.com

The G (LabVIEW) Language Model

• Homogenous dataflow language • Structured case (switch, select) and loops

o “Structured dataflow”

• Run-time scheduling • Explicit task level parallelism

• Implicit parallelism heuristically identified

• Synthesizable language • To machine code on x86 and PPC processors

• To VHDL for FPGAs

• To C for embedded processors

• Turing complete

Page 51: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

66 ni.com

Evolution of LabVIEW Code Generation

VHDL

OEM

Synthesis

PAR FPGA

Intermediate Code Compiler Hardware Target

None

(Machine Code)

LabVIEW

Real-Time Wintel

PowerPC

None

(Object Library)

LabVIEW

DSP DSP

C Any Any 32-bit

MPU

Page 52: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

67 ni.com

DFIR - Background

Data Flow Intermediate Representation (DFIR) is used

today to separate front-end editors from back-end

compilers (as illustrated below) and to provide a

consistent framework for managing code generation

and optimizations.

Page 53: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

68 ni.com

DFIR - Background

DFIR models existing G data flow semantics with

arbitrary VI hierarchy. Wires are also modeled as nodes,

which can generate custom code if needed.

Page 54: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

69 ni.com

System Deployment

• Target aware synthesis

• I/O Port Abstraction

• I/O Classes

• Protocol generation

• Channel Abstraction

• FIFO

• Loop-to-loop

• Peer-to-peer

• Board-to-host (DMA)

Page 55: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

70 ni.com

System Deployment

• Timing

• Expressing an order

o Language constructs

o Operating Environments

• Reality of Platform timing

o Static analysis

Page 56: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

71 ni.com

What is LabVIEW FPGA

Reconfigurable I/O (RIO) Hardware

LabVIEW FPGA Module

Page 57: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

72 ni.com

Enforcing Dataflow in FPGA

Page 58: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

74 ni.com

C/HDL Code

Personal Computers PXI Systems NI CompactRIO NI Single-Board RIO NI USRP

Data Flow State Chart Simulation Textual Math

Page 59: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

75 ni.com

System-Level Design

Application trends

• Large # of parallel tasks

• Large node/channel counts

• High performance requirements

• E.g. streaming DSP applications

Platform trends

• Large # of processing elements

• Heterogeneous processors and memories

• Distributed I/O

• E.g. Heterogeneous FPGA targets

Concurrent Application

Parallel Platform

Page 60: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

76 ni.com

Modeling System-Level Designs

System-level designs introduce new modeling constructs:

• Systems

• Targets

• Mixed MoC Diagrams

• Asynchronous Wires

G Dataflow with

Asynchronous Data

Connection

Static Data Flow

MoC

Inter-Target

Asynchronous Data

Connections

Page 61: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

77 ni.com

RF Communications Applications Overview

Network Optimization Interference Alignment

Single Ant Diversity Cognitive Radio

Network Optimization Interference Alignment

Single Ant Diversity Cognitive Radio

RF Channel Emulation BTS Emulation

Protocol Analysis Next Gen Test

RF Channel Emulation BTS Emulation

Protocol Analysis Next Gen Test

Research Advanced Test

Signal INT Communications INT

Electronic INT Spectrum Sniffer

Signal INT Communications INT

Electronic INT Spectrum Sniffer

Surveillance

Page 62: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

78 ni.com

OFDM TX/RX Block Diagram

Transmitter

Receiver

Page 63: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

79 ni.com

Streaming Model of the OFDM Transmitter

Challenge: How to express a domain expert’s algorithm specification in a model that is viable for analysis and implementation?

• Nt = {1,2,4}

• Compile time - # transmitters

• Nu = {72, 180, 300, 600, 900, 1200}

• Initialization time - Bandwidth

• CP mode = {„Normal‟, „Extended‟}

• Run time, To overcome Inter-symbol-interference, Can be applied at symbol boundary

• CP Vector

• Selection based on CP mode, Elements must be applied at symbol boundary

Page 64: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

80 ni.com

LabVIEW DSP Design Module

Page 65: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

81 ni.com

LabVIEW DSP Design Module

Sub Diagrams Xilinx CoreGen Blocks Data Ports

Page 66: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

82 ni.com

LabVIEW DSP Design Module

Auto buffer sizing to

minimize resources

Calculated firing counts

and timing data

Throughput

constraints

Page 67: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

83 ni.com

LabVIEW DSP Design Module

Calculated Schedule View

Page 68: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

84 ni.com

High-Level Model to FPGA blocks

Page 69: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

85 ni.com

PCIe Transfer Xilinx FPGA

RF Design Flow

Peer-to-Peer Streaming

RIO Target

FlexRIO FAM Host

DSP Design Module Editor LabVIEW FPGA

Sim

ula

te

Co

mp

ile &

Dep

loy

Page 70: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

86 ni.com

Related Frameworks

• Ptolemy II + Prominent framework for exploring MoCs

Code generation for HW not fully developed

• Grape-II + Facilitates emulation of SDF/CSDF on FPGAs

Lacking in smooth integration of IP

• LabVIEW FPGA + Commercial framework for generation of HW from dataflow models

No synthesis and optimization of multi-rate models

• Xilinx System Generator + Commercial framework for HW generation from SR and DT models

Not suitable for dataflow models/ limited HW optimization

• Agilent System Vue + Support expressive dataflow models/ libraries for RF+DSP applications

No path to implementation on specific HW targets

• Open DF and CAL + HW generation from dataflow models/ generates VHDL

Less analysis options/ Limited support for integration of commercial IP

Page 71: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

87 ni.com

DSP Design Module – Summary

• Simplifies creation of complex DSP subsystems targeted

for FPGA deployment, allowing

• Fast prototype of real-time FPGA-based DSP subsystems

• Integration of rich signal processing IP libraries that exploit FPGA

and surrounding DSP fabric

• Design of signal processing IP blocks with LabVIEW FPGA or by

importing third-party IP

• Exploration of design trade-offs between timing requirements and

resource constraints

Page 72: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

88 ni.com

Tool Flow

Page 73: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

89 ni.com

Tool Flow (Focus Areas)

• Actor Definition

• Performance

Models

• and Timing Library

• IP Modeling and

• Integration

• Code Generation and

• Implementation

Models of

Computation

Analysis and

Optimization

Back End

Simulation and

Verification

Page 74: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

90 ni.com

GUI Screenshot

Page 75: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

91 ni.com

MoCs for Streaming Applications

[1] Edward A. Lee, “Concurrent Models of Computation for Heterogeneous Software”, EECS 290, 2004

Expressive

Process

Networks

Kahn Process

Networks

Boolean

Dataflow

Static

Dataflow

Cyclo-Static

Dataflow

Homogeneous

Dataflow

Integer

Dataflow

Heterochronous

Dataflow

No Yes Deadlock and boundedness decidable?

No Yes Static scheduling?

Deterministic? No Yes

Bounded data rates? No Yes

Key trade-off: Analyzability vs. Expressability

Parameterized

Dataflow

Scenario-Aware

Dataflow

Analyzable

Area of focus for DSP Design Module

Page 76: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

92 ni.com

Analysis and Optimization Features

• Core dataflow optimizations

• Model validation

o Deadlock detection and boundedness check

• Throughput and latency computation

• Buffer size optimization (under throughput constraints)

• Schedule computation

• Hardware specific optimizations

• Resource constrained schedule computation

• Retiming and fusion

• Rate matching

• IP interface synthesis

[1] S. S. Bhattacharyya, P. K. Murthy and

E. A. Lee, "Software Synthesis from

Dataflow Graphs," Kluwer Academic

Publishers, Norwell, Mass, 1996.

Page 77: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

93 ni.com

Design Capture in DSP Design Module

Page 78: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

94 ni.com

Synthesis Results for OFDM Rx/Tx

Example Resource

Name

Available Resource

Elements

Transmitter

Utilization

Receiver

Utilization

Slices 14,720 43.1% 79.2%

Slice Registers 58880 21.6% 54.6%

Slice LUTs 58880 24.7% 57.3%

DSP48s 640 640 2.7% 8.3%

Block RAM 244 8.2% 19.7%

Page 79: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

95 ni.com

Successful collaboration with

UCB

Page 80: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

96 ni.com

Trends in Future Computational Platforms

• Rapid increase in multi/ many

core processors

• Convergence of architectures

• Gain in performance (speed,

memory etc)

• Sophisticated power/ thermal

management

• Unreliability from

manufacturing technology

• NoC, high speed memory

interface, specialized IO,

reconfigurable fabric etc …

Page 81: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

97 ni.com

Future Heterogeneous Architectures

Zynq Extensible

Processing

Platform

Source: Xilinx

Page 82: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

98 ni.com

Synthesis on Heterogeneous Platforms

• Motivation: To develop automatic system-level synthesis

and exploration framework to deploy high-level

application specifications onto heterogeneous

platforms

• Goals:

• Develop system-level language for the domain expert

• Improve productivity while maintaining performance

• Provide exploration framework to evaluate cost/quality, and

derive optimal platform/ mapping

• Allow system-level simulation/verification/validation to ensure

model requirements

Page 83: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

99 ni.com

Y-Chart: A Disciplined System Design Methodology

99

Application Model (and Constraints) Platform Model (and Constraints)

Analysis and Mapping

Performance Evaluation

Deployment

[1] B. Kienhuis, E. F. Deprettere, P. Wolf, K. A. Vissers. “A Methodology to Design Programmable Embedded Systems - The Y-Chart Approach”. SAMOS, p.18-37, Jan 2002.

[2] K. Keutzer, A. R. Newton, J. Rabaey, and A.

Sangiovanni-Vincentelli. System-level

design: Orthogonalization of Concerns and

Platform-based Design. IEEE Trans. on

CAD of ICs, 19(12): p.1523-1543, December

2000.

Representative

formal models

Efficient

analysis and

optimization

Fast and

accurate

simulation

Reliable

verification

Page 84: EE249 Lab Graphical System Design - Ptolemy Project · Evolution of LabVIEW Code Generation VHDL OEM Synthesis PAR FPGA Intermediate Code Compiler Hardware Target None (Machine Code)

10

0 ni.com

Challenges

• Models for heterogeneous platform architectures

• Computation, communication, I/O, Storage, UI, Cloud

• Mapping and Optimization

(for distributed computation and communication)

• Allocation, binding, reusing and scheduling

• Appropriate application description level

• Models of computation, Domain specific knowledge

• System level validation

• Testing, simulation, verification