FPGA

Field-programmable gate array (FPGA). See http://en.wikipedia.org/wiki/Fpga

= Major Vendors=
 * Altera http://altera.com
 * Xilinx http://xilinx.com
 * Latice http://latice.com

= HDL - hardware description languages =
 * VHDL (Ada like syntax)
 * Verilog (C like syntax)
 * SystemVerilog (Extension of Verilog, including verification)
 * MyHDL (Python based HDL, some resemblence to verilog)

= Running Linux on FPGAs = Modern FPGA boards often have either a real CPU that can interface the FPGA logic (also called hard cores, most often PowerPCs) or at least enough resources to emulate a whole CPU in FPGA logic (so called soft cores), which are bit slower than hard cores. The advantage of softcores is that they're configurable and can be placed multiple times on the fpga.

Famous softcore examples are Linux on Leon
 * Nios II by Altera (proprietary)
 * Microblaze by Xilinx (Linux support since 2.6.30) (proprietary)
 * Leon (Sparc V8 compatible) made by Gaisler Research. Opensourced under the terms of the GPL
 * OpenRisc available at OpenCores, licensed under the terms of the GPL

There was also a talk by John Williams (PetaLogix) about "Dynamic Co-simulation of FPGA-based Linux Systems-on-Chip" at the ELC 2011 which can be found [[Media:Elc2011_williams.pdf|here]]

See also John's other talks about FPGAs
 * ELC 2010: [[Media:Jw-ei-elc2010-final.pdf|Custom Hardware Modeling for FPGAs and Embedded Linux Platforms with QEMU]]
 * ELC 2009: [[Media:ELC2009_Embedded_Linux_on_FPGAs_for_fun_and_profit.pdf|ELC2009_Embedded_Linux_on_FPGAs_for_fun_and_profit.pdf]]

= Cheap Dev Boards =

Altera based

 * DE0 by Terasic http://de0.terasic.com/
 * BEMICRO by Arrow Electronics