An Application-Specific Field Programmable Gate Array (FPGA) device or
fabric is described for use in applications requiring fast
reconfigurability of devices in the field, enabling multiple
personalities for re-using silicon resources (like arrays of large
multipliers in DSP applications) from moment-to-moment for implementing
different hardware algorithms. In a general purpose FPGA device or
fabric, this fast reconfigurability is normally implemented by special
reconfiguration support circuitry and/or additional configuration memory.
Unfortunately, this flexibility requires a large amount of programmable
routing resource and silicon area--limiting the viability in volume
production applications. This invention describes how multi-program FPGA
functionalities may be migrated to smaller die by constructing
implementations with a hybrid FPGA/ASIC interconnect structure. These
implementations retain multi-program capability while requiring a much
smaller silicon area than a conventional FPGA when customized for a
particular set of user applications.