FPGAs를 위한 고성능 메시지 프로세싱
Spectra IP 핵심 ORB (ICO)는 CORBA의 GIOP 프로토콜의 하드웨어 구현 제품이며 고성능 임비디드 메시징 솔루션의 프리즘텍 스펙트라 CDB 범위의 일부이다. ICO는 게이트 레벨에서 GIOP 프로토콜의 구현을 제공하는데 고도로 최적화된 ORB 기능의 서브셋을 서포트함으로써 프로세서 아키텍쳐에걸쳐 하나의 원할한 산업표준 데이터 프로토콜을 제공하는 것이 가능하다. JTRS 소프트웨어 통신 아키텍쳐(SCA v4.0)에 기반한 고성능 SDR 애플리케이션을 서포트하기위해 구체적으로 디자인되었기 때문에 , ICO는 어떠한 SCA 요구사항 없이도 임비디드 FPGA 애플리케이션에서 범용 목적 통합 솔루션으로 쉽게 사용 될수 있다.
FPGA 통합은 결코 더 쉽게 된적이 없다
ICO는 FPGAs 와 ASICS를 위한 GIOP 메시지 처리 엔진으로서 사용되는데 어떤 프로토콜이 다중프로세서 아키텍쳐(GPP, DSP 그리고 FPGA)에 걸쳐 실행될수 있도록 한다. 이것은 커스텀 프로토콜 및 독자적인 인터페이스를 지원 할 필요성을 감소시킨다. FPGA 환경에서 이 같은 비표준 타입의 인터페이스는 하드웨어 추상 레이어(HALs)로서 종종 언급된다. HAL 접근으로 발생되는 주요 문제는 그들이 구현하고 유지하기가 힘들다는 것이고 하드웨어 개발자들에게 각각 독자의 메시징 프로토콜을 낮은 단계 세부사항까지도 이해하기를 요구한다는 것이다. 그들은 또한 기본 하드웨어변경이 애플리케이션 이식성을 줄이고 새로운 애플리케이션 출시 시간과 비용을 증가시킨다면 다시 작성 되어져야 할 필요성이 있다.
ICO는 더욱더 소프트웨어 ORB 기능을 제공하기위해 범용목적 처리 코어를 FPGA에 내장시킬 필요성을 제거한다. 비록 실용적인 접근이라 하더래도 이러한 접근은 상당한 게이트 카운트와 메모리 사용을 요구하는 경향이 있고 일반적으로 이들 프로세싱 코어들은 SDR 애플리케이션의 지속적으로 증가하는 성능 요구사항들을 처리하기에는 충분히 빠를 수 없다는 것이다.
ICO는 임의의 FPGA나 ASIC 디바이스상에서 합성될수 있는 휴대용 VHDL에서 작성되어 왔다.
ICO 개발 환경은 다음과 같이 구성된다:
- ICO IP 코어 메시지 프로세싱 엔진
- IDL to VHDL Compiler
- A number of board specific example transports
- 유저 다큐멘테이션을 서포팅
ICO는 모듈식으로 구성할수 있도록 설계되었다. 아래 그림 1은 ICO 아키텍쳐의 그림을 제공한다. 노란색으로 보여주는 컴포넌트는 ICO 코어의 일부이고 불루색의 컴포넌트는 각각 특정 설계를 위해 IDL to VHDL 컴파일러에 의해서 생성된다.
FPGA 리소스의 가장 효율적인 사용
ICO 설계는 각 인터페이스를 위한 메시지 처리 요구사항들을 서포트하기위해 요구되는 최소한 양의 로직을 소비한다. ICO IDL 컴파일러는 가능한 가장 효율적인 방법으로 각 메시지를 처리하기위해 ICO 코어에 의해서 사용되어지는 특정 설계를 위한 메타 데이터를 생성한다. 전형적으로 단순 인터페이스를 서포트할수 있는 단일 인스턴스의 서번트를 구현하기 위해서는 중간 크기의 FPGA(Altera Cyclone III)상에서 약 3%인 3000로직 엘리먼트의 가능한 로직을 요구한다. 로직의 대다수는 ICO IP 코어 처리 엔진에의해 사용되어지는데 추가적 서번트 인스턴스는 오직 별도 로직에 약 0.2%에 이르는 작은 양을 추가시킨다. 메모리 소비는 메시지 유효 탑재량의 사이즈에 달려있다.
Figure 1 - ICO Architecture
초고속 메시지 프로세싱
ICO는 CORBA GIOP 메시지를 전통적인 소프트웨어 ORB로 성취할 수 있는 것보다 수백배 더 빠른 하드웨어 스피드로 처리한다. 예를들면 양방향 동기 CORBA 호출을 지원하고 IN 패러미터(100MHz 클락으로 Altera Cyclone III FPGA 상에서 구현된)로서 유효 탑재량 1024바이트를 패스하는 단일 인터페이스를 위해서 전송으로부터 ICO에 의해 읽혀지는 메시지의 최초의 바이트에서부터 ICO에의해 전송으로 쓰여지는 응답 메시지의 마지막 바이트에 이르기까지 메시지를 처리하는데 거의 3µS가 걸린다. 이것은 데이터 쓰루풋이 거의 350Mbytes/sec를 넘는다는 것을 나타내준다. 보다 높은 클락스피드에서 데이터 쓰루풋 율은 한층 더 증가 될수 있다.
ICO Key Features
- Fully compliant with the SCA v4.0 specifications' Ultra-Lightweight CORBA Profile
- Supports GIOP version 1.0 protocol
- Processes incoming CORBA requests
- One way operations
- Two way operations
- Support for CORBA clients and servers
- Servants implemented on FPGA in VHDL
- Clients 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
- No arbitrary restriction on the number of clients and servers that can be supported on the FPGA
- IDL compiler support
- Supports IDL to VHDL language mapping and will auto generate VHDL equivalent of CORBA stubs and skeletons allowing ICO to be easily connected to servants implementing waveform logic
- Based on CORBA 3 grammar, but only supporting a subset of data types and constructs
- Simple data types - Char, Octet, Boolean, Short, Unsigned Short, Long, Unsigned Long, Long Long, Unsigned Long Long, String
- Any type (of simple data types)
- Object type
- Enumerated Types
- Constructed data types
- Struct
- Sequence
- Array
- CORBA exceptions support
- User exceptions
- System exceptions
- Based on CORBA 3 grammar, but only supporting a subset of data types and constructs
- Supports IDL to VHDL language mapping and will auto generate VHDL equivalent of CORBA stubs and skeletons allowing ICO to be easily connected to servants implementing waveform logic
- Pluggable and open transport interface allows user-defined custom transports to be plugged into ICO
- Written in pure VHDL and portable across FPGA devices
FPGA Device Coverage
Spectra ICO was written in 100% VHDL and is designed to be portable so that a wide range of FPGAs and ASICS can be supported. ICO currently supports the leading FPGA devices from Xilinx and Altera. For the most up to date list of supported FPGAs please Contact PrismTech.
SCA Everywhere
Spectra CDB provides the only SCA-compliant CORBA solution that is available across not only GPP, but also DSP and FPGA processing environments. This complete processor coverage has been made possible through the development of specialized CORBA middleware technology designed to support DSPs and FPGAs with Spectra ICO. PrismTech has pioneered the use of lightweight ORB technology for DSPs and advanced hardware ORB technology for FPGAs. The Spectra approach helps decouple SDR applications from the underlying hardware, making hardware upgrades much more straightforward as well as maximizing waveform application portability.
Complementary SDR Products
Spectra ICO is part of the most complete family of SDR products and technologies designed to support all of your SCA SDR development needs.
Expert Professional Services
PrismTech offers a range of training courses on the SCA, SDR technologies and their implementation using PrismTech’s Spectra SDR products. We also offer professional services conducted by leading industry experts in all skill areas required for FPGA design and SCA radio development. PrismTech is also renowned for the quality and responsiveness of our Support and Maintenance Services that are available on a worldwide 24x7 basis where required.
Summary of Spectra ICO Benefits
- High performance standards based messaging for FPGAs
- Greatly simplifies FPGA application integration
- Helps support FPGA application portability
- High throughput low latency messaging solution
- Helps reduce time to market for new FPGA applications
- Low footprint - efficient use of available FPGA resources
- Available as part of a complete range of complementary SDR products
- Can support a unified messaging protocol across GPP, DSP and FPGA processing elements
- Can support a broad range of FPGA devices from the leading vendors
- No export restrictions - not subject to International Traffic in Arms Regulations (ITAR) or Joint Tactical Radio System (JTRS) export restrictions
Please Contact PrismTech for further information about Spectra ICO.