rfnoc evolving sdr toolkits to the fpga platgorm
play

RFNoC: Evolving SDR Toolkits to the FPGA platgorm Martjn Braun - PowerPoint PPT Presentation

RFNoC: Evolving SDR Toolkits to the FPGA platgorm Martjn Braun 31.1.2016 USRP: A White Box? Simple OFDM Transmituer Development: FPGA handles All the interesting parts processed on GPP DUC, CORDIC, etc. transparently Entjre


  1. RFNoC™: Evolving SDR Toolkits to the FPGA platgorm Martjn Braun 31.1.2016

  2. USRP: A White Box?  Simple OFDM Transmituer Development: FPGA handles All the interesting parts processed on GPP DUC, CORDIC, etc. transparently  Entjre Hardware stack is treated like a reprogrammable ASIC, Features are used as-is

  3. Open the Box!  Everything USRP is available online (code, schematjcs)  Contains big and expensive FPGA!

  4. FPGAs: Hard to use… slow to develop

  5. Domain vs FPGA Experts  Know Thy Audience!  FPGA development is not a requirement of a communications engineering curriculum  Math is hard too Theory FPGA Experts Experts

  6. Example: Wideband Spectral Analysis  Simple in Theory: 200 MHz real-tjme, Welch's Algorithm FPGA: Highly parallelizable operations, basic math Underutilized => Ideal to shift to FPGA Transport: Overloaded

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

  8. Goal  Heterogeneous Processing  Support composable and modular designs using GPP, FPGA, & beyond  Maintain ease of use  Tight integratjon with popular SDR frameworks FPGA GPP Processing Processing

  9. RFNoC: RF Network on Chip  Make FPGA acceleratjon easier (especially on USRPs)  Sofuware API + FPGA infrastructure  Handles FPGA – Host communicatjon / datafmow  Provides user simple sofuware and HDL interfaces  Scalable design for massive distributed processing  Fully supported in GNU Radio

  10. RFNoC Architecture User Applicatjon – GNU Radio HOST PC USRP Hardware Driver Ingress Egress Interface USRP FPGA Crossbar Computatjon Computatjon Radio Core Engine Engine

  11. RFNoC Architecture User Applicatjon – GNU Radio HOST PC  USRP Hardware Driver Example: Plottjng frequency spectrum Ingress Egress Interface USRP FPGA Crossbar Computatjon Computatjon Radio Core Engine Engine

  12. RFNoC Architecture User Applicatjon – GNU Radio HOST PC  USRP Hardware Driver Radio block in GNU Radio represents the Radio Core RFNoC block in FPGA Ingress Egress Interface USRP FPGA Crossbar Computatjon Computatjon Radio Core Engine Engine

  13. RFNoC Architecture User Applicatjon – GNU Radio  RFNoC provides the communicatjon infrastructure HOST PC USRP Hardware Driver Ingress Egress Interface USRP FPGA Crossbar Computatjon Computatjon Radio Core Engine Engine

  14. RFNoC Architecture User Application – GNU Radio HOST PC USRP Hardware Driver  RFNoC provides space for user logic called Computatjon Engines Ingress Egress Interface USRP FPGA Crossbar Radio Core RFNoC Block RFNoC Block

  15. RFNoC Architecture User Application – GNU Radio HOST PC USRP Hardware Driver  RFNoC provides space for user logic called Computatjon Engines Ingress Egress Interface USRP FPGA Crossbar Radio Core RFNoC Block RFNoC Block

  16. RFNoC Architecture User Application – GNU Radio HOST PC  USRP Hardware Driver Implement FFT as a Computatjon Engine Ingress Egress Interface USRP FPGA in FPGA Crossbar Radio Core RFNoC Block RFNoC Block

  17. RFNoC Architecture User Applicatjon – GNU Radio HOST PC USRP Hardware Driver Ingress Egress Interface USRP FPGA Crossbar RFNoC Block Radio Core FFT

  18. RFNoC Architecture User Applicatjon – GNU Radio HOST PC USRP Hardware Driver Ingress Egress Interface USRP FPGA Crossbar Radio Core FFT Dogecoin Mining

  19. Computatjon Engine To Host PC Crossbar Radio Core FFT Depacketjzer Packetjzer Depacketjzer Packetjzer FIFO FIFO FIFO FIFO AXI-Stream TX DSP RX DSP Xilinx FFT IP RX Sample Data

  20. Computatjon Engine To Host PC Crossbar Radio Core FFT Depacketjzer Packetjzer Depacketjzer Packetjzer FIFO FIFO FIFO FIFO AXI-Stream TX DSP RX DSP Xilinx FFT IP RX Sample Data  FIFO to FIFO, packetjzatjon, fmow control  Provided by RFNoC infrastructure

  21. Computatjon Engine To Host PC Crossbar Radio Core FFT Depacketjzer Packetjzer Depacketjzer Packetjzer FIFO FIFO FIFO FIFO AXI-Stream TX DSP RX DSP Xilinx FFT IP RX Sample Data  User interfaces to RFNoC via AXI-Stream  Industry standard (ARM), easy to use  Large library of existjng IP cores

  22. Computatjon Engine To Host PC Crossbar Radio Core FFT Depacketjzer Packetjzer Depacketjzer Packetjzer FIFO FIFO FIFO FIFO AXI-Stream TX DSP RX DSP Xilinx FFT IP RX Sample Data  User writes their own HDL or drops in IP  Multjple AXI-Streams, Control / Status registers

  23. Computatjon Engine To Host PC Crossbar Radio Core FFT Depacketjzer Packetjzer Depacketjzer Packetjzer FIFO FIFO FIFO FIFO AXI-Stream TX DSP RX DSP Xilinx FFT IP RX Sample Data  Each block is in their own clock domain  Improve block throughput, tjming  Interface to Crossbar has clock crossing FIFOs

  24. Many Types of CEs To Other RFNoC Capable Device Crossbar Radio Core FFT FIR Demodulator Compression Sofu Processor Crypto Core Decompression MicroBlaze  Many computatjon engines  Not limited to one crossbar, one device  Scales across devices for massive distributed processing

  25. Many Types of Blocks To Other RFNoC Capable Device Crossbar Radio Core FFT FIR Demodulator Compression Sofu Processor Crypto Core Decompression MicroBlaze  Low latency protocol processing in FPGA

  26. RFNoC Architecture User Applicatjon – GNU Radio  Transparent protocol conversion  Multjple standards PCI-E, 10 GigE, AXI HOST PC  Could be wire through -- forwarding to another crossbar  USRP Hardware Driver Parallel interfaces (example: X300 has 2 x 10 GigE) Ingress Egress Interface USRP FPGA Crossbar Radio Core FFT Twituer Parser

  27. RFNoC Architecture User Applicatjon – GNU Radio HOST PC USRP Hardware Driver  Ingress Egress Interface USRP FPGA Sofuware API to:  Confjgure USRP hardware & RFNoC FPGA infrastructure Crossbar  Provide user sample data (r/w bufgers) & control (r/w regs) interfaces TrumpScript Radio Core FFT Executor

  28. RFNoC Architecture User Applicatjon – GNU Radio HOST PC USRP Hardware Driver Ingress Egress Interface USRP FPGA Crossbar Computatjon Radio Core FFT Engine

  29. DEMO

  30. RFNoC Stack GNU Radio Integration GRC Bindings (XML) Block Code (Python / C++) UHD Integration UHD Integration Block Declaration (XML / NocScript) Block Controller (C++) FPGA Integration Verilog / VHDL / CoreGen / IP

  31. RFNoC Stack (Simple) GNU Radio Integration GRC Bindings (XML) Default Block UHD Integration UHD Integration Block Declaration (XML / NocScript) Default Block Controller FPGA Integration Verilog / VHDL / CoreGen / IP

  32. RFNoC Stack (Even Simpler) Your Application here! UHD Integration UHD Integration Block Declaration (XML / NocScript) Default Block Controller FPGA Integration Verilog / VHDL / CoreGen / IP

  33. Summary  Simple architecture for heterogeneous data fmow processing  Several interestjng blocks already exist  Integrated with GNU Radio  Portable between all third generatjon USRPs  X3x0, E310, and products soon to come  Completely open source (within Xilinx toolchains)  Available on github!  github.com/EtuusResearch/uhd/wiki/RFNoC:-Gettjng- Started

Recommend


More recommend