wiki:WARPLab6/ExtendingWARPLab

Version 3 (modified by mduarte, 15 years ago) (diff)

--

Extending WARPLab

The WAPLAB framework facilitates experimental evaluation of PHYsical (PHY) layer algorithms. However, some novel algorithms may require features not provided in the WARPLab framework. Users are encouraged to modify the WARPLab XPS Reference Design and WARPLab Reference M-Code if this is required in order to meet experiment requirements. For example, if part of the signal processing cannot be done offline in MATLAB but must to be done in real-time, then this signal processing can be implemented in FPGA logic by modifying the WARPLab XPS Reference Design. Depending on the experiment, the users may also have to modify the WARPLab Reference M-Code.

WARPLab Design Flow

  • WARPLab uses a System Generator model for its logic design and XPS to integrate the Sysgen core with the processor and code for interacting with MATLAB.
  • To modify the WARPLab Sysgen model or add a custom peripheral created using Sysgen, the design flow is the following.
    Change WARPLab Sysgen model or create your custom peripheral in Sysgen --> Export to XPS project --> Change C code (If required based on your changes) --> Change M Code (If required based on your changes).
  • If changes are only in C Code or M Code then there is no need to change Sysgen model and there is no need to Export Sysgen Model to XPS.
  • The tutorials on "Designing Custom Peripherals" and "Using a Custom Peripheral in XPS" available here cover the XPS and Sygen design flows. The materials from our last workshop are also a good starting point, we recommend looking at "Lab 3 Building a Simple Transmitter".
  • Commands or actions to be executed by the WARP nodes are sent from MATLAB using the 'warplab_' functions provided in the WARPLab Reference M-Code. The possible commands/actions that can be executed are identified by an ID (or opcode) in the 'warplab_defines.m' and 'warplab_defines.h' files. The