Prototype Wireless Communications Algorithms on Hardware - MATLAB & Simulink (original) (raw)

Hardware support packages are Add Ons that connect MATLAB® and Simulink® simulations to hardware. Add Ons such as SoC Blockset™ Support Package for AMD FPGA and SoC Devices enable you to design, prototype, and verify your designs on hardware. With these support packages, you can:

The workflow to target the FPGA on your Zynq board uses generated HDL code from HDL Coder™ and the HDL Coder Support Package for AMD FPGA and SoC Devices. If you also target the ARM processor for a hardware-software codesign, the workflow additionally usesSimulink Coder™, Embedded Coder®, and Embedded Coder Support Package for AMD SoC Devices.

For examples of how to deploy the Wireless HDL Toolbox™ reference applications to hardware devices, see:

How to Install Support Packages

A support package is an add-on that enables you to use a MathWorks® product with specific third-party hardware and software. Support packages use the license of the base product. For instance, SoC Blockset Support Package for AMD FPGA and SoC Devices requires a license for SoC Blockset.

Install support packages using the MATLABAdd-Ons menu. You can also use the Add-Ons menu to update installed support package software or update the firmware on third-party hardware.

To install support packages, on the MATLABHome tab, in the Environment section, click > . You can filter this list by selecting categories (such as hardware vendor or application area), or by performing a keyword search.

Search the Add-Ons list for AMD, and find these support packages:

When the support package installation is complete, you must set up the host computer and radio hardware. The installer provides guided setup steps.

Design Requirements for Using SoC Blockset Support Package for AMD FPGA and SoC Devices

The SoC Blockset Support Package for AMD FPGA and SoC Devices provides a reference design that you can use to create an IP core that integrates into the radio hardware. Use the HDL Workflow Advisor to guide you through generating a shareable and reusable IP core module using the reference design.

To work with the reference design, your FPGA targeted design must use a streaming data interface with a control signal that indicates the validity of each sample. Wireless HDL Toolbox blocks provide this interface. Use the Sample Control Bus Selector block to separate the valid control signal from the bus.

To deploy a design using the support package, your design must meet these preconditions.

The real-time design encounters a larger volume of data and a larger set of state progressions than you can simulate in Simulink. Make sure to model and generate control logic to handle the restart between subframes. Consider adding extra subsystem ports for debug visibility of these extended states once the design is deployed to the board.

Design for Debugging

Once the design is deployed to the board, you have much less visibility of the internal signals in your design. To improve visibility, you can add temporary output ports to your subsystem before you generate your IP core. Signals that can help with debugging are design state, mux select signals or other control parameters, and data values at intermediate stages of the data path. You can also add input ports and muxes to give the option for external control of parameters such as mux select signals and gain values.

When you simulate the design on the board in External mode, you can drive and view these ports from Simulink. The generated software model provides a Simulink interface to the input and output ports of your design while it is running on the board.

Once you are confident that your design is behaving as intended, you can remove these ports and regenerate the IP core.

Another debugging strategy is to include a known input signal stored in memory on the FPGA. This memory can be part of the generated HDL code from your Simulink model. The LTE MIB Recovery and Cell Scanner Using Analog Devices AD9361/AD9364 (SoC Blockset) example shows an input port externalDataSel that provides a switch between a stored data set and the live data from the radio.

See Also

Topics