How to Make Hardware Soft with Field-Programmable Gate Arrays Jonathan Rose Department of Electrical and Computer Engineering University of Toronto A Field-Programmable Gate Array (FPGA) is chip with a collection of digital logic gates that can be programmably connected together. This programming can take place in less than a second by downloading a series of bits into the chip. This medium blurs the distinction between software and hardware, because it no longer requires the physical construction of chips and wires to create new hardware. It creates new opportunities because the economic and time-to-market barriers that prevent the construction of hardware have been removed. Imagine special-purpose hardware for drawing a very specific graphics image much more quickly than even the fastest software. Imagine customized hardware, created on-the-fly, to break the encryption of a specific message. This talk will describe the basic elements of an FPGA and discuss the advantages that have propelled the large-scale programmable logic market in ten years from nothing to over $1 Billion. The features of the latest and largest FPGAs (which contain almost 100,000 logic "gates") will be described, and the future directions of the devices will be described. A brief description of the software tools needed to design these devices will be given. Finally, a description and an on-line demonstration of a 1 Million Gate multi-FPGA system built at the University of Toronto, the Transmogrifier-2, will be given.