incorporating fpgas for test ap · programming in labview fpga for test applications. introduction...

46
Incorporating FPGAs in Test Applications NI Technical Conference Long Island Nov 10, 2009 Terry Stratoudakis, P.E. ALE System Integration

Upload: others

Post on 07-Aug-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Incorporating FPGAs in Test Applications

NI Technical Conference

Long Island Nov 10, 2009

Terry Stratoudakis, P.E.

ALE System Integration

Page 2: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Agenda

Introduction to FPGAs in test

FPGAs in test applications

New FPGA-enabled applications

FPGA-enhanced applications

FPGA for test hardware

Examples

Programming in LabVIEW FPGA for test

applications

Page 3: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Introduction to FPGAs in Test

Page 4: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Software-Defined Test System Architecture

Software Hardware

DriverApplication

Measurement

Analog or

Digital

Front End

Bus Interface

and I/O

Control

Standard Virtual

Instrumentation

Model

10011011

Page 5: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Field Programmable Gate Arrays

Introduced in 1987

Customizable Integrated Circuit (IC)

Similar to Application Specific ICs (ASICs)

No Operating System

Configured with Hardware Descriptor Language (HDL)

Parallel Execution

Millions of configurable gates on a single chip

Page 6: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Who makes FPGAs?

Actel

Aeroflex UTMC

Lattice Semiconductor

And others...

*Market leadershttp://seekingalpha.com/article/85478-altera-and-xilinx-report-the-battle-continues

Altera*

Atmel

Xilinx*

Page 7: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

FPGA Configuration Tools

Direct: Hardware Description Languages (HDL)

akin to assembly language

Examples: Verilog and VHDL

High-Level

FPGA design accessible to software engineers

Text based using C or Matlab with concurrency models

Examples:

Graphical/Flow based with LabVIEW FPGA

Page 8: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

VHDL Adder Example

Page 9: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

C-Based Example Image Filter excerpt*

Page 10: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Graphical Based Matrix Math Example*

Page 11: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

FPGA Technology

I/O Blocks

Programmable

Interconnects

Logic

Blocks

Page 12: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

FPGA Logic Implementation

A

B

C

D

FEE

Implementing Logic on FPGA: F = {(A+B)CD} E

LabVIEW FPGA Code

Page 13: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

A

B

C

D

FE

True Parallelism

YW X

Z

Page 14: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

FPGA-Based Test System Architecture

System intelligence and decision making can be

moved from software to hardware

Software

Driver

Open

FPGA

System

Model

NI Hardware

Measurement

Analog or

Digital

Front End

Bus Interface/

Programmable

FPGA

Page 15: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Benefits of FPGAs in Test Systems

High Reliability Designs implemented in hardware

Low Latency Run algorithms at deterministic rates down to 5 ns

Reconfigurable Create DUT / application-specific personalities

High Performance Computational abilities open new possibilities for measurement and data processing speed

True Parallelism Enables parallel tasks and pipelining, reducing test times

Page 16: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

FPGAs in Test Applications

New FPGA-enabled applications

Page 17: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Stimulus

RFID Testing

Response

RFID

Reader (Emulated)

RFID

Tag (DUT)

Page 18: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

RFID Testing Response-Stimulus

Testing an RFID tag requires emulating the tag reader

Interrogates and responds to tag within microseconds

Coding/decoding, modulation/demodulation, and

decision making must be completed in hardware to

meet timing Closed-Loop Test

Page 19: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Real-time spectral measurements

RF

Processing

Page 20: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

FPGAs in Test Applications

FPGA-enhanced applications

Page 21: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

A Simple Digital Protocol: I2C

Integrated

Circuit

SDA

SCL

Pattern Generator

Logic Analyzer

Traditional Approach

Static stimulus and expected responses

Difficult to accommodate multiple clock domains

010ZZ01

0101101

Page 22: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

A Simple Digital Protocol: I2C

Integrated

Circuit

SDAProtocol-Aware

Tester

Protocol-Aware Approach

Address, Data, Address, Receive

Response Data

Intelligence built into the testerAccommodates wait cycles

Easy to cross clock domains

Test with high-level commands Real-world scenario

Inherently easier to program

Protocols

Page 23: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

System Control

(FPGA)

DUT

PXI Data or Trigger Bus

Instrument

Controller

(SMC)

Instrument

Controller

(SMC)

AD

C

DA

CTransfer of system timing and decision making from software to

hardware

Digital Communication

Test System

Control

Page 24: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

FPGA for Test Application Areas

Real-time / co-processing

Data reduction / in-line processingProcessing

Protocol-aware ATE

Interfacing (digital or modulated)Protocols

Response-stimulus test

Hardware-in-the-loop (HIL)

Closed-Loop Test

Digital DUT interfacing and command

Complex triggers

Test System Control

Page 25: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

FPGA for Test Hardware

Page 26: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

COTS Integration of FPGAs

Example: NI FlexRIO (?)

Page 27: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

NI FlexRIO System Architecture

Synchronization

Clocking/triggers

Power/cooling

Data streaming

PXI PlatformNI FlexRIO FPGA Module

Virtex-5 FPGA

132 digital I/O lines

128 MB of DDR2 DRAM

NI FlexRIO Adapter Module

Interchangeable I/O

Customizable by users

Adapter Module

Development Kit (MDK)

PXI

Page 28: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

NI FlexRIO FPGA

Virtex-5 FPLX30,

Direct access132 sidifferentia

400 Mbps

1 Gbps

128 MB2x 64

800 MB/s

Adapter mo

Page 29: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

NI FlexRIO Adapter Module

Card edge connector

Defines I/O for NI

LabVIEW FPGA

Self identification

Custom connectivity

Adapter Module

Development Kit (MDK)

Page 30: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

NI FlexRIO Adapter Module Options

Complete

integration with

LabVIEW FPGA

R Series-like

experience

Expands NI

I/O breadth

Custom and

application-

specific modules

Requires PCB

and HDL design

work

Supported

through MDK

NI ModulesThird-Party

Modules

Custom

Modules

Page 31: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

NI 6581

High-Speed Digital Adapter Module

100 MHz digital I/O

54 single-ended channels

Selectable voltage levels

1.8, 2.5, 3.3 V (5 V compatible)

External DIO voltage reference

1.8 to 5.5 V

Configurable by connectorNI 6581

Page 32: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

NI 6585

200 MHz LVDS Digital Instrument

200 MHz digital I/O

32 / 42 LVDS channels

200 Mbps SDR, 300 Mbps DDR

PXI-6585R

Page 33: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Gigabit Ethernet interfaces

MAC and Ethernet frames

Fault-injection software

Camera Camera Link Interface

High-speed image processing

Low-latency control

IEEE-1394b interface

3 ports at 800 Mbps

100 MHz vector digital I/O

8 ch. per-pin PMU

NI FlexRIO Partner Modules

Page 34: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Custom NI FlexRIO Adapter Module

Development Kit (MDK)

6 W Power electrical and thermal limit

3.3 V (1 A) and 12 V (200 mA) rails

LVTTL (3.3 V), LVCMOS (1.2, 1.5, 1.8, 2.5, 3.3 V), LVDCI (1.5, 1.8 V, 2.5, 3.3 V), LVDS (2.5 V)

400 Mbps (Single-Ended), 1 Gbps (Differential)

I2C EEPROM for module identification and user-defined storage

NI Mechanical Enclosures

Page 35: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Demo: Digital Filtering

FIR Filter

Page 36: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

NI PXIe-5641R RIO IF Transceiver

2 IF Inputs and 2 IF Outputs

14-bit ADCs and DACs

20 MHz Instantaneous

Bandwidth (25 MS/s I/Q)

IFs from 250 kHz to 80 MHz

Xilinx Virtex-5 SX95T

LabVIEW-programmable

FPGA

Page 37: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

FPGA for Test Hardware

How NI FlexRIO and the PXIe-5641R fit

into FPGA for test applications

Page 38: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

RFID Testing Response-Stimulus

FPGA on PXIe-5641R IF Transceiver can perform

necessary processing

Upconverter and downconverter condition the signal for

the correct RF frequency of the tag

PXI-5610

UpconverterRFID

TagPXI-5600

Downconverter

Page 39: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

A Real-Time Spectrum Analyzer

Page 40: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

A Simple Digital Example: I2C

Integrated

Circuit

SDA

SCL

Protocol-Aware Approach

Address, Data, Address, Receive

Response Data

Intelligence built into the testerAccommodates wait cycles

Easy to cross clock domains

Test with high-level commands Real-world scenario

Inherently easier to program

Page 41: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Sparkle Code Counter

Single-Cycle Timed Loop

I/O Node

Page 42: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Digital FilterI/O Node

I/O Node

IP

Integration

Node

FIFO

FIFOFIFO

FIFO

Page 43: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Bit Error Rate Test

DRAM Read

I/O Node

I/O Node

Multiplexer

Delay

Page 44: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

3 GS/s Trigger for Data Reduction3 GS/s /

16

I/O Nodes

~0

Delay

~0

Delay

Pip

elin

e

Page 45: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Real-Time Frequency Measurements

Stage 1 Stage

2

Stage 3 Stage 4

Page 46: Incorporating FPGAs for Test Ap · Programming in LabVIEW FPGA for test applications. Introduction to FPGAs in Test. Software-Defined Test System Architecture Software Hardware Application

Conclusions

FPGAs enable some types of test applications

not previously possible, and make others faster

LabVIEW FPGA represents a powerful hardware

programming paradigm for test engineers and

system integrators