The PicoSDR is a table-top software-defined radio (SDR) solution that, when combined with Nutaq’s software frameworks, simplifies and accelerates your development process.

The PicoSDR consists of a table-top uTCA chassis, one or two FPGA carrier boards (Perseus601X), and one or two FMC radio cards (Radio420X). You can see pictures of the internal components at http://nutaq.com/blog/teardown-nutaqs-picosdr.

FPGA reference designs and examples

FPGA reference designs and examples for the PicoSDR are included with the following development frameworks: the Board Support Package (BSP), the Board Software Development kit (BSDK), and the Model-Based Design Kit (MBDK).

Board Support Package (BSP) – A VHDL IP core for the Radio420X. It includes C code for the MicroBlaze FPGA soft processor that calibrates the radio and uses it for transmitting and receiving (via the included MicroBlaze libraries). The BSP is to be used with the Xilinx Embedded Development Kit (EDK) and ChipScope. The BSP has the following architecture:

Board Software Development Kit (BSDK) – A VHDL IP core for the Radio420X. It includes advanced examples that use the Nutaq Central Communication Engine running on PetaLinux in the MicroBlaze. The FPGA receives commands from the host computer via Gigabit Ethernet or PCI Express. Nutaq provides a C/C++ host API and command line interface (CLI) for sending commands and streaming data between the host PC and the FPGA. The BSDK is to be used with the Xilinx Platform Studio in the Xilinx ISE. For information on the BSDK, see http://www.nutaq.com/bsdk/.

Model-Based Design Kit (MBDK) – A Simulink/System Generator model-based IP core for the Radio420X. It includes advanced examples that use the Nutaq Central Communication Engine running on PetaLinux in the MicroBlaze. The FPGA receives commands from the host computer via Gigabit Ethernet or PCI Express. The MBDK is to be used with Xilinx System Generator and the MATLAB Simulink environment. Nutaq provides model-based reference designs for a 2×2 MIMO OFDM QAM64 on the Radio420M and synchronous 4×4 MIMO examples. To get started with the QAM64 reference design, see http://nutaq.com/blog/video-getting-started-nutaqs-ofdm-qam64-reference-design-10-minutes.

Host application and API examples

There are four types of Nutaq host application and API examples. Note that the APIs can only be used with the BSDK and MBDK, not the BSP.

C/C++ Host API – For sending control commands and streaming data between the host PC and the FPGA. For PCIe streaming benchmarks, see http://nutaq.com/blog/data-communication-nutaq-microtca-systems-%E2%80%93-pcie

Command line interface (CLI) – For sending control commands and streaming data between the host PC and the FPGA. The QAM64 reference design video shows the CLI in action: http://nutaq.com/blog/data-communication-nutaq-microtca-systems-%E2%80%93-pcie

GNU Radio plug-in – A driver that enables Radio420X to be used as a peripheral (Gigabit Ethernet) for GNU Radio. GNU Radio is a open-source PC-based SDR framework for developing radio PHY and MAC layers directly on a host PC. There are many free examples and implementations of common wireless protocols.

The Nutaq GNU Radio plug-in can also be used in a mixed PC-FPGA architecture, where you use GNU Radio to implement your host-side application (perhaps a MAC layer) and the Nutaq BSDK or MBDK to implement your FPGA’s real-time algorithm (perhaps a PHY layer). This is a key benefit over other GNU Radio compatible devices. See http://content.nutaq.com/OffloadingFPGAGNURadio_downloadoffer.html.

Simulink plug-in – The green blocks below are compiled and used to target the PicoSDR’s FPGA (they receive data from the ADCs and send data to the DACs). The yellow blocks are kept in the Simulink environment. They hold the System Generator block set implementation of the control algorithm and enable the sending and receiving of data to the system in real time over Gigabit Ethernet.

In the resulting system, the control algorithm’s performance can be validated in real time. It is important to note that with this approach, the latency of the Simulink interface and the Gigabit Ethernet link must be taken into account with respect to the dynamics of the controller.

Putting it all together

The following diagram shows the BSDK, the MBDK, and the different host APIs together.

While you can use the Radio420X on a third-party board (like the ML605) instead of the PicoSDR, you won’t benefit from the BSDK, the MBDK, or any external host API. With the PicoSDR, Nutaq provides all the functional blocks between the user application, the user logic, and the FMC Radio420X as well as the development tools to program the FPGA and the host.

This dramatically accelerates your development process, letting you focus on your application from day one!