We have seen in §11.3.1 that programmable devices can be used to implement combinational logic functions. In fact, modern programmable devices can be programmed (and reprogrammed) to implement general sequential circuits.
Field Programmable Gate Arrays (FPGAs are integrated circuit chips which are capable of implementing digital logic (combinational as well as sequential). The devices can be programmed and reprogrammed many times in circuit. FPGAs can replace large numbers of discrete devices. They can be used for reconfigurable computing, where the device configuration can be changed according to need, so that one chip can perform the function of many. FPGAs and microprocessors/microcontrollers account for the major part of modern digital systems. These will be used in 3rd year.
For example, the Xilinx XC4003EPG84 chips have 238 logic cells, up to 3000 logic gates, and 360 flip flops.
The FPGA devices store programmed configuration data in a volatile RAM-like manner, Figure 185. The XC devices are programmed by loading them with a bit stream of configuration data from either a PROM or from a host computer via a download cable. In some sense the XC devices are like very long configurable shift registers. The XC devices have 3 major elements:
ANU Engineering - ENGN2211