ALU implementation in single PLD logic cell
AssigneeXilinx, Inc.
InventorGoran Bilski
Life of this patent
Estimating the term…
Abstract
Structures and methods that implement an ALU (Arithmetic Logic Unit) circuit in a PLD (Programmable Logic Device) while using only one PLD logic cell to implement a one-bit ALU circuit. The ALU circuit has two data input signals and two operator input signals that select between the adder, subtractor, and other logical functions. A result bit provides the result of the addition, subtraction, or other logical function as selected by the values of the two operator input signals. A carry chain is provided for combining the one-bit ALU circuits to generate multi-bit ALUs. All of this functionality is implemented in a single PLD logic cell per ALU bit.
Claims25
An ALU circuit implemented in a Programmable Logic Device (PLD), the ALU circuit comprising:
- first and second data input terminals providing first and second data input signals, respectively;
- first and second operator input terminals providing first and second operator input signals, respectively;
- a carry-in input terminal;
- a carry-out output terminal;
- a result output terminal;
- a function generator coupled to the first and second data input terminals and the first and second operator input terminals, the function generator being configured to provide:
- an XOR function of the first and second data input signals and the first operator input signal, the XOR function providing an XOR output signal;
- a first multiplexer function of the first and second data input signals, providing a result of a first logical function to a first multiplexer output signal when the first operator input signal is high and providing a result of a second logical function to the first multiplexer output signal when the first operator input signal is low, the first and second logical functions each being functions of at least one of the first and second data input signals;
- and
- a second multiplexer function of the XOR output signal and the first multiplexer output signal, providing the XOR output signal to a function generator output terminal when the second operator input signal is high and providing the first multiplexer output signal to the function
- generator output terminal when the second operator
- input signal is low;
- an AND gate coupled to the first data input terminal and the second operator input terminal and having an AND output terminal;
- a carry multiplexer having a zero data input terminal coupled to the AND output terminal, a one data input terminal coupled to the carry-in terminal, an output terminal coupled to the carry-out terminal, and a select input terminal coupled to the function generator output terminal;
- and
- an XOR circuit having a first input terminal coupled to the function generator output terminal, a second input terminal coupled to the carry-in terminal, and an output terminal coupled to the result output terminal.
A method for configuring a logic cell in a Programmable Logic Device (PLD) to implement an ALU function, the logic cell comprising a function generator, an AND gate, a carry multiplexer, and an XOR gate, the method comprising:
- configuring the function generator to provide a function generator output signal, the function generator output signal being a result of a first logical function when a first operator input signal is high and a second operator input signal is low, being a result of a second logical function when the first and second operator input signals are both low, and being an XOR function of first and second data input signals and the first operator input signal when the second operator input signal is high, the first and second logical functions each being a function of at least one of the first and second data input signals;
- configuring the logic cell such that the AND gate provides to the carry multiplexer an output signal comprising an AND function of the first data input signal and the second operator input signal;
- configuring the logic cell such that the carry multiplexer provides a carry-out signal to the carry-out terminal of the logic cell, the carry-out signal being the AND gate output signal when the function generator output signal is low and being a carry-in input signal of the logic cell when the function generator output signal is high;
- and
- configuring the logic cell such that the XOR gate provides a result output signal comprising an XOR function of the function generator output signal and the carry-in input signal.
A computer storage device comprising configuration data to configure a logic cell in a Programmable Logic Device (PLD) to implement an ALU function, the logic cell comprising a function generator, an AND gate, a carry multiplexer, and an XOR gate, the configuration data comprising:
- a first set of the configuration data that configures the function generator to provide a function generator output signal, the function generator output signal being a result of a first logical function when a first operator input signal is high and a second operator input signal is low, being a result of a second logical function when the first and second operator input signals are both low, and being an XOR function of the first and second data input signals and the first operator input signal when the second operator input signal is high, the first and second logic functions each being a function of at least one of the first and second data input signals;
- a second set of the configuration data that configures the logic cell such that the AND gate provides to the carry multiplexer an output signal comprising an AND function of the first data input signal and the second operator input signal;
- a third set of the configuration data that configures the logic cell such that the carry multiplexer provides a carry-out signal to a carry-out terminal of the logic cell, the carry-out signal being the AND gate output signal when the function generator output signal is low and being a carry-in input signal of the logic cell when the function generator output signal is high;
- and
- a fourth set of the configuration data that configures the logic cell such that the XOR gate provides a result output signal comprising an XOR function of the function generator output signal and the carry-in input signal.
Dependencies are inferred from the claim text.