Logic Synthesis for Field Programmable Gate Array (FPGA) Technology:Look-Up Table Synthesis
Look-Up Table Synthesis
Approaches to synthesize FPGAs with LUTs are summarized in Figure 67.6. Beginning with an optimized AND/OR/NOT Boolean network generated by a general-purpose multilevel logic minimizer, such as MIS-II, these algorithms attempt to minimize the number of LUTs needed to realize the logic network.
Library-Based Mapping
Library-based algorithms were originally developed for use in the synthesis of standard cell designs. It was assumed that there was a small number of predesigned logic elements. The goal of the mapping function was to optimize the use of these blocks. MIS is one such library-based approach that performs multilevel logic minimization. It existed long before the conception of FPGAs and has been used for TLU logic synthesis. Nonequivalent functions in MIS are explicitly described in terms of two-input NAND gates. Therefore, an optimal library needs to cover all functions that can be implemented by the TLU. Library-based algorithms are generally not appropriate for TLU-based FPGAs due to their large number of functions which each CLB can implement.
Direct Approaches
Direct approaches generate the optimized Boolean network directly, without the explicit construction of library components. Two classes of method are used: modified tree-covering algorithms (i.e., Chortle and its improved versions) and two-step methods.
Modified Tree-Covering Approaches
The modified tree-covering approach begins with an AND/OR representation of the optimized Boolean network. Chortle, and its extensions (Chortle-crf and Chortle-d), first decompose the network into a forest of trees by clipping the multiple-fan-out nodes. An optimal mapping of each tree into LUTs is then performed using dynamic programming, and the results are assembled together according to the inter- connection patterns of the forest. The details of the Chortle algorithms are given in Section 67.5.
Two-Step Approaches
Instead of processing the mapping in one direct step, the two-step methods handle the mapping by node decomposition followed by node elimination. The decomposition operation yields a network that is feasible. The node-elimination step reduces the number of nodes by combining nodes based on the particular structure of a CLB.
A Boolean network is feasible if every intermediate node is realized by a feasible function. A feasible function is a function that satisfies |sup(f )| £ K, or informally, can be realized by one CLB.
Different two-step approaches have been proposed and implemented, including MIS-pga1 and MIS-pga2 from University of California, Berkeley, Xmap from University of California, Santa Cruz, and Hydra from Stanford University. Each algorithm has its own advantages and drawbacks. Details of these methods are given in Section 67.6. Comparisons among the direct and two-step methods are given in Section 67.7.
Comments
Post a Comment