Research Abstract |
Field programmable gate arrays (FPGAs) are devices that can be programmed by the user to implement a logic function. Because of short turnaround time, they are becoming increasingly important for rapid prototyping. In addition, they are inexpensive to manufacture. All FPGA architectures consist of repeated arrays of identical logic blocks. A logic block is a versatile configuration of logic elements that can be programmed by the user. The interconnections for the circuit are also programmed. Among various FPGA architectures, we consider the Look up table(LUT) type FPGA where each logic block can realize an arbitrary 5 variable function. In such a FPGA., both logic bloc ks and the interconnections are programmable. In this research, we developed a method for designing LUT type FPGAs by functional decomposition. LUT type FPGAs consists of 5-input LUTs. The outline of the method is 1) Find a decomposition of the form f=g (h(X1),X2), where X2 contains two variables, and the column multiplicities are equal to or less than 8. We have developed an efficient way to find such a decomposition by using Binary Decision Diagrams (BDDs). A function whose column multiplicity is equal to or less than eight is realized by a network for h(X1) with three outputs, followed by a 5-input LUT. The LUT has three inputs from the network for h(X1), and two inputs for X2.2) Decompose the functions recursively until the functions can be realized by 5-input LUTs. This algorithm produced solutions competitive to the previously published methods. Produced networks have regular interconnections, and easily implemented by FPGAs. As a design method for FPGAs, we also developed a design method for AND-EXOR circuits. In many cases, AND-EXOR circuits require fewer connections and gates than AND-OR circuits to realize same function.
|