rfsoc 2x2 project - rfsoc 2x2 kit | rfsoc 2x2

30
© Copyright 2021 Xilinx RFSoC 2x2 Project Patrick Lysaght Senior Director, Xilinx research labs FPGA21 RFSoC PYNQ Tutorial 9

Upload: others

Post on 08-Nov-2021

41 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

RFSoC 2x2 Project

Patrick Lysaght

Senior Director, Xilinx research labs

FPGA21 RFSoC PYNQ Tutorial

9

Page 2: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

The RFSoC 2x2 Project

2

Affordable RFSoC 2x2 kit price of $1,899 available only to academics

Includes RFSoC 2x2 board with 2 RF DAC and 2 RF ADC channels

PYNQ framework with JupyterLab IDE for exceptional ease-of-use

Open-source resources including:

Tutorial materials

Executable notebooks

Design examples

Page 3: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

The RFSoC 2x2 Project Continued

3

Complete end-to-end reference designs including:

Spectrum analyzers

Software defined radios

Dedicated project web site at rfsoc-pynq.io

GitHub-hosted repositories of all project materials

Online community support forum

Page 4: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

RFSoC 2x2 Board Overview

9

Page 5: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

RFSoC 2x2 Block Diagram

5

2 RF ADCs

XCZU28DR

Processing

System (PS)

Programmable

Logic (PL)

RF2 RF DACs

4 user switches

5 user pushbuttons

2 user RGB LEDs

4 user LEDs

10/100/1000 Mbps Eth.

USB 2.0 UART/JTAG

2 USB 3.0 Host

USB 3.0 Peripheral

Ext. RF Ref. Clock

4 GB DDR4 x 64

2 PMODS

SYZYGY STD

Mini DisplayPort

4 GB DDR4 x 64

I2C Power Monitor

1 User pushbutton

MicroSD (Boot)

SYNCIN

Pulse-per-sec (PPS)

Page 6: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

RF DACs and RF ADCs

6

2 RF ADCs:

12-bits resolution

4.096 GSPS max

Single-ended, 2V peak-to-peak

2 RF DACs:

14-bits resolution

6.554 GSPS max

Single-ended, 2V peak-to-peak

RF converter voltage ranges can be re-programmed by the user up to 6V

peak-to-peak max if converter tile IOs are reprogrammed

Page 7: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

RFSoC 2x2 Board Anatomy #1

7

PPS

RF DAC 1

RF DAC 2

RF ADC 2

RF ADC 1

SYNCIN

Ext CLKIN

PMBus

12V Power

EFuse

Power switch

Power rail status LEDs

PMOD 1

PMOD 2

Page 8: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

RFSoC 2x2 Board Anatomy #2

8

JTAG

USB 2.0 UART/JTAG

Mini DisplayPort

1 USB 3.0 Peripheral

2 USB 3.0 Host

10/100/1000 Mbps Ethernet

Micro SD Reader

SYZYGY STD

5 user PL Pushbuttons

4 user PL LEDs

4 user PL switches

2 user PL RGB LEDs

1 user PS Pushbutton

INIT & DONE LEDs

RESET Pushbuttons & LEDs

Page 9: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

RFSoC 2x2 Board Anatomy #3

9

Clock

XTAL

RF

ADCs

DACs

RF Tile

PLLs

4GB PL DRAM

4GB PS DRAM

Power

regulators

Page 10: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Additional RFSoC 2x2 Features

10

Built-in I2C current and voltage monitoring on 10 power rails

Python API and notebook examples

”USB Gadget API”

IP over USB 3.0 A to Micro B Cable

Enables RFSoC 2x2 as Ethernet, mass storage, and serial device over USB

Extensive suite of self-test for IO peripherals

Full set of Python notebooks

Programmable RF clock jitter and PLL/VCO chips

Page 11: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

RFSoC 2x2 Kit Contents

11

RFSoC 2x2 Board

12V, 72W power supply unit

USB 3.0 A to Micro B Cable

2 RF cables with SMA connectors

16 GB MicroSD card with pre-loaded Linux and PYNQ image

Page 12: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

IPython Notebooks, JupyterLab and …

Page 13: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

IPython Notebooks to Jupyter Notebooks

Displays source code, results, text, math, images and other rich media

Default engine of data science, machine learning and AI

Taught to 100,000’s of collegestudents every semester

>> 13

Julia Python R

Page 14: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Jupyter Notebooks to JupyterLab IDE

>> 14

Next-generation IDE

Browser-based GUI

Multiple re-sizable framesin one browser window

Completely extensible

Jupyter Notebooks areone of many plug-ins

available in JupyterLab

Terminal

Jupyter notebook IP IntrospectionFrequency Planner Dashboard

Dashboard

Page 15: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Jupyter’s Client-Server-Kernel-Notebook Architecture

>> 15

Jupyter

Web

Server

Notebook

Files

(JSON)

Kernel

Wrapper

Language

Kernel(s)

Websockets ZeroMQBrowser(s)

CLIENT(s) SERVER KERNEL(s)

NOTEBOOKs

Page 16: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Browser is the de facto Platform for Data Visualization

>> 16

Jupyter

Web

Server

Notebook

Files

(JSON)

Kernel

Wrapper

Language

Kernel(s)

Websockets ZeroMQBrowser(s)

CLIENT(s) SERVER KERNEL(s)

NOTEBOOKs

Based on W3 standards

Jupyter’s architecture is:

• Open source

• Modular

• De-coupled

• ExtensibleThe UI and visualization all

run on the external computer

(JavaScript browser code)

Page 17: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Winner of the 2017 ACM System Software Award

>> 17

Jupyter

Web

Server

Notebook

Files

(JSON)

Kernel

Wrapper

Language

Kernel(s)

Websockets ZeroMQBrowser(s)

CLIENT(s) SERVER KERNEL(s)

NOTEBOOKs

Based on W3 standards

Jupyter’s architecture is:

• Open source

• Modular

• De-coupled

• Extensible

Page 18: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Exponential Rise in Adoption of Jupyter Notebooks

18

https://nbviewer.jupyter.org/github/parente/nbestimate/blob/master/estimate.ipynb

Accessed on 24 Feb 21

12 million notebooks in

approximately 6 years

(as of Feb 2021)

# Notebooks

on GitHubMeasured

Projected

2015 2021

Page 19: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Popular IDE Usage among Data Scientists

19

https://www.kaggle.com/kaggle-survey-2020

Page 20: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

IDEs and Notebooks are Synergistic

20

Visual Studio and PyCharm both

include support for Notebooks

Science and engineering are

increasingly (big) data-driven

This applies also to high-performance,

embedded-computing applications

such as SDR with RFSoC

Page 21: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Embedded Web Portals

>> 21

We are familiar with embedded servers hosting

browser interfaces for product configuration

Page 22: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Embedded Web Portals … to Web-server IDEs

>> 22

Page 23: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Embedded Web Portals … to Embedded IDEs

>> 23

RFSoC-PYNQ uses JupyterLab

to host an IDE on the RFSoC’s ARM CPUs

Page 24: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

PYNQ = Embedded Jupyter Lab

>> 24

Jupyter

Web

Server

Notebook

Files

(JSON)

Kernel

Wrapper

Language

Kernel(s)

Browser(s)

CLIENT(s) SERVER KERNEL(s)

JupyterLab runs natively on the RFSoC’s ARM A53s

The UI and visualization all

run on the external computer

(JavaScript browser code)

Page 25: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

PYNQ = Embedded JupyterLab

>> 25

Jupyter

Web

Server

Notebook

Files

(JSON)

Kernel

Wrapper

Language

Kernel(s)

Browser(s)

CLIENT(s) SERVER KERNEL(s)

Pythonic APIs for RFSoC’s soft and hard IPs

RFSoC’s

FPGA IP cores

& hard IP cores

+ Pythonic Integration of FPGA & Hard IPs

Page 26: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

PYNQ = Productivity = Ease-of-Use + Ease-of-Reuse

>> 26

Reproducibility via executable notebooks

Python APIs to RFSoC IPs

Optimized CPU-FPGA data transfer using Python/NumPy buffer protocol

Widgets for interactive visualization and dashboards for standalone GUIs

PIP packaging of design software & bitstreams in fat binaries

Open-source packages in GitHub repositories

Page 27: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Spectrum Analyzer as Jupyter Notebook

27

The notebook is an excellent interactive environment

for development, research and learning

We can mix interactive controls and visualization to

explore our algorithms and data and for documentation

There are times, however, when we want to share work

without all the notebook details

This is where dashboards come in …

Page 28: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Spectrum Analyzer as Voila Dashboard

28

Voila dashboards allow us to

deploy our spectrum analyzer

without exposing the Jupyter

notebook interface

This is great for:

• research demonstrators

• interactive teaching exercises

• collaboration with specialists

from other disciplines

Easy transition from notebook to

dashboard allows rapid GUI

generation for deployment

Page 29: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Thank You

Page 30: RFSoC 2x2 Project - RFSoC 2x2 kit | RFSoC 2x2

© Copyright 2021 Xilinx

Building the Adaptable,

Intelligent World

Xilinx Mission