Integrated Circuit ORB (ICO) White Paper V1.1

Similar documents
EXPERIENCE REPORT ON THE USE OF CORBA AS THE SOLE MIDDLEWARE SOLUTION IN SCA-BASED SDR ENVIRONMENTS

The Software Communications Architecture (SCA) and FPGAs Meeting the challenges of integrating FPGA application components using the SCA

Spectra IP Core Orb Version 2.3. User Guide

OpenSplice DDS Version 3.4. Migration Guide

Section III. Transport and Communication

FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC)

Utilizing the Latest IP Technology for FPGAs to Achieve SDR Architectural Consistency

High Data Rate Fully Flexible SDR Modem

LogiCORE IP Serial RapidIO v5.6

The S6000 Family of Processors

fleximac A MICROSEQUENCER FOR FLEXIBLE PROTOCOL PROCESSING

Vortex Whitepaper. Intelligent Data Sharing for the Business-Critical Internet of Things. Version 1.1 June 2014 Angelo Corsaro Ph.D.

RFNoC : RF Network on Chip Martin Braun, Jonathon Pendlum GNU Radio Conference 2015

Upper Level Protocols (ULP) Mapping. Common Services. Signaling Protocol. Transmission Protocol (Physical Coding) Physical Interface (PI)

FlexRay The Hardware View

Virtex-5 GTP Aurora v2.8

LogiCORE IP AXI DataMover v3.00a

CORBA for DSP & FPGA synthesizing an SCA machine. Andrew Foster Middleware Product Manager PrismTech Corporation

POS on ONS Ethernet Cards

CHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP

MIPI CSI-2 Receiver Decoder for PolarFire

Applying the Benefits of Network on a Chip Architecture to FPGA System Design

System-On-Chip Design with the Leon CPU The SOCKS Hardware/Software Environment

Universal Serial Bus Host Interface on an FPGA

POS on ONS Ethernet Cards

Experience with the NetFPGA Program

H.264 AVC 4k Decoder V.1.0, 2014

Implementing Multicast Using DMA in a PCIe Switch

Post processing techniques to accelerate assertion development Ajay Sharma

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

A Performance Modeling and Simulation Approach to Software Defined Radio

LogiCORE IP Serial RapidIO Gen2 v1.2

Ethernet Switch. WAN Gateway. Figure 1: Switched LAN Example

Xylon Memory Bus (XMB)

FPGA: What? Why? Marco D. Santambrogio

Achieving UFS Host Throughput For System Performance

DESIGNING MULTI-FPGA PROTOTYPES THAT ACT LIKE ASICS

DG0633 Demo Guide IGLOO2 FPGA CoreTSE MAC 1000 Base-T Loopback Demo - Libero SoC v11.7 SP2

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design

Final Presentation. Network on Chip (NoC) for Many-Core System on Chip in Space Applications. December 13, 2017

Node Monitor User Guide

Single Channel HDLC Core V1.3. LogiCORE Facts. Features. General Description. Applications

10 Gigabit XGXS/XAUI PCS Core. 1 Introduction. Product Brief Version April 2005

Chapter 9: Integration of Full ASIP and its FPGA Implementation

Module 17: "Interconnection Networks" Lecture 37: "Introduction to Routers" Interconnection Networks. Fundamentals. Latency and bandwidth

Parameterized control layer of FPGA based cavity controller and simulator for TESLA Test Facility

FPGAs: FAST TRACK TO DSP

1GbEth. Access Switch. 1GbEth. Workgroup Switch. 10MbEth. Figure 1: Enterprise LAN Topology Example

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

ET4254 Communications and Networking 1

Digital Systems Design. System on a Programmable Chip

FPGA ADVANTAGE FOR HDL DESIGN

FPGA Implementation and Validation of the Asynchronous Array of simple Processors

32 Channel HDLC Core V1.2. Applications. LogiCORE Facts. Features. General Description. X.25 Frame Relay B-channel and D-channel

What is Xilinx Design Language?

Employing Multi-FPGA Debug Techniques

design cycle involving simulation, synthesis

Input-Output Organization

1GbEth. Access Switch. Workgroup Switch. 10MbEth. Figure 1: Enterprise LAN Topology Example

Error Correction Code (ALTECC_ENCODER and ALTECC_DECODER) Megafunctions User Guide

What do we expect from Wireless in the Factory?

Simplifying FPGA Design for SDR with a Network on Chip Architecture

A. Foster S. Aslam-Mir

RTL Coding General Concepts

Internet Protocols (chapter 18)

A Stream-based Reconfigurable Router Prototype

Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Fibre Channel Arbitrated Loop v2.3

ALTDQ_DQS2 Megafunction User Guide

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Switching & ARP Week 3

Processor Architectures At A Glance: M.I.T. Raw vs. UC Davis AsAP

RUN-TIME RECONFIGURABLE IMPLEMENTATION OF DSP ALGORITHMS USING DISTRIBUTED ARITHMETIC. Zoltan Baruch

Link Layer and Ethernet

2. System Interconnect Fabric for Memory-Mapped Interfaces

ZBT SRAM Controller Reference Design

Gate Estimate. Practical (60% util)* (1000's) Max (100% util)* (1000's)

Interlaken Look-Aside Protocol Definition

Link Layer and Ethernet

Developing and Integrating FPGA Co-processors with the Tic6x Family of DSP Processors

Joint Tactical Networking Center Standard Modem Hardware Abstraction Layer Application Program Interface

UDP1G-IP Introduction (Xilinx( Agenda

Internetwork Protocols

Intel Stratix 10 Low Latency 40G Ethernet Design Example User Guide

DSP Co-Processing in FPGAs: Embedding High-Performance, Low-Cost DSP Functions

White Paper AHB to Avalon & Avalon to AHB Bridges

Automatic compilation framework for Bloom filter based intrusion detection

Unit 2: High-Level Synthesis

Accessing DDR Memory in your FPGA Design

Design of Embedded Hardware and Firmware

10GBase-R PCS/PMA Controller Core

A Brief Introduction to Verilog Hardware Definition Language (HDL)

srio SERIAL BUFFER FLOW-CONTROL DEVICE

The Lekha 3GPP LTE FEC IP Core meets 3GPP LTE specification 3GPP TS V Release 10[1].

Avalon Streaming Interface Specification

Using the Hardware Interface Layer V2.0 in your FPGA Design

Design and Verification of FPGA Applications

Qsys and IP Core Integration

Transcription:

Integrated Circuit (ICO) White Paper V1.1 F. Humcke and D. Paniscotti PrismTech Corporation

SYNOPSIS This white paper presents a detailed overview of PrismTech s Integrated Circuit (ICO) and describes the product features and design environment. The ICO supports a drop-in Software Communications Architecture () compatible interface between distributed software objects running on processors and waveform objects residing in silicon. The connection between Software client and Hardware servant will now be seamless, fast and use fewer system resources. OVERVIEW Using ICO, one eliminates the need to develop custom proxies on General Purpose Processors (GPPs) and Digital Signal Processors (DSPs) that simply serve to establish communication to waveform objects residing within FPGAs (Field Programmable Gate Arrays). These proxies (sometimes referred to as Hardware Abstraction Layers HALs) are used when designing to Software Defined Radio (SDR) architectures such as the and are meant to increase portability and re-use, but in practice, they tend to increase latency, reduce throughput, and lower re-use. HAL Approach GPP Proprietary Transport Custom Device Driver HAL Proxies Decoding Logic Proprietary Transport FPGA Non- Proprietary and Confidential Slide Proprietary and Confidential Slide 4 Copyright PrismTech 2006 Page 2

ICO further eliminates the need to embed general purpose processing cores into FPGAs in order to offer software capability. Although a viable approach, this approach tends to require significant gate count and memory utilization and generally these processing cores cannot be clocked fast enough to deal with the ever-increasing performance requirements of SDR applications. Embedded GPP GPP GIOP Embedded Processor Proprietary Transport Custom Device Driver HAL Proxies Decoding Logic Proprietary Transport FPGA Non- Proprietary and Confidential Slide Proprietary and Confidential Slide 8 Copyright PrismTech 2006 Page 3

The embedded has been written in portable VHDL that can be synthesized onto any FPGA or ASIC platform. The ICO design environment consists of: The ICO engine, IDL to VHDL code generator, Spectra Modeling Tool, The waveform component. Using ICO GPP FPGA GIOP ICO Proprietary and Confidential Slide Proprietary and Confidential Slide 9 Copyright PrismTech 2006 The ICO engine is responsible for implementing the transfer syntax used in CA messages. The engine unmarshals the incoming GIOP octet stream and extracts header and data fields while discarding padding. Endian conversion is performed on all incoming data based on information in the GIOP message header. In the incoming direction, the engine performs operation name demultiplexing to determine which object the data in the GIOP message is being transferred to. Message data is then extracted for transfer to the appropriate logic. Page 4

If a message indicates that a response is expected, the ICO engine generates a reply message. The engine will perform a read operation to an object, if necessary, to obtain data for the reply. It then populates the header field and aligns the data. When a reply message has been built, the ICO engine transfers the data to the outside world via a FIFO-like interface. The IDL to VHDL code generator is part of PrismTech s IDL compiler family. This software tool is responsible for generating configuration parameters needed by the ICO engine to do operation name demultiplexing and data routing to the appropriate objects. The code generator also adds parameters to VHDL package files that configure the physical aspects of the ICO interface and internal storage elements. Parts of the VHDL code for the core are also generated at compile time by the code generator. In an -compliant environment, ICO communicates with the hardware developer s native waveform logic via an waveform component. The VHDL for this component is generated by PrismTech s Spectra Modeling Tool. The PrismTech tools then stitch together the ICO and the waveform component to present the developer with a single core. Spectra Modeling Tool generates waveform component in VHDL IDL Interface IDL Definitions Interface IDL For Definitions Interface For Definitions For s s s VHDL Source Code Proprietary and Confidential Slide Proprietary and Confidential Slide 14 Copyright PrismTech 2006 The hardware developer treats the ICO as any other IP interface core. The core can be instantiated in the HDL capture of the FPGA design between the Page 5

native waveform logic and the system bus. The system side of the core appears as a typical FIFO interface. The native side of the core has a simple and open interface to communicate with the waveform logic. Software developers treat ICO components as they would any other CA object. This design approach makes communication between the S/W and H/W objects seamless. Using ICO, radio developers can now host radio elements in an FPGA and still have them be addressable and callable from an -compliant software core framework as though it was an object and not an FPGA. Using ICO in a Single Chip Solution OFF-Board GPP Off-Board Interface GIOP Embedded Processor Running components FPGA GIOP ICO Proprietary and Confidential Slide 10 Copyright PrismTech 2006 DETAILED DESCRIPTION The ICO core resides between the waveform logic and the local transport and takes the place of the address decode block found in typical bus interface designs. The basic design process of the FGPA is unchanged as it relates to waveform and system bus performance considerations. In typical designs, the local processor communicates with the waveform objects inside the FPGA via the processor bus or some other local transport such as Ethernet. Each accessible register and memory within the FPGA is assigned a location in the processor s address map. Data bound for the FPGA is partitioned into packets with the address of the destination and may Page 6

be further encapsulated in the format of the local transport. Logic on the receive side strips away the transport encapsulation and passes the data packets to the local address decode logic. The address is decoded and the data is sent to its location via a data bus along with the required read or write strobe. In the case of ICO, each accessible register and memory is given an operation name and its I/O properties are described in Interface Description language (IDL). Registers can be accessed alone or in groups depending on how they are described in the IDL. If it is desired to write a register and read it back at a different time, the register would require two operation names; one for write and one for read. If it is desirable to write a register and read the results immediately it could be described as a single operation with an inout parameter. PrismTech provides tools that can aide hardware engineers in writing the IDL descriptions. Once the registers and memories are described in terms of IDL and the compiler has parameterized ICO, a software running on the local processor can access the registers via CA GIOP messages. The encapsulates the data in a GIOP message and passes this to the local transport via the Extensible Transport Framework (ETF). The GIOP message may itself be encapsulated in the format of the local transport. In the case of Ethernet, each ICO might be assigned a unique MAC address in the local system. User designed logic on the receive side strips away the transport encapsulation and routes the GIOP messages to ICO. Depending on the size of the packet, the user may have to provide an intermediate storage such as a FIFO because ICO only has a small buffer memory on the system input side. The ICO interface on the system input side is designed to connect to a FIFO and contains signals such as data_available, data_read, data_valid and data_in. ICO processes the GIOP message as described in the overview section above and sends handshake signals to the user waveform logic. In the case of a write, the user receives data and a write strobe. Each operation receives its own unique read and or write strobe depending upon how it was described in the IDL. The IDL to VHDL compiler produces a list of operation names and the strobes assigned to them so that the user can make the appropriate connections in the top level VHDL code. Prismtech tools can automatically make these connections for the user. The write bus is shared by all waveform objects. Reads require that each waveform object have a unique read bus. The read busses will all be brought back to ICO where a wire-or will be done to multiplex them into a single bus. For this reason is it required that the user waveform logic drive its read bus low when not passing data on it. Further, it is probable that one waveform object will contain several operations depending on the user s Page 7

implementation of the design. The user will therefore have to inform the compiler as to how many read busses are required so that ICO can be parameterized correctly. The width of the read and write busses will automatically be set by the compiler to the smallest data width specified in the IDL. All read and write signals are asserted for one clock cycle. ICO asserts the read strobe and waits for an acknowledge back from the user waveform logic to know that the read data is valid. The data is then encapsulated in a GIOP message and stored in a memory internal to ICO. The size of this memory must be configured by the user via a compiler setting so that it can fit the maximum sized return data packet. The system output interface of ICO looks like a FIFO. It contains signals such as data_available, data_valid, fifo_rd and data_out. Data available will not be asserted until an entire GIOP message is ready for transfer. User designed logic can then read the GIOP message from ICO and route it to the local transport for transmission back to the processor. CONCLUSION PrismTech has created a powerful solution for implementing real-time CA in an environment. The ICO is flexible, highly configurable and uses a minimum of FPGA resources. It frees the hardware developer from learning and implementing the complexities of CA protocols and allows concentration on custom waveform design elements. The software engineer is presented with a seamless environment in which to communicate between client and server applications. System developers have a solution that is portable across platforms sharing the same interconnect fabric. The PrismTech ICO represents a significant leap forward in based tools and products. Page 8

CONTACTS PrismTech can be contacted at the following address, phone number, fax and e-mail contact points for information and technical support. Corporate Headquarters European Head Office PrismTech Corporation PrismTech Limited 6 Lincoln Knoll Lane PrismTech House Suite 100 5th Avenue Business Park Burlington, MA Team Valley 01803 Gateshead, NE11 0NG USA UK Tel: +1 781 270 1177 Tel: +44 (0)191 497 9900 Fax: +1 781 238 1700 Fax: +44 (0)191 497 9901 PrismTech Deutschland PrismTech France PrismTech GmbH Parc de la Fontaine de Jouvence Schönhauser Allee 6-7 4, Rue Angiboust 10119 Berlin 91460 Marcoussis Germany France Tel: +49 (0) 30 4403060 Tel: +33 (1) 69 015354 Fax: +49 (0) 30 44030678 Fax: +33 (1) 69 015355 Web: General Enquiries: http://www.prismtech.com info@prismtech.com NOTICES 2006 PrismTech Limited. All rights reserved. This document may be reproduced in whole but not in part. The information contained in this document is subject to change without notice and is made available in good faith without liability on the part of PrismTech Limited or PrismTech Corporation. All trademarks acknowledged. Page 9