jogomojo / SDFEC-PYNQ

A PYNQ overlay demonstrating the Xilinx RFSoC SD-FEC

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SDFEC-PYNQ

This design offers an environment to evaluate the Soft Decision Forward Error Correction (SD-FEC) IPs using PYNQ and a ZCU111 board. Based on work by Andy Dow (Xilinx; Edinburgh), it allows us to play with a configurable data path including:

  1. A data source including BPSK, QPSK, QAM-16, and QAM-64 modulation schemes
  2. An encoding/decoding pair of SD-FEC blocks with a set of different LDPC codes
  3. An AWGN channel model with configurable noise power

Getting started

This repository is only compatible with the PYNQ image v2.4.1 for ZCU111.

We supply pre-built wheels with all tagged releases. These can be installed directly with pip.

pip3 install https://github.com/Xilinx/SDFEC-PYNQ/releases/download/v1.0_$BOARD/rfsoc_sdfec-1.0-py3-none-any.whl

The wheel is just a self-contained archive, so we must ask the module to copy its notebooks to the filesystem after installation.

python3 -c 'import rfsoc_sdfec; rfsoc_sdfec.install_notebooks()'

The notebook should now be available in rfsoc_sdfec/.

Building the wheel

NOTE: Build this on an x86 machine that has Vivado on the path and a license for the SD-FEC IP. You can generate the required license by following this link.

We release pre-built wheels for every tagged release. If you want to build your own wheel, this can be done from a Linux PC with Python3 and Vivado 2018.3 installed. Clone this repo and use make to build the wheel:

git clone https://github.com/Xilinx/SDFEC-PYNQ.git
cd SDFEC-PYNQ
BOARD=ZCU111 make wheel

The wheel is built in the dist folder.

License

BSD 3-Clause

About

A PYNQ overlay demonstrating the Xilinx RFSoC SD-FEC

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Jupyter Notebook 51.6%Language:Python 42.8%Language:Tcl 4.1%Language:Makefile 1.5%