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

Similar documents
Simplifying FPGA Design for SDR with a Network on Chip Architecture

RFNoC Deep Dive: Host Side Martin Braun 5/28/2015

RFNoC TM RF Network-on-Chip

Simplifying FPGA Design with A Novel Network-on-Chip Architecture

Third Genera+on USRP Devices and the RF Network- On- Chip. Leif Johansson Market Development RF, Comm and SDR

RFNoC Neural-Network Library using Vivado HLS (rfnoc-hls-neuralnet) EJ Kreinar Team E to the J Omega

Versal: AI Engine & Programming Environment

Ettus Research: Future Directions

Ettus Research Update

GNU Radio Technical Update

Modeling a 4G LTE System in MATLAB

An Experimental Study of Network Performance Impact of Increased Latency in SDR

OpenCPI & GNU Radio Integration for Heterogeneous Processing

Performance Overhead with High Level Waveform Development

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

Versal: The New Xilinx Adaptive Compute Acceleration Platform (ACAP) in 7nm

A unified multicore programming model

Hardware Accelerated SDR Platform for Adaptive Air Interfaces Tarik Kazaz, Christophe Van Praet, Merima Kulin, Pieter Willemen, Ingrid Moerman

USRP 5G Product Update

Integrated Circuit ORB (ICO) White Paper V1.1

Simulation, prototyping and verification of standards-based wireless communications

The Many Dimensions of SDR Hardware

Leveraging Mobile GPUs for Flexible High-speed Wireless Communication

A Scalable Multiprocessor for Real-time Signal Processing

The Open-Source SDR LTE Platform for First Responders. Software Radio Systems

GNU Radio and RFNoC in Space: How Hawkeye 360 uses GNU Radio on Small-Satellites

Building blocks for custom HyperTransport solutions

The Tick Programmable Low-Latency SDR System

How to validate your FPGA design using realworld

The WINLAB Cognitive Radio Platform

Ted N. Booth. DesignLinx Hardware Solutions

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

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

Extending the Power of FPGAs

Avnet Speedway Design Workshop

INT G bit TCP Offload Engine SOC

Programable Radio Unit Accelerating SDR System Application

Application Examples Avnet Silica & Enclustra Seminar Getting started with Xilinx Zynq SoC Fribourg, April 26, 2017

Designing and Prototyping Digital Systems on SoC FPGA The MathWorks, Inc. 1

Altera SDK for OpenCL

A Reconfigurable Crossbar Switch with Adaptive Bandwidth Control for Networks-on

Nutaq. PicoSDR FPGA-based, MIMO-Enabled, tunable RF SDR solutions PRODUCT SHEET I MONTREAL I NEW YORK I. nutaq. .com QUEBEC

CCIX: a new coherent multichip interconnect for accelerated use cases

An introduction to Digital Signal Processors (DSP) Using the C55xx family

OpenRadio. A programmable wireless dataplane. Manu Bansal Stanford University. Joint work with Jeff Mehlman, Sachin Katti, Phil Levis

FPGA Technology and Industry Experience

Nutaq. PicoSDR FPGA-based, MIMO-Enabled, tunable RF SDR solutions PRODUCT SHEET I MONTREAL I NEW YORK I. nutaq. .com QUEBEC

FPGA & Hybrid Systems in the Enterprise Drivers, Exemplars and Challenges

Qsys and IP Core Integration

ECE 598HH: Special Topics in Wireless Networks and Mobile Systems. Lecture 17: Software Defined Radio Tutorial Haitham Hassanieh

Jakub Cabal et al. CESNET

REAL TIME DIGITAL SIGNAL PROCESSING

Applying Graphics Processor Acceleration in a Software Defined Radio Prototyping Environment

MOJTABA MAHDAVI Mojtaba Mahdavi DSP Design Course, EIT Department, Lund University, Sweden

Seamless Dynamic Runtime Reconfiguration in a Software-Defined Radio

Center for Scalable Application Development Software (CScADS): Automatic Performance Tuning Workshop

CPU offloading using SoC fabric Avnet Silica & Enclustra Seminar Getting started with Xilinx Zynq SoC Fribourg, April 26, 2017

OCP Engineering Workshop - Telco

Component-Based support for FPGA and DSP

GNU Radio runtime. Reinventing a very fast wheel. Andrej Rode FOSDEM Andrej Rode GNU Radio runtime FOSDEM / 21

Session: Configurable Systems. Tailored SoC building using reconfigurable IP blocks

FPGA How do they work?

Embedded Systems: Hardware Components (part II) Todor Stefanov

1 Copyright 2013 Oracle and/or its affiliates. All rights reserved.

Cognitive Radio Platform Research at WINLAB

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

Digital Integrated Circuits

USING C-TO-HARDWARE ACCELERATION IN FPGAS FOR WAVEFORM BASEBAND PROCESSING

Architecture and Automated Design Flow for Digital Network on chip for Analog/RF Building Block Control

Understanding JESD204B High-speed inter-device data transfers for SDR

PC/104 Test-Bed for Software GPS Receiver (SGR) and Software Defined Radio (SDR) Applications

How to achieve low latency audio/video streaming over IP network?

INT-1010 TCP Offload Engine

Accelerating FPGA/ASIC Design and Verification

Embedded SDR for Small Form Factor Systems

SMT6040 Sundance Simulink Toolbox

White Paper. The advantages of using a combination of DSP s and FPGA s. Version: 1.0. Author: Louis N. Bélanger. Date: May, 2004.

GRVI Phalanx. A Massively Parallel RISC-V FPGA Accelerator Accelerator. Jan Gray

New Software-Designed Instruments

MPSoC Design Space Exploration Framework

A Survey on Inner FPGA Communication Path of USRP

Reconfigurable Cell Array for DSP Applications

Adapter Modules for FlexRIO

Compute Node Design for DAQ and Trigger Subsystem in Giessen. Justus Liebig University in Giessen

PicoSDR goes GNU Radio. Tristan Martin Jan 2013

A Low-Cost Embedded SDR Solution for Prototyping and Experimentation

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Highly Accurate, Record/ Playback of Digitized Signal Data Serves a Variety of Applications

High Data Rate Fully Flexible SDR Modem

Resource Efficiency of Scalable Processor Architectures for SDR-based Applications

Technical Article MS-2442

An Efficient Architecture for Ultra Long FFTs in FPGAs and ASICs

FastTrack: Leveraging Heterogeneous FPGA Wires to Design Low-cost High-performance Soft NoCs

INT 1011 TCP Offload Engine (Full Offload)

REAL TIME DIGITAL SIGNAL PROCESSING

The Nios II Family of Configurable Soft-core Processors

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Maximizing heterogeneous system performance with ARM interconnect and CCIX

New! New! New! New! New!

P51: High Performance Networking

Transcription:

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

Outline Motivation Current situation Goal RFNoC Basic concepts Architecture overview Summary No Demo! See our booth, and our presentation tomorrow

If you only remember one slide RFNoC is for FPGAs is what GNU Radio is for GPPs. RFNoC GNU Radio Provides Easy-to-use Infrastructure for SDR applications Handles Data Movement between blocks (AXI-Based) (Circular Buffers) Takes care of boring and recurring tasks (Flow control, addressing, routing) (R/W pointer updating, tag handling ) Provides library of blocks to get started (Growing) (Huge and well-tested) Works with GNU Radio Companion (Through gr-ettus) (Built-in) Well-documented (Right?) (Right? RIGHT?) Writes your blocks for you

How it started: Opening the box Simple OFDM Transmitter flow graph: All the interesting parts processed on GPP FPGA handles DUC, CORDIC, etc. transparently Entire Hardware stack is treated like a reprogrammable ASIC, Features are used as-is (white box) GNU Radio s flexibility should extend onto the FPGA, all the way up to the ADC/DAC!

What s the problem? Everything USRP is available online (code, schematics) X310 contains big and expensive FPGA! Seems like everything is there to move flow graphs onto the FPGA?

What s the problem? Everything USRP is available online (code, schematics) X310 contains big and expensive FPGA! Seems like everything is there to move flow graphs onto the FPGA? FPGA Development is difficult: Takes a lot of time Lots of things to consider (timing, clocks, busses, ) Needs transparent integration into software (e.g. GNU Radio, GRC)

Domain vs FPGA Experts Know Thy Audience! FPGA development is not a requirement of a communications engineering curriculum Math is hard too DSP / Comms Experts FPGA Experts

Example: Wideband Spectral Analysis Simple in Theory: 200 MHz real-time, Welch's Algorithm In practice: Several stumbling blocks FPGA: Underutilized Highly parallelizable operations, basic math => Ideal to shift to FPGA Transport: Overloaded

Goal Heterogeneous Processing Support composable and modular designs using GPP, FPGA, & beyond Maintain ease of use Tight integration with GNU Radio FPGA Processing GPP Processing

Goal Heterogeneous Processing Support composable and modular designs using GPP, FPGA, & beyond Maintain ease of use Tight integration with GNU Radio FPGA Processing GPP Processing

RFNoC: RF Network on Chip 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

GNU Radio + RFNoC RFNoC + GNU Radio: A perfect match Ideal way to use + test RFNoC is with GNU Radio Seamlessly interconnects (with some caveats) RFNoC Messages GNU Radio Domain Crossing

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio USRP Hardware Driver Ingress Egress Interface RFNoC Block RFNoC Block

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio USRP Hardware Driver Radio block in GNU Radio represents the RFNoC block in FPGA Ingress Egress Interface RFNoC Block RFNoC Block

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio RFNoC provides the communication infrastructure USRP Hardware Driver Ingress Egress Interface Computation Engine Computation Engine

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio USRP Hardware Driver RFNoC provides space for user logic Ingress Egress Interface Custom RFNoC Block Custom RFNoC Block

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio USRP Hardware Driver RFNoC provides space for user logic Ingress Egress Interface Custom RFNoC Block Custom RFNoC Block

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio USRP Hardware Driver Ingress Egress Interface Implement FFT as an RFNoC block in FPGA FFT Block Bitcoin Miner

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio USRP Hardware Driver Ingress Egress Interface FFT Jose s Mariachi- Block

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio USRP Hardware Driver Ingress Egress Interface FFT Twitter Parser

Anatomy of an RFNoC Block To Host PC FFT Depacketizer Packetizer Depacketizer Packetizer TX DSP RX DSP AXI-Stream Xilinx FFT IP RX Sample Data

Anatomy of an RFNoC Block To Host PC FFT Depacketizer Packetizer Depacketizer Packetizer TX DSP RX DSP AXI-Stream Xilinx FFT IP RX Sample Data to, packetization, flow control Provided by RFNoC infrastructure

Anatomy of an RFNoC Block To Host PC FFT Depacketizer Packetizer Depacketizer Packetizer TX DSP RX DSP AXI-Stream Xilinx FFT IP RX Sample Data User interfaces to RFNoC via AXI-Stream Industry standard (ARM), easy to use Large library of existing IP cores

Anatomy of an RFNoC Block To Host PC FFT Depacketizer Packetizer Depacketizer Packetizer TX DSP RX DSP AXI-Stream Xilinx FFT IP RX Sample Data User writes their own HDL or drops in IP Multiple AXI-Streams, Control / Status registers

Anatomy of an RFNoC Block To Host PC FFT Depacketizer Packetizer Depacketizer Packetizer TX DSP RX DSP AXI-Stream Xilinx FFT IP RX Sample Data Each block is in their own clock domain Improve block throughput, timing Interface to has clock crossing s

Anatomy of an RFNoC Block To Host PC FFT Depacketizer Packetizer Depacketizer Packetizer TX DSP RX DSP AXI-Stream <+ Your IP here +> RX Sample Data All you need to do is fill this part!

Many Types of Blocks To Other RFNoC Capable Device FFT FIR Demodulator Crypto Core Compression Decompression Soft Processor MicroBlaze Many computation engines Not limited to one crossbar, one device Scales across devices for massive distributed processing

Many Types of Blocks To Other RFNoC Capable Device FIR Demodulator Crypto Core Compression Decompression Soft Processor MicroBlaze Low latency protocol processing in FPGA

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio Transparent protocol conversion Multiple standards PCI-E, 10 GigE, AXI Could be wire through -- forwarding to another crossbar Parallel interfaces USRP (example: Hardware Driver X300 has 2 x 10 GigE) Ingress Egress Interface FFT Computation Engine

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio USRP Hardware Driver Software API to: FFT Ingress Egress Interface Configure USRP hardware & RFNoC FPGA infrastructure Provide user sample data (r/w buffers) & control (r/w regs) interfaces Transparent mapping of settings e.g. from GRC to FPGA regs C++ or NocScript Computation Engine

USRP FPGA HOST PC RFNoC Architecture User Application GNU Radio USRP Hardware Driver Ingress Egress Interface FFT Heisenberg Compensator

Summary Simple architecture for heterogeneous data flow processing The GNU Radio of FPGAs! Several interesting blocks exist as reference and examples Integrated with GNU Radio + GRC Portable between all third generation USRPs X3x0, E310, and products soon to come Completely open source (UHD + FPGA codes) github.com/ettusresearch/uhd/wiki/rfnoc:-getting- Started