2065-12 advanced training course on fpga design and vhdl...

26
2065-12 Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis Andres Cicuttin 26 October - 20 November, 2009 ICTP Multidisciplinary Laboratory ICTP Trieste Italy Reconfigurable Virtual Instrumentation (RVI) based on FPGA

Upload: others

Post on 16-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

2065-12

Advanced Training Course on FPGA Design and VHDL for HardwareSimulation and Synthesis

Andres Cicuttin

26 October - 20 November, 2009

ICTP Multidisciplinary LaboratoryICTP

TriesteItaly

Reconfigurable Virtual Instrumentation (RVI) based on FPGA

Page 2: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RECONFIGURABLE VIRTUAL INSTRUMENTATION (RVI)

A BLOCK-BASED OPEN SOURCE APPROACH

USING FPGA TECHNOLOGY

Andres Cicuttin, Maria Liz Crespo, Alexander ShapiroMultidisciplinary Laboratory,

International Centre for Theoretical PhysicsTrieste, Italy

Nizar Abdallah, Member, IEEE

Actel Corp. Mountain View, CA, USA

Page 3: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

An artistic view of an RVI System

• The RVI system can be seen as a “magic-box” connected to a PC through a standard port

• High-level software application– select a virtual instrument

from a library of instruments

– configures the RVI system to convert it into the selected instrument with its associated console

Emulated InstrumentsVirtual Instrument

Reconfigurable Instrument

Reconfigurable Virtual Instrumentation

Page 4: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Reconfigurable Virtual Instrumentation

Transient recorder

Function generator OscilloscopeMultimeter

Spectrum Analyzer

Page 5: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Proposal for an RVI systemGoal: To provide a high-performance and low-cost reusable common hardware/software

platform for

1) Implementation of multiple standard electronic instruments 2) Fast prototyping and evaluation of hardware algorithms 3) Implementation of custom scientific instrumentation

Hardware & Software modularity Block-based design methodology Hierarchical structure

Common standardized global architectureBlock interfaces definitionClear mechanism of blocks interaction

Open Source & Open CoresSharing the design effort and results by a large community of user and contributors with different expertise's and backgrounds (EE, Physicist, Comp. Sci. , DSP experts, etc)

Page 6: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

RVI SYSTEM ARCHITECTURE

• Reconfigurable Instrument– a versatile hardware platform that can be

reconfigured into different electronic instruments using a software tool

• Virtual Instrumentation– a hardware and software combination that allows

the emulation of an instrument through a custom virtual console and a graphical user interface

Page 7: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Challenges involved in RVI

A suitable hardware platform - the magic box -

Flexibility and Adaptability• to wide variety of

requirements

Upgradeability• must be able to take

advantage of new electronics devices and facilities

• mitigate the obsolescence of the hardware

A complete software chain - from FPGA design to GUI -

Portability and Adaptability • Linux, Windows, others OS• FPGA vendors and families• PP, USB, Serial, etc.

• expansion of the potential users/developers base

Upgradeability• Migration to new versions

Page 8: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

High-Level RVI System Architecture

• Hardware sub-system– RI connected to PC through a physical

connection.

• Software sub-systems – software related to the PC– the code corresponding to the FPGA of the RI

Page 9: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

RVI Hardware System

External memory extensionSDRAM Module

Devel/Debugging FacilitiesLCDs, LEDs, Push Buttons

ActelProASIC3E

FPGA

Ext

ensi

onC

onne

ctor

s(b

oard

-to-b

oard

)

AnalogI/Os

DigitalI/Os

Trigger I/O

Exte

rnal

Phy

sica

l Wor

ld

Com

mun

icat

ion

Port

sPP

, RS2

32, U

SB, E

ther

net

Dig

ital I

nter

face

s A/D

, D/A

, Tr

igge

rs in

/out

RVI Main (mother) Board Daughter BoardsPersonal Computer(User, Operator)

AnalogI/Os

DigitalI/Os

Trigger I/O

A/D

, D/A

, Tr

igge

rs in

/out

Page 10: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Reconfigurable Instrument

• ICTP-RVI Mother Board http//www.ictp.it/~fpga– FPGA device (ACTEL AP3E family) – a block of communication ports – an extension memory – debugging facilities and miscellaneous components – two high quality board-to-board connectors with 54 pins directly

connected to the FPGA gp-I/O

• Low Performance Daughter Board– dual channel 10-bits 20 MSPS ADC (AD9201, Analog Devices),– dual channel 14-bit 1 MSPS DAC (LTC1654, Linear)

• High Performance Daughter Board– single channel 14-bits 125 MSPS ADC (LTC2255, Linear)– single channel 16-bit 50 MSPS DAC (LTC1668, Linear)

Page 11: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

ICTP–RVI Boards Set

Page 12: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Two Interacting RVI Instruments

Page 13: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

The Global Software Architecture• Computer Software

user interface, port drivers, and offline data elaboration programs and utilities

• Synthesizable Hardware Description Codemanagement of the physical connection with the PC, ADC and DAC operations, data generation and acquisition, real-time online data processing, and on-board real time data handling

User Interface

Data Processing Modules

buffers/files

Device Driver

Data Processing Modules

buffers/files

buffers/files buffers/filesPC D

omai

n

PC Interface Core

FPGA Ports

Instrument Core

Dual Port Memory Registers

FPG

A D

omai

n

Physical interface

Page 14: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

The Computer Software

• collection of independent modules hierarchically organized

• basically, the CS provides:– a generic RVI graphical and textual user interface– a library of virtual instruments with custom user interfaces– data storage facilities– physical communication control (drivers)

• optionally, the CS could also provide:– an internet connection for remote instrument control and operation– specific data analysis packages and other facilities– a friendly interface with a general purpose in-chip logic analyzer for

development and debugging.

Page 15: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Synthesizable Hardware Description Code

• a synthesis friendly VHDL description

• basically, the SHDC provides:– PC-FPGA communication block– the instrument core– external hardware specific interface block– FPGA port assignment (and other constraints) description file.

• optionally, the SHDC could include:– an external SDRAM module controller, an on chip logic analyzer and

stimuli generator modules for debugging and development, and physical as well as timing constraints files.

Page 16: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Integrating a reconfigurable instrument core in an RVI system

• The core must comply with – the standardized interfaces of the PC-FPGA

communication block and the external hardware specific interface block

– a common mechanism of interaction

• If the three main blocks: PC-FPGA communication block, instrument core, and the external hardware interface respect both previous conditions, then each block can be updated or upgraded independently and can be reused in different contexts.

Page 17: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Architecture for Single Instruments Implementation Examples

Block diagram of the FPGA architecture for a Reconfigurable Σ−Δ demodulator for Anolog to Digital conversion.

decim_rate

data_in

start/resetdata_out

SINC3 Single Channel

Σ−Δ

mod

ulat

ed in

put

bit s

tream

Instrument Core

PC-FPGA Block

Para

llel P

ort

FPGA

FPGA

RA

MR

egisters clk

Data

Address

Clock

R/W

Parameters

Control Signals

Status

Instrument Core

PC-FPGA Block

Exte

nsio

n co

nnec

tor

Para

llel P

ort

Block diagram of the FPGA architecture for a Reconfigurable Virtual Arbitrary Waveform Generator

or Digital oscilloscope.

Data

CtrSignals

Trigger

Daughter B

oard Specific Interface Block

FPGA

FPGA

RA

MR

egisters

Data

Address

Clock

R/W

Parameters

ControlSignals

Status

Digital O

scilloscopeA

rbitraryW

aveformG

enerator, etc

Page 18: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

PC-FPGA Communication Block

• The communication between the PC and the Core Instrument is done in two ways: – by reading and writing into registers (read-only reg. for the

Core Instrument, read-only reg. for the PC and reserved reg. to handle the RVI communication protocol).

– by reading and writing data into the dual port memory.

• Depending on the core instrument:– the RI may send an interrupt signal to the PC to trigger a

specific action. – the PC can do polling on specific registers to check

whether there’s a request for a given action.

Page 19: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

General Purpose Debugging Interface

Page 20: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

GUI for a Wave Form Generator

• DAC14bit @ 1MSPS

Page 21: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

A possible FPGA Global Architecture for RVI

Dual Port M

emory

FIFO IN

FIFO OUT

Registers

Pc C

omm

unication block

1) PC <-> FPGA

communication

***

Instrument NCore

Instrument 2Core

Instrument 1Core

3) Instruments cores

External Memory Controller

4) External memory

RVI Bus

High Speed point to point Connections

7) Global bus and interconnections

Status

Instructions

Parameters

RVI CONTROLLER

(With DMA capabilities)

8) RVI Control

***

ExternalHardware

Controller N

ExternalHardware

Controller 2

ExternalHardware

Controller 1

2) External Hardware

Port 1controller

* * *Port 2controller

Port Mcontroller

5) Standard Ports

Miscellaneous and Debugging Facilities

Controller

6) Debugging Facilities

Page 22: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Concrete architecture for an RVI hardware platform

Wis

hbon

e RV

I BusRVI Status

Instructions

Parameters

High speed point to point

connections

Para

llel P

ort

USB 2.0Controller

EthernetController

RS232Controller

LP-AWGDPM

SPI to USB Controller

SDRAM Controller

LP-DB-DAC controller

HP-DB-DAC controller

HP-DB-ADC controller

RVI CONTROLLER

Bus Arbiter with DMA Capabilities

LP-DB-ADC controllerLP-OSC

LED DisplayController

HP-OSC

HP-AWG

Regi

ster

s

Page 23: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Conclusions (1)

• FPGA technologies are opening up new opportunities including in the field of scientific instrumentationExcellent hardware cost/performance ratio

high effort required to develop all the software/hardware chain of new systems

wide freely available collection/library of standardized functional blocks (at PC and FPGA levels)

Page 24: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Conclusions (2)

• RVI PlatformMany areas of applications from basic research and high education to Industry

- Emulation of standard general purpose instruments- Implementation of sophisticated instrumentation for custom

applications

Low cost solution for universities and research institutions in developing countries

Page 25: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Conclusions (3)

• The RI could be seen as a parallel coprocessor of the PC

Accelerate execution of time consuming or time critical tasks- Online digital signal processing - Computational intensive algorithms- Real time hardware control

Reconfigurable Computing

Page 26: 2065-12 Advanced Training Course on FPGA Design and VHDL ...indico.ictp.it/event/a08187/session/73/contribution/45/material/0/0.pdf · Advanced Training Course on FPGA Design and

RVI, Trieste 2009 Andres Cicuttin, ICTP, Italy

Conclusions (4)

• Open Source & Open Core Approach

Is Affordable and Sustainable

Stimulates Scientific Research and Production of Intellectual Properties

Encourages South-South and Industry-Academy cooperation

Creates new business opportunities based on free software and double licensing schemes