WARPLab 6 Getting Started

Requirements: At least two WARP nodes, a PC with MATLAB and an Ethernet switch. The current WARPLab Reference Design requires a 100Mb Ethernet link for WARP v1 and a 1000Mb Ethernet link for WARP v2/v3. Please use an appropriate speed Ethernet switch with your hardware.

  1. Install Peter Rydesäter's open-source TCP/UDP toolbox for MATLAB (get it free from tcp_udp_ip_2.0.6c. To compile the toolbox under Windows 7, use the following command:
mex -O pnet.c ws2_32.lib -DWIN32
  1. Download the WARPLab Reference M-code to your PC. The instructions are available here. In the final step you can choose the appropriate version to add to the path. For example, to add Version 6.3 of the Reference M-Code the path is 'C:\WARP_Repository\ResearchApps\PHY\WARPLAB\WARPLab_v06_3\M_Code_Reference'. Information about the latest version of the WARPLab reference M-Code can be found here.
  1. Connect your PC and two WARP boards to a common Ethernet switch. Ideally, nothing else should be connected to the same switch.
  1. Set your PC's IP address to
  1. Set the DIP switches on the two WARP boards to zero (0000) and one (0001). At boot, the WARPLab design that runs on the WARP hardware will read this DIP switch and set its IP address accordingly. For assistance in finding the DIP switch that controls this parameter, click on one of the following images that corresponds to the generation of WARP hardware that you use.
WARP v1 (Enlarge Image) WARP v2 (Enlarge Image) WARP v3 (Enlarge Image)
  1. Download the WARPLab bitstream to both boards. The latest WARPLab bitstream is available here. The bitstream can be downloaded either via an external JTAG cable, via a USB cable (connected to the FPGA board's USB port) or a CompactFlash/SD card. Instructions on formatting and loading systems on to a Compact Flash are available here. Instructions for loading systems on to an SD card are available here. After downloading the bitstreams, the hex display on the WARP board should show a single digit 1 for the board with DIP switch set to zero and a single digit 2 for the board with DIP switch set to one. This digit is the last octet of the board's IP address ( or You should be able to ping the boards from your host PC after they are configured.
  1. Try one of the examples. The GUI (warplab_mimo_2x2_GUI and the warplab_siso_example_TxRx) are the best ones to start with. The latest version of the M-Code examples is available here.

Note: For WARP v1 and v2, this design assumes clocks are connected according to the convention illustrated in the clock connection howto.

Using the CM-MMCX with WARP v3

WARP v3 users can use the CM-MMCX clock module to share sampling and/or RF clocks between multiple WARP v3 kits.

CM-MMCX Configuration (Enlarge Image)

The SIP switches on the CM-MMCX board are used to configure the board into a number of different states (shown in the above diagram). For example, the switches can be used to configure the board to act as a host of sample and RF clocks by enabling the MMCX clock outputs on the board. Using MMCX cables to connect this host board to a different WARP v3 node with the CM-MMCX that is configured for off-board clocking allows clocks to be shared.

Last modified 10 years ago Last modified on Oct 18, 2013, 11:41:55 AM

Attachments (4)

Download all attachments as: .zip