Xilinx provides multiple tools for creating FPGA based System on Chips, most notably is the Xilinx Embedded Developers Kit (EDK). FPGA's are useful when building a custom asic takes too long or is prohibitively expensive. As FPGA's have become cheaper and more effective the need for custom asics in many computer engineering purposes has declined. Current FPGA systems have grown to be entire system on chips where one or more hard or soft processor is wrapped by reconfigurable logic which implements the standard bus features found in modern computing systems. This new trend has allowed FPGA based SOC's to utilize COTS OS's like Linux.

There is a kernel branch maintained at http://git.xilinx.com where Xilinx maintains patches against the mainline Linux Kernel. These pages describe the process of building the Linux Kernel for Xilinx FPGA's and utilizing Debian Linux on these systems.

In order to tell the kernel about the devices, the device-tree bsp (also hosted at http://git.xilinx.com) was created. This project takes the device map from the EDK tool and transforms it into your standard openfirmware device-tree file as commonly found in PowerPC Macs.

I am only vaguely familiar with the process of developing Debian but have worked for two years with embedded Linux vendors. Expect some noise on various mailing lists and IRC channels about an official port of Debian to the Xilinx FGPA based platform.


Why Debian and not EmDebian? Most of the FPGA's I have worked with have had excessive amounts of ram, processing power, and disk space. On the cost vs complexity scale I have found it easier to work with the standard Debian full installation than the EmDebian cross build environment.

Why was this project started? In the process of doing research at Baylor, I built a Debian system for an FPGA based cluster. This is an effort to formalize and try to establish a community of those with the objective of quickly building up FPGA based systems. I see FPGA's as a large part of the future computing environment if Linux is able to establish itself as the premier operating system for these devices we will have more and more fun toys to play with.

Who is working on this? As of right now, just me. My name is Spenser Gilliland, I am undergraduate Electrical and Computer Engineer at Baylor University. I will be starting my senior year next semester and I was looking for a summer project to wow graduate schools and do something I really enjoy.

Tools Installation

The first step to getting started with FPGA Linux based development is getting your development environment set-up. This is one of the most daunting tasks. There is no complete tutorial on setting up the development tools and integrating them expect one here soon for now refer to baylor-recomp.wikidot.com.