Advanced FPGAs optimized for Modular Computation
Field Programmable Gate Arrays (FPGAs) have been around since Altera released its EP300 re-programmable PLD in 1984 and Xilinx released its XC2064 FPGA in 1985. FPGAs represent a specific class of re-programmable hardware based on RAM cells which provides for a volatile, yet high density reconfigurable logic array, or “fabric” as it is often called.
Today, FPGA’s are available which support more than one million gates, and thousands of 18×18 multipliers and 20K bit RAM blocks, for example. Furthermore, FPGAs are now offered with full blown processors embedded into the FPGA fabric and advanced I/O interfaces to move data into and out of the device as quickly as possible. Many different variations and configurations of options and features exist in the FPGA market to provide the designer un-precedented capabilities to synthesize advanced logic circuits without lifting a finger! Advanced synthesis tools and complete IP libraries combine to form a complete design infrastructure which targets nearly any imaginable hardware system design. You can even download a powerful FPGA development system for free!
However, one area in which FPGAs excel yet are completely under-used is the area of modular circuits and modular computation. In modular computation, there is a need for basic building blocks, such as small binary multipliers and small RAM look-up-tables (LUTs). This is primarily what a modern FPGA provides. In the early days of modular circuit design, much work was required just to perform a MOD function using gates. Today, an FPGA provides the circuit designer a perfect canvas to construct modular multipliers, adders, subtractors and many other modular circuits without worrying about the deficiencies of yesteryear! In fact, FPGA manufacturers have failed to understand that a high-growth application area for FPGAs is modular circuits, and even existing FPGA devices can serve as a great starting point!
In the future, FPGAs designed to serve the purpose of modular circuit synthesis will significantly outperform their binary equivalents. In certain cases, modular computation circuits already outperform binary in FPGA devices optimized for binary circuits! Hybrid FPGA’s will emerge to provide a mix of both FPGA fabric optimized for modular computation and FPGA fabric optimized for binary computation. FPGA fabric optimized for modular computation may be derived as an option of existing DSP blocks. Advanced DSP blocks featuring enhanced modular operation will operate at more than 1 Ghz and will consume much less resources and power.
But for modular computation to begin its role in the form of FPGAs requires more education to enhance basic knowledge of residue numbers and modular circuit design techniques. Moreover, software support in terms of libraries, debugging tools and Verilog compilers which target modular circuit design is required. Modular computation isn’t just modular, it’s a new number system, and this barrier alone is so significant as to cause the technology to become lost by generations …. if it wasn’t for the power inherent in FPGAs to bring this technology into reality! Because unless you can show it and prove it, nobody really cares about a number system paper!
Thank you, FPGA manufacturers and community!