Method for implementing large multiplexers with FPGA lookup tables
AssigneeXilinx, Inc.
InventorsRalph D. Wittig, Sundararajarao Mohan
Life of this patent
Estimating the term…
Abstract
A method for implementing a large multiplexer with FPGA lookup tables. Logic that defines a multiplexer is detected and implemented according to the number of inputs and the target FPGA architecture. In one situation, a large multiplexer is implemented in two stages. The first stage implements wide AND functions of each of the input signals using lookup tables and carry logic. In a second stage, the resulting decoded input signals are combined in a wide OR gate again formed from lookup tables and a carry chain. In another situation, the multiplexer is implemented as a tree structure using lookup tables that implement 2:1 multiplexers in combination with other 2:1 multiplexers provided by configurable logic blocks of the FPGA.
Claims2
A method for implementing a wide multiplexer in an FPGA comprising:
- determining an implementation in the FPGA of the wide multiplexer as a tree multiplexer;
- calculating delay of the tree multiplexer;
- determining an implementation in the FPGA of the wide multiplexer as a decoded AND-OR structure;
- calculating delay of the decoded AND-OR structure;
- and
- selecting that implementation having the least delay.
A method for implementing a wide multiplexer in an FPGA comprising:
- determining a LUT-only implementation as a decode multiplexer using only LUTs and interconnect routing of the FPGA;
- calculating delay of the LUT-only implementation;
- determining a LUT+carry/cascade implementation as a decode multiplexer using a combination of LUTs, carry/cascade chains, and interconnect routing of the FPGA;
- calculating delay of the LUT+carry/cascade implementation;
- and
- implementing the faster of the LUT-only implementation and the LUT+carry/cascade implementation.
Dependencies are inferred from the claim text.