FPGAs: Why, When, and How to use them (with RFNoC ) Pt. 1 Martin Braun, Nicolas Cuervo FOSDEM 2017, SDR Devroom

Similar documents
Spectral Monitoring/ SigInt

ADVANCED EMBEDDED MONITORING SYSTEM FOR ELECTROMAGNETIC RADIATION

Ettus Research USRP. Tom Tsou 3rd OpenAirInterface Workshop April 28, 2017

Development of Software Defined Radio (SDR) Receiver

STRS COMPLIANT FPGA WAVEFORM DEVELOPMENT

Software Radio, GNU Radio, and the USRP Product Family

Software radio. Software program. What is software? 09/05/15 Slide 2

Sampling. A Simple Technique to Visualize Sampling. Nyquist s Theorem and Sampling

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 2 nd year engineering students

Digital Systems Design

Rapid Design of FIR Filters in the SDR- 500 Software Defined Radio Evaluation System using the ASN Filter Designer

SIMULATION AND IMPLEMENTATION OF LOW POWER QPSK ON FPGA Tushar V. Kafare*1 *1( E&TC department, GHRCEM Pune, India.)

VLSI Implementation of Image Processing Algorithms on FPGA

2002 IEEE International Solid-State Circuits Conference 2002 IEEE

EECS 270: Lab 7. Real-World Interfacing with an Ultrasonic Sensor and a Servo

Image transfer and Software Defined Radio using USRP and GNU Radio

Pre-distortion. General Principles & Implementation in Xilinx FPGAs

Using SDR for Cost-Effective DTV Applications

Anju 1, Amit Ahlawat 2

MULTIRATE IIR LINEAR DIGITAL FILTER DESIGN FOR POWER SYSTEM SUBSTATION

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

Implementing Software Defined Radio a 16 QAM System using the USRP2 Board

Experimental study on Wide Band FM Receiver using GNURadio and RTL-SDR

INTRODUCTION TO CHANNELIZATION ALGORITHMS IN SDR AND COMPARISON OF THEM

Software Design of Digital Receiver using FPGA

IMPLEMENTATION OF G.726 ITU-T VOCODER ON A SINGLE CHIP USING VHDL

OQPSK COGNITIVE MODULATOR FULLY FPGA-IMPLEMENTED VIA DYNAMIC PARTIAL RECONFIGURATION AND RAPID PROTOTYPING TOOLS

A Novel Design In Digital Communication Using Software Defined Radio

CHAPTER III THE FPGA IMPLEMENTATION OF PULSE WIDTH MODULATION

Spectrum Detector for Cognitive Radios. Andrew Tolboe

FPGA & Pulse Width Modulation. Digital Logic. Programing the FPGA 7/23/2015. Time Allotment During the First 14 Weeks of Our Advanced Lab Course

DASL 120 Introduction to Microcontrollers

Bridge RF Design and Test Applications with NI SDR Platforms

Single Chip FPGA Based Realization of Arbitrary Waveform Generator using Rademacher and Walsh Functions

Cyclone II Filtering Lab

NCR Channelizer Server

SOQPSK Software Defined Radio

WHAT ARE FIELD PROGRAMMABLE. Audible plays called at the line of scrimmage? Signaling for a squeeze bunt in the ninth inning?

Stratix Filtering Reference Design

Faculty of Information Engineering & Technology. The Communications Department. Course: Advanced Communication Lab [COMM 1005] Lab 6.

D16550 IP Core. Configurable UART with FIFO v. 2.25

DYNAMICALLY RECONFIGURABLE SOFTWARE DEFINED RADIO FOR GNSS APPLICATIONS

Prototyping Next-Generation Communication Systems with Software-Defined Radio

ni.com The NI PXIe-5644R Vector Signal Transceiver World s First Software-Designed Instrument

Basic FPGA Tutorial. using VHDL and VIVADO to design two frequencies PWM modulator system

Using a COTS SDR as a 5G Development Platform

DIGITAL SIGNAL PROCESSING WITH VHDL

Implementation of a Channel Sounder using GNU Radio Opensource SDR Platform

Nutaq OFDM Reference

RF and Microwave Test and Design Roadshow 5 Locations across Australia and New Zealand

nuand bladerf Overview

Design and Implementation of Universal Serial Bus Transceiver with Verilog

A HARDWARE DC MOTOR EMULATOR VAGNER S. ROSA 1, VITOR I. GERVINI 2, SEBASTIÃO C. P. GOMES 3, SERGIO BAMPI 4

Experimental Study of DQPSK Modulation on SDR Platform

Power consumption reduction in a SDR based wireless communication system using partial reconfigurable FPGA

Technology Timeline. Transistors ICs (General) SRAMs & DRAMs Microprocessors SPLDs CPLDs ASICs. FPGAs. The Design Warrior s Guide to.

I hope you have completed Part 2 of the Experiment and is ready for Part 3.

EE25266 ASIC/FPGA Chip Design. Designing a FIR Filter, FPGA in the Loop, Ethernet

Design & Implementation of an Adaptive Delta Sigma Modulator

PRESENTATION OF THE PROJECTX-FINAL LEVEL 1.

Computer Aided Design of Electronics

EVDP610 IXDP610 Digital PWM Controller IC Evaluation Board

Hardware Implementation of BCH Error-Correcting Codes on a FPGA

Mohit Arora. The Art of Hardware Architecture. Design Methods and Techniques. for Digital Circuits. Springer

What does CyberRadio Solutions do?

FPGA-BASED PULSED-RF PHASE AND AMPLITUDE DETECTOR AT SLRI

Design and FPGA Implementation of an Adaptive Demodulator. Design and FPGA Implementation of an Adaptive Demodulator

PpsSlaveClock. Reference Manual. Product Info. Product Manager. Author(s) Reviewer(s) - Version 1.3. Date Sven Meier.

Journal of Engineering Science and Technology Review 9 (5) (2016) Research Article. L. Pyrgas, A. Kalantzopoulos* and E. Zigouris.

RF and Microwave Test and Design Roadshow Cape Town & Midrand

1 Q' 3. You are given a sequential circuit that has the following circuit to compute the next state:

Field Programmable Gate Array Implementation and Testing of a Minimum-phase Finite Impulse Response Filter

Video Enhancement Algorithms on System on Chip

Software Radio Network Testbed

INTRODUCTION. In the industrial applications, many three-phase loads require a. supply of Variable Voltage Variable Frequency (VVVF) using fast and

TU Dresden uses National Instruments Platform for 5G Research

IMPLEMENTATION OF QALU BASED SPWM CONTROLLER THROUGH FPGA. This Chapter presents an implementation of area efficient SPWM

Designing with STM32F3x

Lecture 3, Handouts Page 1. Introduction. EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Simulation Techniques.

Stratix II Filtering Lab

Tomasz Włostowski Beams Department Controls Group Hardware and Timing Section. Trigger and RF distribution using White Rabbit

Mapping Multiplexers onto Hard Multipliers in FPGAs

SDR OFDM Waveform design for a UGV/UAV communication scenario

TSKS01 Digital Communication

VLSI Implementation of Digital Down Converter (DDC)

Hello, and welcome to this presentation of the STM32 Digital Filter for Sigma-Delta modulators interface. The features of this interface, which

MIPI VGI SM for Sideband GPIO and Messaging Consolidation on Mobile System

A GENERIC ARCHITECTURE FOR SMART MULTI-STANDARD SOFTWARE DEFINED RADIO SYSTEMS

Project in Wireless Communication Lecture 7: Software Defined Radio

Specifications and Interfaces

Table 1: Example Implementation Statistics for Xilinx FPGAs. Fmax (MHz) LUT FF IOB RAMB36 RAMB18 DSP48

Demystifying the Inward FPGA Communication Stack of USRP

CDR in Mercury Devices

GNU Radio as a Research and Development Tool for RFID Applications

Wideband Spectral Measurement Using Time-Gated Acquisition Implemented on a User-Programmable FPGA

Serial Communications RS232, RS485, RS422

Timing Issues in FPGA Synchronous Circuit Design

Lecture Perspectives. Administrivia

Design of Embedded Systems - Advanced Course Project

Rapid FPGA Modem Design Techniques For SDRs Using Altera DSP Builder

Transcription:

FPGAs: Why, When, and How to use them (with RFNoC ) Pt. 1 Martin Braun, Nicolas Cuervo FOSDEM 2017, SDR Devroom

Schematic of a typical SDR Very rough schematic: Analog Stuff ADC/DAC FPGA GPP Let s ignore the analog stuf FPGA sits closest to the ADC/DAC GPP is separated by some transport (USB, Ethernet, DMA FIFO, or maybe it s just on the same PCB)

What is an FPGA? Wikipedia: an integrated circuit designed to be configured by a customer or a designer after manufacturing hence "fieldprogrammable" In SDRs: Efectively a user-definable digital circuit between ADC/DAC and the software Can be redefined any time, but will take down the circuitry while doing so Typical clock rates: several hundred MHz (or more? Or less?) Remember these:

How are FPGAs programmed? 1. Define your circuitry (shall it filter? Shall it generate UDP packets? Shall it...) 2. Encode that in a format your FPGA toolchain understands (Verilog, VHDL, graphical tools) 3. Synthesize to netlist + generate bitstream. A bitstream is a binary representation of how the internals of the FPGA is configured. Often proprietary formats. 4. Load bitstream onto FPGA, typically using dedicated pins.

What do we use FPGAs for? Can an FPGA run software? Well, it can, but only if you make it look like a CPU. Let s ignore that for now. If you can draw a digital circuit, it ll usually work well on an FPGA Multiple parallel circuits are also possible, and in fact one of the strengths of FPGAs. Latency can be controlled on the order of clock cycles. These work well: FIR filters, FFTs, Neural Networks Control loops These not so much: Protocol handling, complex rulesets (Source: https://github.com/themaister/mufft/blob/master/doxygen/fft.md)

Flexibility (or lack thereof) During runtime, the digital circuit can t be easily replaced Building bitfiles can take a long time (depending on the tools, design, and chip between a few seconds and several hours) If your FPGA is controlling peripherals, those will be disabled while the FPGA is reprogrammed (Source: Ettus Research USRP E310 Schematic files.ettus.com/schematics/e310)

Challenges: Digital Logic Did you pay attention in school? Quick, what s this equation as a digital circuit: Concepts may seem trivial if you re an EE major, but there s a lot of concepts worth knowing (Types of flip flops, bus arbitration, interface designs, memory architectures, ) What does this do? (Source: https://en.wikipedia.org/wiki/shift_register)

Challenges: Circuit Magic The digital logic is only half of it What kind of constraints are relevant for our SIPO? Where did the clock come from? How fast is it? Will the FFs keep up? How long do I need to read the outputs? Is Data In a pin? Are QN pins? Shouldn t I connect reset lines?

Challenges: Tools Most likely, you re leaving the safe, easy confines of running gcc and clang You re in for a treat! Good luck getting Vivado running on Gentoo. Ever heard of TCL?

Pointers EDA Playground: Play around with Verilog in your browser Yosys, Icoboard: RPi, free software Xilinx, Altera have eval kits e.g. from Digilent USRPs will let you do SDR

ToC RF-Network-on-Chip (RFNoC)

If you only remember one slide RFNoC is for FPGAs is what GNU Radio (currently) is for GPPs. RFNoC GNU Radio (AXI-Based) (Circular Buffers) Provides Easy-to-use Infrastructure for SDR applications Handles Data Movement between blocks 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) Works with GNU Radio Companion (Through gr-ettus) (Built-in) Well-documented (Right?) (Right? RIGHT?) Writes your blocks for you (Huge and welltested)

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

Example: E310 + fosphor RFNoC + GNU Radio: Work nicely together Ideal way to use and test RFNoC is with GNU Radio Data is passed between "domains" easily RFNoC Messages GNU Radio Domain Crossing

RFNoC Architecture Ingress Egress Interface Crossbar Radio Core Computation Engine Computation Engine USRP FPGA USRP Hardware Driver HOST PC User Application GNU Radio

Device Configuration To Other RFNoC Capable Device Crossbar Radio Core FFT Crypto Core FIR Compression Decompression Demodulator Soft Processor MicroBlaze Blocks are chosen when bitfile is generated

Anatomy of an RFNoC Block To Host PC Crossbar Radio Core FFT Depacketizer Packetizer Depacketizer Packetizer FIFO FIFO FIFO FIFO AXI-Stream TX DSP RX DSP Your IP RX Sample Data Blocks are separate entities Separate clock domain Optimized for developing separately