Overview

The Xillybus mini-distro for Microblaze on SP605/ML605 consists of two or three parts:

  • a CompactFlash image with the runtime environment for the Linux system
  • a bundle to generate the FPGA bitstream
  • a kit for cross compilation of user space applications (optional)

In theory, the FPGA’s bitstream could have been included in the CompactFlash image as well, but Xilinx doesn’t allow distribution of its IP cores on the internet (even as binaries for Xilinx’ devices). To overcome this, an implementation-ready source bundle is available for download. No knowledge about Linux nor FPGA is needed to perform the steps to generate the FPGA bitstream. It does however require the installation of Xilinx’ Embedded development suite on your computer. Xilinx offers this software for a free 30-day evaluation, so there is no cost involved. But frankly speaking, it’s a somewhat daunting and time-consuming task.

The upside is that after running through the entire sequence, you'll also have the environment for making changes in the FPGA sources, and thus able to try out Xillybus as a platform for developing peripherals easily.

The Xillybus IP core, which you may try out for evaluation, allows you to easily transfer data to and from the processor running Linux. On the FPGA side, you’ll attach one side of a standard FIFO to the Xillybus core’s ports in a straightforward way. Connect the other side of that FIFO to your application’s data source or sink. On the processor side, you’ll read and write the data by simple file access, possibly by using standard command-line utilities such as cat, dd and hexdump.

Files to download from this site

Downloading and installing the Xilinx EDK

Important: ISE versions other than 13.2 may not build the project properly, returning errors about missing components in the design. This is a result of a change in how ISE treats embedded IP cores in the project. Since the Linux for Microblaze is no longer maintained, it's not being updated to cope with this.

Unless you already have Xilinx’ ISE Design suite with version 13.2, you’ll need to download the its installer from Xilinx. If you don’t have the Embedded version, you’ll need to acquire a license (possibly an evaluation license at no cost).

The magnitude of the downloaded file is 4-5 GB, so kick this off as soon as possible. To do so:

  • Navigate to Xilinx website at http://www.xilinx.com/, and register as a new user if you don’t have an account on the site. You’ll need to provide a valid email address, as well as other details about yourself. Xilinx allows access to file downloads only to registered users.
  • Once logged in, navigate yourself to the page for download the ISE design suite (possibly this page). It’s best to download version 13.2, since the Xillybus bundle was successfully built with it. But it’s most likely OK to use newer versions. There is no need to request the Embedded suite at this point, since the same chunk is downloaded for all versions. The feature set is determined by the license, which is acquired later on. The software is available for Windows as well as Linux.
  • Once downloaded, install the software, following the instructions. This takes around an hour, and eats up some 15 GB of your disk. On Windows installations, it’s common and recommended to divert from the default installation path in favor of one which doesn’t contain white spaces, and possibly on a non-C: partition. Installing on a network drive is not recommended, as it will slow down operation significantly, and may cause weird behaviours as the network drive tends to refuse service every now and then.
  • The installation wizard will suggest acquiring a license. Choose a 30-day evaluation of the Embedded Edition of the ISE Design Suite. Follow the wizard’s instructions, which may vary, depending on your computer’s configuration. Note that license issues can be handled after the software is completely installed. On Windows, go to Start > Programs > Xilinx ISE Design Suite 13.2 > Accessories > Manage Xilinx Licenses.

Next recommended reading: Setting up the CompactFlash