MSSGE Setup with Xilinx 14.x and Matlab 2012b

From Casper
Jump to navigationJump to search

This page explains how to set up the MSSGE toolflow for CASPER development with the Xilinx 14.x tools and Matlab 2012a/b.

  • Note: Compiling for ROACH1/2 can use a lot of RAM. We recommend that you have more than 8GB for your 14.4 compilation machines and ideally an SSD.

Required software

  • Ubuntu 12.04 64bit / RHEL6 / CentOS 6.2 x64. (This page is aimed at Ubuntu, although RHEL is supported by Xilinx)
  • Matlab R2012a/b
  • Xilinx v14.x (Latest 14.7)
  • MSSGE libraries

Tool-Flow Setup

  1. Install the Operating System
  2. Install Matlab 2012a/b
  3. Install Xilinx 14.x (System Edition)
  4. Clone the mlib_devel repository ("git clone git://github.com/casper-astro/mlib_devel.git")
  5. Create a startsg.local file in the root mlib_devel directory to specify your Xilinx and Matlab install path. This should contain the three definitions (changed to suit your particular setup):
export MATLAB_PATH=/opt/MATLAB/R2012b
export XILINX_PATH=/opt/Xilinx/14.7/ISE_DS
export XILINX_PLATFORM=lin64

You can now start system generator by running startsg "./startsg"

Tweaks to be able to compile

Xilinx removed support for several hardware pcores we use for ROACH1/2 from the 14 versions. So the current solution is to add the following pcores from the Xilinx 11 install to your XPS_ROACH_BASE/pcores folder or to your 14 install directory at Xilinx/14.7/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcore. Link to the 11 opb pcores

  • bram_if_cntlr_v1_00_a
  • bram_if_cntlr_v1_00_b
  • ipif_common_v1_00_c
  • opb_arbiter_v1_02_e
  • opb_bram_if_cntlr_v1_00_a
  • opb_ipif_v3_00_a
  • opb_opb_lite_v1_00_a
  • opb_v20_v1_10_c
  • proc_common_v1_00_a

The syntax in the Xilinx Perl scripts is not supported under the Ubuntu default shell Dash. Change the symbolic link sh -> dash to sh -> bash:

  • cd /bin/
  • sudo rm sh
  • sudo ln -s bash sh

Point gmake to make by creating the symbolic link gmake -> make:

  • cd /usr/bin/
  • sudo ln -s make gmake

If you are not getting any blocks in Simulink (Seen in CentOS) change the permissions on /tmp/LibraryBrowser to a+rwx:

  • chmod a+rwx /tmp/LibraryBrowser

Upgrades to the Tool-Flow Repository

  • bee_xps has changed to casper_xps, this means that to run compile your design you need to now run casper_xps NOT bee_xps!
  • The BEE2_XPS_LIB_PATH has been changed to XPS_BASE_PATH, you will need to update your startsg scripts with this.
  • The xps_lib directory has been changed to xsp_base, this also requires a change to the start scripts.
  • The name of the yellow block library has changed to casper xps blockset, update this in your start scripts.
  • BEE_XPS_HW_ROUTES.mat has changed to xps_hw_routes.mat
  • All code pertaining to iBOBs and BEE2s is removed, including the plb bus.
  • The GAVRT lib has been removed.