+ All Categories
Home > Technology > Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Date post: 10-May-2015
Category:
Upload: prismtech
View: 882 times
Download: 2 times
Share this document with a friend
Description:
Various approaches have been developed for integrating FPGA and GPP application components in a Software Communications Architecture (SCA) radio. Most of these have been less than successful, primarily due to overhead, latency and/or maintainability issues. Spectra IP Core is a second-generation solution to FPGA-GPP component integration that provides a low-latency, standards-based CORBA protocol with excellent performance metrics and the robustness of a proven, deployed solution. Building on PrismTech’s ICO v1, Spectra IP Core is a second-generation COTS product. This webcast will introduce the Spectra IP Core architecture, its main functions and its performance benchmarks. Although FPGA ‘middleware’ is a new concept for many FPGA developers, the capabilities provided by Spectra IP Core not only provide valuable integration ‘hooks’, but also help support a highly-efficient, proven radio component that simplifies the integration of high-level software development with digital design and accelerates the development of SCA-compliant FPGA components for SCA radios. These slides will be of great interest and value to project managers, systems engineers and architects as well as software and digital engineers involved in designing, building and testing SCA-compliant SDRs.
Popular Tags:
32
Copyright PrismTech 2009 Proprietary information subject to non- disclosure 1 Copyright PrismTech 2008 Proprietary information subject to non- disclosure 1 Copyright PrismTech 2008 Proprietary information subject to non- disclosure 1 Spectra IP Core ORB Live Webcast A High-Performance, Low-latency, Common Data Protocol solution for FPGA- GPP or FPGA-DSP Component Integration February 17, 2011 – Andrew Foster, Spectra Product Manager Copyright PrismTech 2011
Transcript
Page 1: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Copyright PrismTech 2009 Proprietary information subject to non-disclosure

1

Copyright PrismTech 2008 Proprietary information subject to non-disclosure

1

Copyright PrismTech 2008 Proprietary information subject to non-disclosure

1

Spectra IP Core ORB Live WebcastA High-Performance, Low-latency, Common Data Protocol solution for FPGA-GPP or FPGA-DSP Component Integration

February 17, 2011 – Andrew Foster, Spectra Product Manager

Copyright PrismTech 2011

Page 2: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Agenda

1. Objectives

2. SCA device model and MHAL

3. CORBA Everywhere

4. Spectra IP Core1. Architecture

2. IDL to VHDL mapping

3. Design flow & example

5. ICO v2 Key Features

6. ICO v2 Availability

7. ICO v2 Roadmap

8. ICO v2 Performance and footprint

9. Case study

10. Summary

2

Page 3: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

FPGAGPPSCA

WaveformComponent

(B)

SCAWaveform

Component(A)

Pluggable Transport

ORB

Objectives

‣ To seamlessly integrate waveform logic running on the FPGA… while still maintaining SCA compatibility

SCAWaveform

Component(C)

3

Page 4: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

SCA Processor Coverage

“..waveforms shall use the MHAL Communications Service for all data and control flowing between software components residing in different Computational Elements where at least one CE does not support CORBA…”

Reference: Joint Tactical Radio System (JTRS) Standard Modem Hardware Abstraction Layer Application Program Interface (API) Version: 2.11.1, 02 May 2007

PrismTech interpretation….CORBA Everywhere would be optimal, if this were available……

This is about to change – next revision the “SCA Next” will formally adopt a CORBA profile for DSPs and work ongoing for a lightweight CORBA profile for FPGAs

4

Page 5: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Current SCA Device Model

RTOS

FPGA GPP & DSP Processors

POSIXMHAL MHAL

Waveform

Core FrameworkCORBA

MHAL

Transport

Transport

DSP GPP

MHAL approach provides a degree of portability, however, the format and content of messages sent MHAL approach provides a degree of portability, however, the format and content of messages sent to the MHAL components is not standardised and must be written by each waveform developerto the MHAL components is not standardised and must be written by each waveform developer

5

Page 6: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

SCA/FPGA Connectivity – MHAL

‣ MHAL has been adopted and standardized by the JTRS program to move data to and from modem hardware

‣ MHAL interfaces are used for command, control and data messages‣ Offers an alternative to CORBA when dealing with processor and

bus technologies with no off the shelf CORBA support

‣ Issues:‣ Interface between components is defined as a simple

stream

‣ The “on the wire” definition of the protocol is left to each developer

‣ Interface semantics are captured in the protocol messages that travel over the stream

‣ In order to isolate an assembly waveform component from the MHAL message oriented interface an “adaptor” or proxy” is often used

Payload

Length

Logical DestinationIU

Standard MHAL Message

Structure

6

Page 7: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

1st Generation SCA/FPGA Connectivity – MHAL

‣ Attempts to implement MHAL have resulted in added complexity for the radio developer and increased overall system latency

‣ Using MHAL/proxy/adaptor approach requires a double call hop for both outgoing and return messages – 4 calls instead of optimal two

FPGAGPP

Pluggable Transport

ORB

SCAWaveform

Component(B)

SCAWaveform

Component(A)

Proxy SCAWaveform

Component(C)

MH

AL

Proprietary

Transport

Proprietary

Transport

MH

AL

Waveform Logic

Client outgoing CORBA to proxy call 1 Outgoing Proxy MHAL to FPGA call 2

FPGA MHAL return call 3Proxy to Client return call 4

7

Page 8: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Other Attempts

‣ Other attempts to implement this have only moved the problem internal to the FPGA. The result is still non-SCA compliant components in the FPGA and a likely increase in added transport overhead

‣ Still requires a double call hop for both outgoing and return messages – 4 calls instead of optimal two

GPPSCA

WaveformComponen

(B)t

SCAWaveform

Component(A)

Pluggable Transport

ORB

FPGA

Pluggable TransportGIOP

ORB

Embedded Processor

Proxy SCAWaveform

Component(C)

MH

AL

Proprietary

Transport

Proprietary

Transport

MH

AL

Waveform Logic

Client outgoing CORBA to proxy call 1 Outgoing Proxy MHAL to FPGA call 2

FPGA MHAL to Proxy return call 3Proxy to Client return CORBA call 4

8

Page 9: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

What if…

FPGAGPP

SCAWaveform

Component

SCAWaveform

Component

Pluggable Transport

SCAWaveform

Component

Pluggable Transport GIOP

ORB

‣ Using an ORB, SCA compliance is maintained and overhead is reduced

‣ Now only requires single direct call for both outgoing and return messages – 2 calls instead of previous 4

ORB

Outgoing Client to FPGA CORBA call 1

FPGA to client CORBA return call 2

9

Page 10: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Proposed Problem Solution

StandardizedStandardized CORBA interfaces across signal processing chainCORBA interfaces across signal processing chain

RTOS

FPGA GPP & DSP Processors

POSIX

Waveform

Core Framework

CORBA

HAL

DSP GPP

GIOP Message Bus

10

Page 11: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

2nd Generation SCA/FPGA Connectivity – CORBA Everywhere

By leveraging CORBA a By leveraging CORBA a standards-based,standards-based, high-performance, low-footprint, fully-interoperable high-performance, low-footprint, fully-interoperable COTS middleware solution that can be deployed across multiple processor types, including COTS middleware solution that can be deployed across multiple processor types, including GPP, DSP, & FPGA environmentsGPP, DSP, & FPGA environments

Spectra e*ORBC & C++

Spectra e*ORBC

Spectra ICOVHDL

GIOP EverywhereGIOP Everywhere

Extensible Transport FrameworkExtensible Transport Framework

11

Waveform Component

Waveform Component

Waveform Component

GPP DSP FPGA

Spectra SCACF

Page 12: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Benefits of CORBA Everywhere

Once all SDR processors (GPP, DSP and FPGA) are CORBA enabled, a number of potential benefits can be realized:

Reduce overall system complexity and improve time-to-market for new waveform applications and also legacy waveform porting

Support waveform component location transparency making it much easier to re-locate waveform components across processors

Eliminate the need for proprietary communication protocols reducing complexity and improving waveform portability

Remove the need to use adaptor patterns in combination MHAL, therefore reducing communication latency and improving throughput

12

Page 13: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Spectra IP Core ORB (ICO)

Page 14: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

ICO Architecture 14

Transport

FIFORx

Bridge

Arbitration

Servant Servant Client

Arbitration

TxBridge

FPGA

ICO

GPIO

GIOPMessage

GIOPMessage

External Interface

Meta DataROM

Meta DataROM

Page 15: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

IDL to VHDL Mapping

Direct mapping of CORBA primitive types to VHDL

The mapping requires that a bus-based architecture is used

The bus must support the concept of data and addressing

The mapping defines a protocol called Bus Interoperability Protocol (BIOP)

GIOP can be converted to BIOP and vice-versa

15

Page 16: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Bus Interoperability Protocol - BIOP

Bus-based communication mechanism

The protocol is designed to support requests and replies between hardware entities

Data exchanged in the form of messages

Three message types – Request, One-way Request and Reply

Messages consist of a header, and optionally message data

Request/reply data is placed on the bus with an address offset from the target entity's base address

The offset is a constant generated according to the IDL-VHDL language mapping

Operation parameter and reply data passed in GIOP CDR encoding order

16

Page 17: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Design Flow 17

CREATE IDL FILE

COMPILE IDL

FILL IN “USER” LOGIC

ADD TRANSPORT

TEST

DEPLOY

Page 18: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Example IDL

module AnalogDigital{ interface DAC { void send_data(in unsigned longval); };  interface ADC { long read_data (); };};

18

Page 19: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Example servant –DAC Interface

case AddressOffset(adr_i(AddressBusLow'range)) is when ADC_read_data_request => v.request_id := unsigned(dat_i);  when ADC_read_data_replyaddr => v.reply_addr := dat_i(AddressBusHigh'range);  when ADC_read_data_request_end => case r.reply is when normal => v.state := ADC_read_data_reply_state; when others => v.state := request_state; end case;  when DAC_send_data_request => v.request_id := unsigned(dat_i);  when DAC_send_data_replyaddr => v.reply_addr := dat_i(AddressBusHigh'range);  when DAC_send_data_val => -- Modify the following line as needed.

null; when DAC_send_data_request_end => case r.reply is when normal => v.state := DAC_send_data_reply_state; when others => v.state := request_state; end case;  when others => null; end case; 

19

Page 20: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Example servant – ADC Interface

when ADC_read_data_return_state => v.address := mkaddr(r.reply_addr, ADC_read_data_return); if bus_grant = '1' then v.state := ADC_read_data_reply_end_state; -- Modify the following line as needed. v.data := (others => '0'); v.we := '1'; else null; end if;

end process;

20

Page 21: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

ICO v2 Key Features

ICO v2.0 provides support for the following key features:

Supports GIOP version 1.0 protocol

Processes incoming CORBA requests One way operations

Two way operations

Support for CORBA clients and serversClients can be internal to the FPGA written in VHDL or external to FPGA(e.g., on a GPP or DSP) implemented by a conventional software application

Servants implemented on FPGA in VHDL

No arbitrary restriction on the number of clients and servers that can be supported on the FPGA

21

Page 22: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

ICO v2 Key Features

IDL compiler supportSupports IDL to VHDL language mapping and will auto generate:

Servants

Clients

Combined servant/clients

Top level entityInput and output buses

Arbitration

Supports main IDL keywordsImport, Module, Interface, Forward, Constant, Attribute

Supports subset IDL data types required by SDR applicationsSimple data types - Char, Octet, Short, Unsigned Short, Long, Unsigned Long, String

Complex data types- Struct, Sequence

Supports CORBA directional parameter types- Void, Return, In, Out, InOut

CORBA exceptions support - User exceptions - System exceptions

22

Page 23: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

ICO v2 Key Features

Pluggable and open transport interface allows user-defined custom transports to be plugged into ICO

Written in pure VHDL and completely portable across FPGA devices

23

Page 24: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Availability

FPGA Model Board Tool Chain

Altera Stratix II Altera Eval Modelsim ALTERA 6.5b + Quartus II v9.1

Altera Stratix III Altera Eval Modelsim ALTERA 6.5b + Quartus II v9.1

Altera Stratix IV Altera Eval Modelsim ALTERA 6.5b + Quartus II v9.1

Altera Cyclone II Altera Eval Modelsim ALTERA 6.5b + Quartus II v9.1

Altera Cycone III Altera Eval Modelsim ALTERA 6.5b + Quartus II v9.1

Xilinx Spartan 6 Monsoon Modelsim Xilinx Edition III + ISE 12

Xilinx Virtex Pro IV Pro 4600 Modelsim Xilinx Edition III + ISE 12

24

= available now

= planned

The following table shows current and planned availability of ICO v2

Additional device support may be added based on customer demand

Page 25: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

ICO v2 Roadmap

ICO v2.0 official GA targeted for end of February 2011

ICO v2.1 will add support for the additional features and capabilities:Full Two way outgoing CORBA requests (e.g., to support client requests from FPGA-GPP)

Additional IDL data types:Object (to support dynamic endpoints and passing of object references)

Arrays

64-bit values (long long)

Any (of basic types)Primitive values

Strings

Sequence of primitive values

Unions

ICO v2.1 targeted for release in spring 2011

Spectra CX v3.3 will support graphical modelling and code generation for DSP and FPGA components – target release date early summer 2011

25

Page 26: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Spectra SDR/SCA Tools and Middleware

Spectra e*ORBSpectra e*ORB

Spectra Core FrameworkSpectra Core Framework

SCA InfrastructureSCA InfrastructureSCA InfrastructureSCA Infrastructure

Radio Application (waveform)

Radio Application (waveform)

Host Development Tools Target Radio Platform

RTOS RTOS

GPP/DSPGPP/DSP

BSPBSPASPASP

Spectra ICOSpectra ICO

FPGAFPGA

Spectra CX:Model-BasedDevelopment Tool

Spectra CX:Model-BasedDevelopment Tool

Eclipse WorkbenchEclipse Workbench

UML 2UML 2

Windows / Linux / UnixWindows / Linux / Unix

End-to-End: Model, Generate, Validate, Deploy

Generate

26

Page 27: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

ICO v2 Performance 27

Request Type Octet Sequence Size

ICO v1Stratix II Time (µS)

ICO v2 Stratix II Time (µS)

ICO v1 Stratix III Time (µS)

ICO v2 Stratix III Time (µS)

ICO v1 Stratix IV Time (µS)

ICO v2 Stratix IV Time (µS)

ICO v1 Cyclone III Time (µS)

ICO v2 Cyclone III Time (µS)

IN 512 4.1154 1.2993 2.6714 0.7503 3.4656 0.915 7.1478 1.8666IN 1024 6.7488 2.2081 4.3808 1.2751 5.6832 1.555 11.7216 3.1722IN 2048 12.8706 4.0257 8.3546 2.3247 10.8384 2.835 22.3542 5.7834IN 4096 24.5442 7.6609 15.9322 4.4239 20.6688 5.395 42.6294 11.0058IN 8192 47.8914 14.9313 31.0874 8.6223 40.3296 10.515 83.1798 21.4506IN 16384 94.5858 29.4721 61.3978 17.0191 79.6512 20.755 164.2806 42.3402IN 32768 187.9746 58.5537 122.0186 33.8127 158.2944 41.235 326.4822 84.1194

Page 28: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

ICO v2 Footprint 28

ICO v1Stratix II

ICO v2 Stratix II

ICO v1 Stratix III

ICO v2 Stratix III

ICO v1 Stratix IV

ICO v2 Stratix IV

Logic UtilizationCombinational ALUTs 2422 1812 2609 1812 2393 1812

Dedicated logic registers 2176 1531 2289 1531 2201 1531Total Registers 2176 1531 2289 1531 2201 1531Total pins 22 137 22 137 22 137Total virtual pins 0 0 0 0 0 0DSP block 9-bit elements 0 0 0 0 0 0Total PLLs 0 0 0 0 0 0Total DLLs 0 0 0 0 0 0

ICO v1Cyclone III

ICO v2 Cyclone III  

Total Logic Elements 4925 3429  Total Combinational Functions 3576 2639  Dedicated logic registers 2457 1532  Total Registers 2457 1532  Total pins 22 137  Total virtual pins 0 0  DSP block 9-bit elements 0 0  Embedded Multiplier 9-bit elements 0 0

 

interface Performance{ typedef sequence<octet> OctetSeq;

void setLength (in long seqLength); void testOctetSeqIn (in OctetSeq inSeq); void testOctetSeqOut (out OctetSeq outSeq); void testOctetSeqInout (inout OctetSeq inoutSeq); OctetSeq testOctetSeqRet ();

void shutdown ();};

Page 29: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Case Study – Euler Project

Euler - European Software Defined Radio for Wireless In Joint Security Operations

Major European project that will focus on SDR technologies for emergency and security operations

PrismTech are developing a base station to support the Euler Wimax derived waveform

CORBA everywhere is being deployed across signal processing chain on base station – ICO is providing a CORBA interface between the modem and XCVR hardware

29

IP D

EV

ICE

GPP OE

SCA PHY Component

DSP OE

DIGITAL BASE-BAND

GPP DSP

XCVR

FPGA

SCA MAC Component

e*ORB C++

e*ORB C

ICO

=CORBA Communications

FRONT-END

Page 30: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

30Summary: ICO Benefits

Supports direct access to SCA components running on H/W

Supports vision of SCA architectural consistency across all aspects of the SDR

Eliminates the need for complex hardware abstraction layer protocols improving application portability

CORBA message processing is executed directly in H/W100s x faster than in S/W

Eliminates the need for S/W proxies/adapters on GPPsReduces overhead, latency & Increases throughput

ICO v2 GA availability before the end of February 2011 – offers greatly improved performance and flexibility over v1 product

Page 31: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

Thank you for Participating 31

For additional information on PrismTech’s Spectra products and services:

E-mail:[email protected]

Website:www.prismtech.com/spectra

Today’s Presenter:

Andrew Foster, Spectra Product Manager

Email: [email protected]

Spectra IP Core ORB is available for evaluation right now, please contact your PrismTech account manager for more details

Page 32: Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP component integration

32

Thank You


Recommended