OpenCores

Details

Name: rio
Created: Jan 8, 2013
Updated: Jun 3, 2015
SVN Updated: Jan 25, 2015
SVN: Browse
Latest version: download (might take a bit to start...)
Statistics: View
Bugs: 6 reported / 3 solved
Star3you like it: star it!

Other project properties

Category:Communication controller
Language:VHDL
Development status:Beta
Additional info:
WishBone compliant: No
WishBone version: n/a
License: LGPL

Overview

RapidIO is a standard protocol defined by the RapidIO Trade Association used to build high-speed embedded networks. It is an open standard and can be downloaded on www.rapidio.org.

This project was founded 2013 when Bombardier decided to release some of its RapidIO IP-blocks to the general public. It contains basic IP-block to build switches, endpoints and switches with embedded endpoints.

The main development has been moved to https://github.com/magro732/OpenRIO to be able to use GIT instead of SVN.

VHDL IPs

RioSwitch.vhd - Contains a RapidIO switch IP.
It has been synthesized to Spartan-6.

RioWbBridge.vhd - Contains a RapidIO to Wishbone bridge IP.
It has been synthesized to Spartan-6 and Virtex-6.

RioPacketBuffer.vhd - Contains a RapidIO packet queue IP with support for a sliding window and one priority level.
It has been synthesized to Spartan-6 and Virtex-6.

RioSerial.vhd - Contains a basic RapidIO LP-serial protocol IP. The LP-serial protocol parts, which are independent of the physical transmission channel, have been isolated from the PCS (Physical Coding Sublayer) to make it easy to tailor to different architectures. High-speed transceivers are usually device specific. This also makes it possible to write a custom made PCS tailored to for example a proprietary transmission channel.
It has been synthesized to Spartan-6 and Virtex-6.

srio_pcs_struct.vhd - Contains a RapidIO PCS IP written to use a Xilinx GTX tranceiver.
It has been synthesized to Virtex-6.

RioPcsUart.vhd - Contains a RapidIO PCS IP written to use a standard 8-bit data, no parity, one stop-bit UART. It is similar to PPP using byte-stuffed data to send control characters. It can be used to interface a standard microcontroller with a UART using the software stack below.
It has been synthesized to Spartan-6.

C software

riostack.c - A software implementation of the transmission independent LP-serial protocol. It can be compiled to either respond to maintenance packets and act as an endpoint or in transparent mode to make it forward all received packets to higher levels of software. The transparent mode can be used to simulate any RapidIO network topology and endpoints in software.
Has been compiled to both ARM and Freescale devices.

riocodecuart.c - A software implementation matched to the VHDL IP RioPcsUart.vhd to be used in a microcontroller. It serves as a template to write a custom codec that suites the particular processor architecture.
Has been compiled to both ARM and Freescale devices.