rfnoc™:rfnetworkonchip - ettus · microblaze to other rfnoccapable device. usrp hardware driver...

33
RFNoC™: RF Network on Chip Martin Braun, Jonathon Pendlum 5/28/2014

Upload: truonganh

Post on 19-Aug-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

RFNoC™:  RF  Network  on  ChipMartin Braun, Jonathon Pendlum

5/28/2014

Host-based Software Defined Radio Current situation Goal

RFNoC Architecture overview

Demo

Summary

Outline

PC + Flexible RF Hardware + SDR Framework

Typical SDR frameworks excel at software reconfigurability & composability

Less true for available hardware

Host-Based SDR – Current Situation

GPU GPP FPGA

• Most popular DSP/Streaming Framework in the Free Software Universe C++/VOLK for fast DSP -- Python for easy scripting Graphical Development Tool Extensible, many contributions

RFNoC: Not tied to any particular framework

GNU Radio

Simple OFDM Transmitter Development:

Entire Hardware stack is treated like a reprogrammable ASIC, Features are used as-is

USRP: A White Box?

All the interesting parts processed on GPPFPGA handles

DUC, CORDIC, etc.transparently

Everything USRP is available online (code, schematics)

Contains big and expensive FPGA!

Open the Box!

FPGAs:  Hard  to  use…  slow  to  develop

Know Thy Audience! FPGA development is not a requirement of a

communications engineering curriculum Math is hard too

Domain vs FPGA Experts

TheoryExperts

FPGAExperts

Simple in Theory: 200 MHz real-time, Welch's Algorithm

Example: Wideband Spectral Analysis

Highly parallelizable operations, basic math=> Ideal to shift to FPGA

Transport: Overloaded

FPGA:Underutilized

Heterogeneous Processing

Support composable and modular designs using GPP, FPGA, & beyond

Maintain ease of use

Tight integration with popular SDR frameworks

Goal

FPGAProcessing

GPPProcessing

Heterogeneous Processing

Support composable and modular designs using GPP, FPGA, & beyond

Maintain ease of use

Tight integration with popular SDR frameworks

Goal

FPGAProcessing

GPPProcessing

Make FPGA acceleration easier (especially on USRPs) Software API + FPGA infrastructure

Handles FPGA – Host communication / dataflow Provides user simple software and HDL interfaces

Scalable design for massive distributed processing Fully supported in GNU Radio

RFNoC: RF Network on Chip

RFNoC Architecture

User Application – GNU Radio

Crossbar

Ingress Egress Interface

USRP Hardware Driver

Radio Core

HOST

PC

USR

P FP

GA

ComputationEngine

ComputationEngine

RFNoC Architecture

User Application – GNU Radio

Crossbar

Ingress Egress Interface

USRP Hardware Driver

Radio Core

HOST

PC

USR

P FP

GA

ComputationEngine

ComputationEngine

Example: Plotting frequency spectrum

RFNoC Architecture

User Application – GNU Radio

Crossbar

Ingress Egress Interface

USRP Hardware Driver

Radio Core

HOST

PC

USR

P FP

GA

ComputationEngine

ComputationEngine

Radio block in GNU Radio represents the Radio Core RFNoC block in FPGA

RFNoC Architecture

User Application – GNU Radio

Crossbar

Ingress Egress Interface

USRP Hardware Driver

Radio Core

HOST

PC

USR

P FP

GA

ComputationEngine

ComputationEngine

RFNoC provides the communication infrastructure

USRP Hardware Driver

Crossbar

Ingress Egress Interface

RFNoC Architecture

User Application – GNU Radio

Radio Core

HO

ST P

CU

SRP

FPG

A

ComputationEngine

ComputationEngine

RFNoC provides space for user logic called Computation Engines

USRP Hardware Driver

Crossbar

Ingress Egress Interface

RFNoC Architecture

User Application – GNU Radio

Radio Core

HO

ST P

CU

SRP

FPG

A

ComputationEngine

ComputationEngine

RFNoC provides space for user logic called Computation Engines

USRP Hardware Driver

Crossbar

Ingress Egress Interface

RFNoC Architecture

User Application – GNU Radio

Radio Core

HO

ST P

CU

SRP

FPG

A

ComputationEngine

ComputationEngine

Implement FFT as a Computation Engine in FPGA

USRP Hardware Driver

Crossbar

Ingress Egress Interface

RFNoC Architecture

User Application – GNU Radio

Radio Core

HOST

PC

USR

P FP

GA

FFT ComputationEngine

USRP Hardware Driver

Crossbar

Ingress Egress Interface

RFNoC Architecture

User Application – GNU Radio

Radio Core

HOST

PC

USR

P FP

GA

FFT ComputationEngine

Computation Engine

Crossbar

FFT

FIFO FIFO

Packetizer

Xilinx FFT IP

Radio CoreDepacketizer

FIFO FIFO

RX DSP

RX Sample Data

To Host PC

TX DSP

DepacketizerPacketizer

AXI-Stream

FIFO to FIFO, packetization, flow control

Provided by RFNoC infrastructure

Computation Engine

Crossbar

FFT

FIFO FIFO

Packetizer

Xilinx FFT IP

Radio CoreDepacketizer

FIFO FIFO

RX DSP

AXI-Stream

RX Sample Data

To Host PC

TX DSP

DepacketizerPacketizer

User interfaces to RFNoC via AXI-Stream Industry standard (ARM), easy to use Large library of existing IP cores

Computation Engine

Crossbar

FFT

FIFO FIFO

Packetizer

Xilinx FFT IP

Radio CoreDepacketizer

FIFO FIFO

RX DSP

To Host PC

TX DSP

DepacketizerPacketizer

RX Sample Data

AXI-Stream

User writes their own HDL or drops in IP Multiple AXI-Streams, Control / Status registers

Computation Engine

Crossbar

FFT

FIFO FIFO

Packetizer

Xilinx FFT IP

Radio CoreDepacketizer

FIFO FIFO

RX DSP

To Host PC

TX DSP

DepacketizerPacketizer

RX Sample Data

AXI-Stream

Computation Engine

Crossbar

FFT

FIFO FIFO

Packetizer

Xilinx FFT IP

Radio CoreDepacketizer

FIFO FIFO

RX DSP

AXI-Stream

RX Sample Data

To Host PC

TX DSP

DepacketizerPacketizer

Each block is in their own clock domain Improve block throughput, timing Interface to Crossbar has clock crossing FIFOs

Many computation engines

Not limited to one crossbar, one device Scales across devices for massive distributed

processing

Many Types of CEs

Crossbar

Radio Core FFT FIR Demodulator

Crypto Core CompressionDecompression

Soft ProcessorMicroBlaze

To Other RFNoC Capable Device

Low latency protocol processing in FPGA

Many Types of CEs

Crossbar

Radio Core FFT FIR Demodulator

Crypto Core CompressionDecompression

Soft ProcessorMicroBlaze

To Other RFNoC Capable Device

USRP Hardware Driver

Crossbar

Ingress Egress Interface

RFNoC Architecture

User Application – GNU Radio

Radio Core

HOST

PC

USR

P FP

GA

FFT ComputationEngine

Transparent protocol conversion Multiple standards PCI-E, 10 GigE, AXI

Could be wire through -- forwarding to another crossbar

Parallel interfaces (example: X300 has 2 x 10 GigE)

USRP Hardware Driver

Crossbar

Ingress Egress Interface

RFNoC Architecture

User Application – GNU Radio

Radio Core

HOST

PC

USR

P FP

GA

FFT ComputationEngine

Software API to: Configure USRP hardware & RFNoC FPGA infrastructure Provide user sample data (r/w buffers) & control (r/w regs) interfaces

USRP Hardware Driver

Crossbar

Ingress Egress Interface

RFNoC Architecture

User Application – GNU Radio

Radio Core

HOST

PC

USR

P FP

GA

FFT ComputationEngine

DEMO

Simple architecture for heterogeneous data flow processing

Implemented several interesting CEs Integrated with high level SDR framework Portable between all third generation USRPs

X3x0, E310, and products soon to come

Completely open source Beta release available!

github.com/EttusResearch/uhd/wiki/RFNoC:-Getting-Started

Summary