IP Library Granted Patent US 9,507,900
Granted Patent B2
US 9,507,900 · App. 14/246,970 · Granted Nov 29, 2016

Method and apparatus for decomposing functions in a configurable IC

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,507,900
App. No.
14/246,970
Granted
Nov 29, 2016
Kind
B2
Abstract

Some embodiments of the invention provide a configurable integrated circuit (“IC”). The configurable IC includes a set of multiplexers that each has a set of input terminals, a set of output terminals, and a set of select terminals. The set of multiplexers includes a group of multiplexers, where at least one input terminal of each multiplexer in the group is a permanently inverting input terminal. During at least a set of cycles during the operation of the configurable IC, several multiplexers in the group of multiplexers are used to implement a particular function.

Claims (25)

1. A method of using computing equipment to implement a function in a configuration integrated circuit (IC) with a plurality of multiplexers, the method comprising:

with the computing equipment, determining whether the function is dependent on a variable that can be removed from the function;

with the computing equipment, decomposing the function into a plurality of sub-functions by performing Davio decomposition in response to determining that the function is dependent on the variable;

with the computing equipment, decomposing the function into a plurality of sub-functions by performing Shannon decomposition in response to determining that the function is not dependent on the variable; and

with the computing equipment, using a multiplexer with a permanently inverting input to performing at least one particular sub-function.

2. The method of claim 1 , wherein each multiplexer has a set of input terminals, a set of output terminals, and a set of select terminals, wherein the multiplexer receives input data along the input and select terminals and performs the particular sub-function on the received input data.

3. The method of claim 2 , wherein the multiplexer further receives at least one constant value along at least one input terminal, while also receiving an input data along at least one input terminal.

4. The method of claim 1 , wherein during a first mode of operation of the configurable IC receives only configuration data along its set of select terminals, while during a second mode of operation of the configurable IC receives non-configuration input data on which the multiplexer performs the particular sub-function.

5. The method of claim 1 , wherein performing the Davio decomposition comprises defining the particular sub-function as an XOR function.

6. The method of claim 1 , wherein performing the Davio decomposition comprises defining the particular sub-function as a function that is equivalent to an XOR function that has at least a negated input, permuted inputs, or a negated output.

7. The method of claim 1 , wherein the configurable IC includes a plurality of logic circuits, wherein the multiplexer is an input select multiplexer that selects an input to a particular logic circuit.

8. The method of claim 7 , wherein the logic circuit performs one of the sub-functions.

9. A configurable integrated circuit (“IC”) comprising:

a set of multiplexers, each with a set of input terminals, a set of output terminals, and a set of select terminals;

said set of multiplexers comprising a group of multiplexers, wherein at least one input terminal of each multiplexer in the group is a permanently inverting input terminal;

wherein, during at least a set of cycles during the operation of the configurable IC, a plurality of multiplexers in the group of multiplexers are used to implement a particular function; and

a set of select multiplexers, each with a first input that receives a user signal, a second input that receives a configuration data bit, a control input, and an output that is coupled to the select terminal of a respective multiplexer in the group of multiplexers.

10. The configurable IC of claim 9 , wherein to implement the particular function, one of the multiplexers in the group of multiplexers performs an XOR function.

11. The configurable IC of claim 9 , wherein to implement the particular function, one of the multiplexers in the group of multiplexers performs a first function that is an equivalent of an XOR function.

12. The configurable IC of claim 11 , wherein the first function is NPN equivalent of the XOR second function, wherein NPN stands for negate input, permute input, and negative output.

13. The configurable IC of claim 9 , wherein the group of multiplexers is a first group of multiplexers;

wherein the set of multiplexers further comprises a second group of multiplexers for use during the set cycles to implement the particular function,

wherein the multiplexers in the second group either (i) do not have any permanently inverting input terminals or (ii) have permanently inverting input terminals but do not use the permanently inverting input terminals when implementing the particular function during the set of cycles.

14. The configurable IC of claim 9 , wherein the first group of multiplexers are used to perform at least one Davio decomposition that decomposes the particular function into sub-functions.

15. The configurable IC of claim 14 , while the second group of multiplexers are used to perform at least one Shannon decomposition that decomposes the particular function or the sub-functions into other sub-functions.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2015
From: TABULA (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: ALTERA CORPORATION
Reel/Frame 036050/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2015
From: TABULA, INC.
To: TABULA (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 035783/0055 →