Macrocell with flexible product term allocation
First Claim
Patent Images
1. Programmable logic array apparatus comprising a plurality of macrocells each of which receives a finite number of multiple input signals, each macrocell comprising:
- a first logic gate for producing a first logical function of a first number of the input signals, the first number being from zero to the finite number;
a second logic gate for producing a second logical function of a second number of the input signals, the second number being from zero to the finite number, such that the first number added to the second number is finite number; and
allocation logic for receiving the first logical function of the first number of input signals from the first logic gate and allocating the first logical function of the first number of input signals to another macrocell, wherein when the first logical function of a first macrocell is allocated to a second macrocell, the first logic gate of the second macrocell receives the first logical function of the first macrocell the second logical function of the first macrocell is retained by the first macrocell.
3 Assignments
0 Petitions
Accused Products
Abstract
An improved macrocell is provided for summing product term inputs to complete a sum of products. Some or all of a macrocell'"'"'s product terms can be allocated to another macrocell. The macrocell OR function remains available to sum product term inputs, even when other product term inputs in the same macrocell are allocated elsewhere. Macrocells can also by daisy-chained bidirectionally, so that the delay associated with allocating product terms between multiple macrocells can be reduced.
-
Citations
46 Claims
-
1. Programmable logic array apparatus comprising a plurality of macrocells each of which receives a finite number of multiple input signals, each macrocell comprising:
-
a first logic gate for producing a first logical function of a first number of the input signals, the first number being from zero to the finite number; a second logic gate for producing a second logical function of a second number of the input signals, the second number being from zero to the finite number, such that the first number added to the second number is finite number; and allocation logic for receiving the first logical function of the first number of input signals from the first logic gate and allocating the first logical function of the first number of input signals to another macrocell, wherein when the first logical function of a first macrocell is allocated to a second macrocell, the first logic gate of the second macrocell receives the first logical function of the first macrocell the second logical function of the first macrocell is retained by the first macrocell. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A macrocell that receives a plurality of input signals, comprising:
-
a first logic gate for producing a first function of a first number of the input signals; a second logic gate for producing a second logical function of a second number of the input signals; and allocation logic for receiving the function of the first number of input signals from logic gate and allocating the first logical function of the first number of input signals to another macrocell, wherein the allocation logic comprises; a first multiplexer for receiving the first logical function of the first number of input signals, the first multiplexer being connected to the first additional macrocell for directing a selected one of (a) a logic low and (b) the first logical function of the first number of input signals to a first additional macrocell; and a second multiplexer for receiving the first, logical function of the first number of input signals, the second multiplexer being connected to the second additional macrocell for directing a selected one of (a) a logic low and (b) the first logical function of the first number of input. signals to a second additional macrocell.
-
-
9. A macrocell that receives a plurality of input signals, comprising:
-
a first logic gate for producing a first logical function of a first number of the input signals; a second logic gate for producing a second logical function of a second number of the input signals; allocation logic for receiving the first logical function of the first number of input signals from the first logic gate and allocating the first logical function of the first number of input signals to another macrocell; means for selectively directing the first number of input signals to the first logic gate; and means for selectively directing the second number of input signals to the second logic gate, the second number of input signals and the first number of signals being mutually exclusive.
-
-
10. Programmable logic array apparatus comprising a plurality of macrocells, each macrocell receiving a finite number of multiple input signals, the apparatus comprising:
-
a first macrocell, comprising; a first logic gate for providing a first logical function of a first number of input signals, the first number being from zero to the finite number; means for allocating the first number of input signals to a second macrocell distinct from the first macrocell; and means for allocating the first number of input signals to a third macrocell, the third macrocell being distinct from the first and second macrocells. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A macrocell for receiving a plurality of input signals, comprising:
-
a first logic gate for providing a first logical function of a first number of input signals; means for allocating the first number of input signals to a first additional macrocell; and means for allocating the first number of input signals to a second additional macrocell, the second additional macrocell being distinct from the first additional macrocell, wherein the means for allocating the first number of input signals to the first additional macrocell comprises; a first multiplexer for receiving the first number of input signals, the first multiplexer being connected to the first additional macrocell for directing a selected one of (a) a logic low and (b) the first number of input signals to the first additional macrocell. - View Dependent Claims (18)
-
-
19. A macrocell for receiving a plurality of input signals, comprising:
-
a first logic gate for providing a first logical function of a first number of input signals; means for allocating the first number of input signals to a first additional macrocell; means for allocating the first number of input signals to a second additional macrocell, the second additional macrocell being distinct from the first additional macrocell; means for selectively directing the first number of input signals to the first logic gate; and means for selectively directing the second number of input signals to the second logic gate, the second number of input signals and the first number of input signals being mutually exclusive.
-
-
20. A method of allocating product terms between macrocells comprising the steps of:
-
providing a first logical function of a first number of input signals with a first logic gate; providing a second logical function of a second number of input signals with a second logic gate; allocating the first number of input signals to a first macrocell; and allocating the first number of input signals to a second macrocell, the second macrocell being distinct from the first macrocell, wherein the step of allocating the first number of input signals to the first macrocell further comprises the steps of; receiving the first number of input signals with a first multiplexer that is connected to the first macrocell; and directing through the first multiplexer a selected one of (a) a logic low and (b) the first number of input signals to the first macrocell. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
-
28. A method of allocating input signals between macrocells comprising the steps of:
-
providing a first logical function of a first number of input signals with a first logic gate; allocating the first number of signals to a first macrocell; allocating the first number of input signals to a second macrocell, the second macrocell being distinct from the first macrocell; selectively directing the first number of input signals to the first logic gate; and selectively directing the second number of input signals to the second logic gate, the second number of input signals and the first number of input signals being mutually exclusive. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35)
-
-
36. Programmable logic array apparatus comprising:
-
a plurality of macrocells, each of which includes (a) a plurality of first means, each of which is capable of producing an associated intermediate output signal which is an associated selected logical function of a plurality of input signals, and (b) second means capable of producing a final output signal which is a selected logical function of said intermediate output signals, the second means of at least one of said macrocells further including; third means capable of producing a further intermediate output signal which is a selected logical function of at least some of said intermediate output signals; and fourth means for selectively applying either said final output signal or said further intermediate output signal to the second means of at least one other macrocell for use by the second means of that other macrocell as an intermediate output signal. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
Specification