XCELL SOFTWARE JOURNAL: XCELLENCE IN SDR
IIOD Daemon Server
Client Application on Linux
Client Application on Windows
Libiio/Linux
Libiio/Windows
High-level API
High-level API
Local back end
Network back end
Network back end
Network Link
Linux Kernel
IIO devices
Figure 3 — Libiio API and back ends
system. For example, a wireless receiver subsystem modeled in MATLAB and Simulink might be destined for a point-to-point radio link streaming real-time video from an Avnet camera module mounted on the PicoZed SDR carrier card. The hardware-software co-design workflow in HDL Coder™ from MathWorks lets you explore the optimal partition of your design between software and hardware targeting the Zynq SoC (Figure 4). The part destined for programmable logic can be automatically packaged as an IP core, including hardware interface components such as ARM AMBA® AXI4 or AXI4-Lite interface-accessible registers, AXI4 or AXI4-Lite inter24
faces, AXI4-Stream video interfaces, and external ports. The MathWorks HDL Workflow Advisor IP core generation workflow lets you insert your generated IP core into a predefined embedded system project in the Xilinx Vivado® integrated design environment. [8] HDL Workflow Advisor contains all the elements Vivado IDE needs to deploy your design to the SoC platform, except for the custom IP core and embedded software that you generate. If you have a MathWorks Embedded Coder® license, you can automatically generate the software interface model, generate embedded C/C++ code from it, and build and run the executable on the Linux kernel