SDR transceiver


This is a port of the SDR transceiver application for the Red Pitaya board to the Eclypse Z7 board.

The SDR transceiver application for the Red Pitaya board is described at this link.

All programs and libraries that work with the SDR transceiver application for the Red Pitaya board should also work with this port.

This application requires Zmod ADC and Zmod DAC to be connected to the Eclypse Z7 board as follows:


The SDR transceiver consists of two SDR receivers and of two SDR transmitters.

The implementation of the SDR receivers is quite straightforward:

The SDR transmitters consist of the similar blocks but arranged in an opposite order:

The tunable frequency range covers from 0 Hz to 50 MHz.

The I/Q data rate is configurable and five settings are available: 20, 50, 100, 250, 500 and 1250 kSPS.

The basic blocks of the digital down-converters (DDC) and of the digital up-converters (DUC) are shown on the following diagram:

SDR transceiver

The projects/sdr_transceiver directory contains four Tcl files: block_design.tcl, trx.tcl, rx.tcl, tx.tcl. The code in these files instantiates, configures and interconnects all the needed IP cores.


The projects/sdr_transceiver/server directory contains the source code of the TCP server (sdr-transceiver.c) that receives control commands and transmits/receives the I/Q data streams (up to 2 x 32 bit x 1250 kSPS = 76.3 Mbit/s) to/from the SDR programs.

The projects/sdr_transceiver/gnuradio directory contains an example of a flow graph configuration for GNU Radio Companion.

Getting started with GNU Radio

Getting started with SDR# and HDSDR

Building from source

The structure of the source code and of the development chain is described at this link.

Setting up the Vitis and Vivado environment:

source /opt/Xilinx/Vitis/2020.2/

Cloning the source code repository:

git clone
cd eclypse-z7-notes

Building sdr_transceiver.bit:

make NAME=sdr_transceiver bit

Building SD card image zip file:

source helpers/