HOME       UP       PREV       NEXT (Virtualising the FPGA)  

FPGA As The Main Or Only Processor ?


Block Diagram of the Kiwi HLS substrate, ksubs3, installed in a Zynq FPGA (all parts simplified).

The FPGA generally needs connecting to mainstream computing resources, if only for management or file system access. The figure shows a typical setup using a Xilinx Zynq chip (from the Kiwi HLS project) »Kiwi

The so-called `substrate' provides basic start/stop and debugging control, together with access to a programmed I/O (PIO) register file. It also provides services for a network-on-chip between the processing blocks that provides an `FPGA Operating System' API for file server input and output. Finally, it also provides access to DRAM banks and platform-specific inter-FPGA links (not shown).

Will FPGA totally replace Von Neumann? Currently many problems remain: the static-schedule does not work well for all applications, the debugging support is in its infancy and compile times are often hours. The length overhead of programmable wiring adds a lot of capacitance, so only if the data ends up moving far less physical distance will energy be saved. Nonetheless, there are many success stories in areas such as automated trading, database indexing, deep packet inspection, genomics and cryptology. There are many further papers and PhDs to be written ...


6: (C) 2008-18, DJ Greaves, University of Cambridge, Computer Laboratory.