## Abstract

The structural tree-based mapping algorithm is an efficient and popular technique for technology mapping. In order to make good use of this mapping technique in FPGA design, it is desirable to design FPGA logic modules based on Boolean functions which can be represented by a tree of gates (i.e., series-parallel or SP functions). Thakur and Wong [1996a; 1996b] studied this issue and they demonstrated the advantages of designing logic modules as universal SP functions, that is, SP functions which can implement all SP functions with a certain number of inputs. The number of variables in the universal function corresponds to the number of inputs to the FPGA module, so it is desirable to have as few variables as possible in the constructed functions. The universal SP functions presented in Thakur and Wong [1996a; 1996b] were designed manually. Recently, there is an algorithm that can generate these functions automatically [Young and Wong 1997], but the number of variables in the generated functions grows exponentially. In this paper, we present an algorithm to generate, for each n > 0, a universal SP function f_{n} for implementing all SP functions with n inputs or less. The number of variables in f_{n} is less than n^{2.376} and the constructions are the smallest possible when n is small (n ≤ 7). We also derived a nontrivial lower bound on the sizes of the optimal universal SP functions (Ω(n log n)).

Original language | English (US) |
---|---|

Pages (from-to) | 416-435 |

Number of pages | 20 |

Journal | Journal of the ACM |

Volume | 46 |

Issue number | 3 |

DOIs | |

State | Published - 1999 |

Externally published | Yes |

## Keywords

- FPGA
- Series-parallel boolean functions
- Technology mapping
- Universal functions

## ASJC Scopus subject areas

- Software
- Control and Systems Engineering
- Information Systems
- Hardware and Architecture
- Artificial Intelligence