fpga design with national instuments - in2p3 design_ni hw_sw… · fpga design with national...

63
ni.com FPGA design with National Instuments Rémi DA SILVA Systems Engineer - Embedded and Data Acquisition Systems - MED Region

Upload: trandieu

Post on 16-Mar-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

ni.com

FPGA design with National Instuments

Rémi DA SILVA

Systems Engineer - Embedded and Data Acquisition Systems - MED Region

Page 2: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

2ni.com/byoes

The NI Approach to Flexible Hardware

Processor

Real-time OS Application software Networking and

peripheral I/O drivers DMA, interrupt, and

bus control drivers

FPGA

Application IP Control IP DSP IP Specialized I/O drivers

and interface DMA controller

Page 3: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

3ni.com/byoes

NI Embedded Software Architecture Options

FPGA Interface C API

C/C++

LabVIEWLabVIEW

FPGA

FPGAReal-Time Processor

1

23

1 LabVIEW RT and FPGA

2 LabVIEW RT app for I/O, with C/C++ app or library

3 C/C++ on RT, LabVIEW FPGA

Page 4: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

4ni.com/byoes

Project ExplorerManage and organize all system

resources, including I/O and deployment targets

Front PanelCreate event-driven user

interfaces to control systems and display measurements

Block DiagramDefine and customize the behavior of your system using graphical programming

Instant CompilationSee the state of

your application at all times, instantly

Parallel ProgrammingCreate independent loops that automatically execute in parallel

Analysis LibrariesUse high-performance analysis libraries designed for engineering and science

Hardware ConnectivityBring real-world signals into LabVIEW from any I/O on any instrument

TimingDefine explicit execution order and timing with sequential data flow

Deployment TargetsDeploy LabVIEW code to the

leading desktop, real-time, and FPGA hardware targets

Models of ComputationCombine and reuse .m files, C code, and HDL with graphical

code

LabVIEW System Design Software

Accelerates Your SuccessBy abstracting low-level complexity and integrating all of the tools you need to build any measurement or control system

Page 5: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

5ni.com/byoes

Complete System IDE

Windows Desktop PC Application

Real-Time Processor Application

FPGA Application

System Design Tool

LabVIEW System Development Environment

Page 6: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

6ni.com/byoes

Complete System IDE

Math and Analysis

LabVIEW System Development Environment

Page 7: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

7ni.com/byoes

.m File Scripts

Graphical Graphical

.m File Scripts

Complete System IDE

Math and Analysis

Reuse ofExisting Code

LabVIEW System Development Environment

Page 8: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

8ni.com/byoes

Complete System IDE

Math and Analysis

Reuse ofExisting Code

Graphical Syntax VHDL

LabVIEW System Development Environment

Page 9: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

9ni.com/byoes

Graphical SyntaxC/C++Code

Complete System IDE

Math and Analysis

Reuse ofExisting Code

LabVIEW System Development Environment

Page 10: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

10ni.com/byoes

Complete System IDE

Math and Analysis

Reuse ofExisting Code

GraphicalDebugging

LabVIEW System Development Environment

Page 11: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

11ni.com/byoes

Complete System IDE

User Interface

Math and Analysis

Reuse ofExisting Code

GraphicalDebugging

LabVIEW System Development Environment

Page 12: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

12ni.com/byoes

~4000 lines of VHDL

Acquire analog data point-by-point

Directly transfer analog data to processor memory via FIFO for data logging, display, etc.

Abstraction of Hardware Complexities

LabVIEW FPGA vs. VHDL

Page 13: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

13ni.com/byoes

“VI” = Program or Function

“Block Diagram” = Code

“Project” = System Configuration

LabVIEW Environment Basics

“Front Panel” = User Interface

Page 14: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

ni.com

Embedded systems – LabVIEW FPGA

Page 15: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

15ni.com/byoes

Field-Programmable Gate Array (FPGA)

Configurable Logic Blocks (CLBs)Implement logic using flip-flops and LUTs

Multipliers and DSPsImplement signal processing using multiplier and multiplier-accumulate circuitry

Memory BlocksStore data sets or values in user defined RAM

Programmable InterconnectsRoute signals through the FPGA matrix

I/O BlocksDirectly access digital and analog I/O

Page 16: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

16ni.com/byoes

FPGAs Are Dataflow Systems

A

B

C

D

F

Page 17: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

17ni.com/byoes

Parallel Processing

A

B

C

D

F

W

X

Y Z

Page 18: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

18ni.com/byoes

“VI” = Application

“Block Diagram”= Code

“Project” = System Configuration

LabVIEW FPGA

“Front Panel”= Interface Elements I/O Node

Page 19: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

19ni.com/byoes

begin

LED <= LED_local;

process (CLK_50MHZ)

begin

if rising_edge(CLK_50MHZ) then

if ToggleLED then

LED_local <= not LED_local;

end if;

end if;

end process;

CounterProc: process (CLK_50MHZ)

begin

if rising_edge(CLK_50MHZ) then

if CounterValue = kCounterTC then

CounterValue <= (others => '0');

ToggleLED <= true;

else

CounterValue <= CounterValue + 1;

ToggleLED <= false;

end if;

end if;

end process CounterProc;

end rtl;

Physical wire connection to “LED”

LabVIEW FPGA vs. VHDL: Blink an LEDVHDL Implementation

Page 20: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

20ni.com/byoes

begin

LED <= LED_local;

process (CLK_50MHZ)

begin

if rising_edge(CLK_50MHZ) then

if ToggleLED then

LED_local <= not LED_local;

end if;

end if;

end process;

CounterProc: process (CLK_50MHZ)

begin

if rising_edge(CLK_50MHZ) then

if CounterValue = kCounterTC then

CounterValue <= (others => '0');

ToggleLED <= true;

else

CounterValue <= CounterValue + 1;

ToggleLED <= false;

end if;

end if;

end process CounterProc;

end rtl;

Physical wire connection to “LED”

Toggle the physical LED when internal timing signal “ToggleLED”is true. Executes every tick of the 50Mhz clock.

LabVIEW FPGA vs. VHDL: Blink an LEDVHDL Implementation

Page 21: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

21ni.com/byoes

begin

LED <= LED_local;

process (CLK_50MHZ)

begin

if rising_edge(CLK_50MHZ) then

if ToggleLED then

LED_local <= not LED_local;

end if;

end if;

end process;

CounterProc: process (CLK_50MHZ)

begin

if rising_edge(CLK_50MHZ) then

if CounterValue = kCounterTC then

CounterValue <= (others => '0');

ToggleLED <= true;

else

CounterValue <= CounterValue + 1;

ToggleLED <= false;

end if;

end if;

end process CounterProc;

end rtl;

Physical wire connection to “LED”

Toggle the physical LED when internal timing signal “ToggleLED”is true. Executes every tick of the 50Mhz clock.

Counter establishes the timing ofthe “ToggleLED” signal. Goes

“true” when the counter reaches 50,000,000 (1 second) and resetscounter.

LabVIEW FPGA vs. VHDL: Blink an LEDVHDL Implementation

Page 22: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

22ni.com/byoes

LED I/O Resource

LabVIEW FPGA vs. VHDL: Blink an LEDLabVIEW Implementation

Page 23: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

23ni.com/byoes

NOT (Toggle)

LED I/O Resource

LabVIEW FPGA vs. VHDL: Blink an LEDLabVIEW Implementation

Page 24: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

24ni.com/byoes

Loop Timing (1000ms)

NOT (Toggle)

LED I/O Resource

LabVIEW FPGA vs. VHDL: Blink an LEDLabVIEW Implementation

Page 25: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

25ni.com/byoes

Why Are FPGAs Useful?

• True Parallelism – Provides parallel tasks and pipelining

• High Reliability – Designs become a custom circuit

• High Determinism – Runs algorithms at deterministic rates down to 25 ns (faster in many cases)

• Reconfigurable – Create new and alter existing task-specific personalities

Page 26: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

26ni.com/byoes

Parallel Processing

A

B

C

D

F

W

X

Y Z

Page 27: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

27ni.com/byoes

High Reliability and Determinism

Hard

ware

Op

eratin

g S

ystem

Drive

r AP

I

Ap

plica

tion S

oftw

are

Calcu

lation

Decision Making in Software

~25 msResponse

Outputs

System or Device

Multiple Software Layers

Page 28: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

28ni.com/byoes

High Reliability and Determinism

Hard

ware

Op

eratin

g S

ystem

Drive

r AP

I

Ap

plica

tion S

oftw

are

Calc

ulatio

n

~25 nsResponse

Outputs

UUT

Decision Making in Hardware

Highest Reliability

Highest Determinism

System or Device

Page 29: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

29ni.com/byoes

Reconfigurable

• Enables rapid development iterations

• Reduces overall design cost, taking NRE into account

• Decreases long-term maintenance

FPGAs Custom Circuits ASICs

vs.

Page 30: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

ni.com

Common application target

Page 31: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

31ni.com/byoes

Common Applications

• High-speed control

• Custom data acquisition

• Digital communication protocols

• Inline signal processing

Page 32: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

32ni.com/byoes

High-Speed Control

Page 33: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

33ni.com/byoes

Custom Triggered Analog Input

• Custom timing & synchronization

• Multi-rate sampling

• Custom counters

• Flexible PWM

• Flexible encoder interface

Page 34: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

34ni.com/byoes

Digital Communication Protocol APIs

• Communications Protocols Palette: SPI/I2C

• Serial:

Page 35: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

35ni.com/byoes

Inline Signal Processing and Data Reduction

Inputs Analog voltagesDigital communication

Sensor signals…

Streaming from input to output without host

involvement

Page 36: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

36ni.com/byoes

Inline Signal Processing and Data Reduction

Outputs

DMA preprocessed data to Processor:Save to file, additional analysis,Transfer over network

Analog voltagesDigital communicationMotor/actuator drives

Data Transfer

FPGA ProcessingEncoding/decodingFiltering/averagingModulation/demod

DecimationStream processing

Streaming from input to output without host

involvement

Page 37: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

37ni.com/byoes

Data Transfer : I/O FPGA

• FPGA I/O Nodes acquire and generate data

• Directly connected to I/O pins

• Data rates are defined by the AIO/DIO modules

• FPGA acquires one data point per loop iteration

• Can rename channels to be application-specific

Page 38: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

38ni.com/byoes

FPGA RT: FPGA Read/Write Controls

Real-Time VIFPGA VI

Page 39: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

39ni.com/byoes

FPGA RT: Direct Memory Access (DMA) FIFOs

• DMA FIFOs are an efficient mechanism for streaming data to/from the FPGA to/from a Real-Time or Windows Processor

• RIO hardware targets have between 3 to 16 dedicated DMA channels, depending on the FPGA

• Target-Scoped FIFOs can transfer data between different portions of an FPGA VI or between VIs on an FPGA Target

Page 40: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

40ni.com/byoes

Real-Time Buffer

Data Element

FPGA RT: DMA FIFOs

DMA Engine

FPGA DMA FIFO

Page 41: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

ni.com

Clocking

Process event, and registers

Page 42: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

42ni.com/byoes

Understanding Clocks and Hardware Concurrency

• A Timed Loop on FPGA runs at 40MHz by default, based on the Onboard Clock

• A While Loop will execute at the rate specified in the Loop Timer function, either in ticks, ms, or µs.

Page 43: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

43ni.com/byoes

Understanding Clocks and Hardware Concurrency

• The enable chain includes registers between each node that store values and execute at the rising edge of the clock

• A Timed Loop on FPGA is called a Single Cycle Timed Loop (SCTL)

• Code executes in 1 clock cycle

• Removes registers

• Uses less resources

• Not all functions are supported

Page 44: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

ni.com

LabVIEW design flow

Page 45: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

45ni.com/byoes

Simplified FPGA Design Flow

Design Entry

Simulation

Compilation

Deployment

Page 46: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

46ni.com/byoes

Design Entry

Simulation

Compilation

Deployment

•Interface Abstraction•HDL/IP Integration

•Configuration-Based

Simplified FPGA Design Flow

Page 47: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

47ni.com/byoes

Interface Abstraction

• I/O Interfaces to NI and 3rd party I/O modules, custom daughtercards

• Built-in DMA FIFO and memory interfaces

Page 48: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

48ni.com/byoes

Configuration-Based Design

Page 49: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

49ni.com/byoes

Reuse of Existing HDL Algorithms

• Use LabVIEW as the glue of your application

• Leverage existing digital design team expertise

• Similar to calling a shared library in LabVIEW on Windows or Real-Time

Library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

entity DemoClipAdder is

port (

clk : in std_logic;

aReset : in std_logic;

cPortA : in std_logic_vector(15 downto 0);

cPortB : in std_logic_vector(15 downto 0);

cAddOut : out std_logic_vector(15 downto 0)];

Page 50: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

50ni.com/byoes

Design Entry

Simulation

Compilation

Deployment

•Simulation Tools•Interactive Window Debugging

•Interface Abstraction•HDL/IP Integration

•Configuration-Based

Simplified FPGA Design Flow

Page 51: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

51ni.com/byoes

Be More Productive with LabVIEW FPGAVerify Faster

Verify Code using Simulated I/O

Use the Desktop Execution Node to verify code by developing test benches using simulated or file generated I/O

Verify Signal Timing with Waveform Probe

Use the Digital Waveform Probe to probe your signals relative to one another and view history

Debug with Standard LabVIEW Features in Simulation

Highlight execution, breakpoints, and stepping features

Page 52: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

52ni.com/byoes

LabVIEW FPGA Desktop Execution Node

Test Harness

Unit Test

Page 53: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

53ni.com/byoes

Interactive Front Panel “User Interface”

Page 54: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

54ni.com/byoes

Design Entry

Simulation

Compilation

Deployment

•Simulation Tools•Interactive Window Debugging

•Interface Abstraction•HDL/IP Integration

•Configuration-Based

Simplified FPGA Design Flow

•One-click automation of the Xilinx Tools

•Local Computer, Server, or Cloud Compilation

Page 55: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

55ni.com/byoes

Compilation Process

LabVIEW FPGA Code FPGA Logic ImplementationCompile VHDL through Xilinx

Page 56: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

56ni.com/byoes

Compilation Process

LabVIEW FPGA Code FPGA Logic ImplementationCompile VHDL through Xilinx

TranslationVHDL

Generation

OptimizationAnalysis &

Logic Reduction

SynthesisPlace & Route

Timing Verification

Bit StreamGeneration

Download & Run

Page 57: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

57ni.com/byoes

One-Click Deployment and Compilation

Development PC

Compile Server and Workers

High-Performance

Cloud

Page 58: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

58ni.com/byoes

Design Entry

Simulation

Compilation

Deployment

Simplified FPGA Design Flow

•Simulation Tools•Interactive Window Debugging

•Interface Abstraction•HDL/IP Integration

•Configuration-Based

•One-click automation of the Xilinx Tools

•Local Computer, Server, or Cloud Compilation

•Packaged and Board-level Hardware Options

Page 59: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

59ni.com/byoes

Integration with the Latest Hardware Products

.

.

CompactDAQ Controller

Compact Vision System

Zynq Single-Board RIO

System on Module

myRIO

Quad-core Performance CompactRIO

FlexRIO

Page 60: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

60ni.com/byoes

NI System on ModuleCore processing unit for an embedded system

• Minimizes design time and risk• Save time and risk with off-the-shelf hardware and software

• Quickly prototype with off-the-shelf NI embedded targets and I/O

• Develop high-speed and advanced applications with an FPGA without HDL expertise

• Designed, tested, and validated for reliable deployments

Page 61: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

ni.com

Xilinx® Tools

IDE (ISE, VIVADO) and primitive functions

Page 62: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

62ni.com/byoes

Xilinx® Tools

• NI provides some IP from LV FPGA like FFT, FIRs…

Does Xilinx® has other IP for our FPGA?-> Coregen

Page 63: FPGA design with National Instuments - IN2P3 Design_NI HW_SW… · FPGA design with National Instuments Rémi DA SILVA ... Implement logic using flip-flops and LUTs ... Develop high-speed

63ni.com/byoes

Third Party Simulation

• Used to create detailed models of timing and functional behavior of designs

• Xilinx ISIM is shipped with the Xilinx Tools

• ModelSim/Questa