[[TracNav(WARPLab6/TOC)]] = 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 [http://warp.rice.edu/dl/utilities/tcp_udp_ip_2.0.6c.zip 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 }}} 2. Download the WARPLab Reference M-code to your PC. The instructions are available [wiki:edk_user_repository 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 [wiki:WARPLab6/Changelog here]. 3. Connect your PC and two WARP boards to a common Ethernet switch. Ideally, nothing else should be connected to the same switch. 4. Set your PC's IP address to 10.0.0.200 5. 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. ||[[Image(v1Switch.jpg,width=400,link=[attachment:v1Switch.jpg])]]||[[Image(v2Switch.jpg,width=400,link=[attachment:v2Switch.jpg])]]||[[Image(v3Switch.jpg,width=400,link=[attachment:v3Switch.jpg])]]|| || '''[attachment:v1Switch.jpg WARP v1 (Enlarge Image)]''' || '''[attachment:v2Switch.jpg WARP v2 (Enlarge Image)]''' || '''[attachment:v3Switch.jpg WARP v3 (Enlarge Image)]''' || 6. Download the WARPLab bitstream to both boards. The latest WARPLab bitstream is available [wiki:WARPLab6/Releases 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 [wiki:sysace/formatload#FormattingandLoadingSystemsontoaCompactFlash here]. Instructions for loading systems on to an SD card are available [wiki:howto/SD_Config 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 (10.0.0.1 or 10.0.0.2). You should be able to ping the boards from your host PC after they are configured. 7. 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 [wiki:WARPLab6/Releases here]. Note: For WARP v1 and v2, this design assumes clocks are connected according to the convention illustrated in the [wiki:howto/connectclocks clock connection howto]. ---- = Using the CM-MMCX with WARP v3 = WARP v3 users can use the [wiki:HardwareUsersGuides/CM-MMCX CM-MMCX] clock module to share sampling and/or RF clocks between multiple WARP v3 kits. ||[[Image(CM-MMCXSwitch.jpg,width=400,link=[attachment:CM-MMCXSwitch.jpg])]]|| || '''[attachment:CM-MMCXSwitch.jpg 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.