Programmable logic array device with grouped logic regions and three types of conductors
AssigneeAltera Corporation
InventorsWilliam W. Leong, Richard G. Cliff, Cameron McClintock
Life of this patent
Estimating the term…
Abstract
A programmable logic array device in which programmable logic regions are arranged in groups of four is provided. The device includes direct connect conductors for carrying signals totally within one group of four regions as well as to certain adjacent programmable logic regions, local conductors for carrying signals within groups and among adjacent groups, and global conductors for carrying device-wide signals. Connections among the various conductors, and between conductors and programmable logic regions, are provided to optimize the connection resources by avoiding switched conductor paths wherever possible.
Claims43
A programmable logic array device having first and second substantially orthogonal array dimensions and comprising:
- a plurality of regions of programmable logic arranged in rows and columns substantially along said two orthogonal array dimensions, each of said regions having a plurality of terminals comprising a plurality of inputs and a plurality of outputs, and producing an output signal on said outputs which is a programmable function of an input signal applied to said inputs of said region, said regions being grouped into logic subsets, each of said logic subsets comprising a plurality of said regions, each of said regions belonging to only one of said logic subsets;
- a first group of conductors for conveying signals among said regions, each conductor of said first group of conductors extending substantially parallel to one of said rows and said columns over at least a substantial portion of one of said array dimensions, each of said regions being adjacent at least one conductor of said first group of conductors;
- a second group of conductors for conveying at least one of (a) signals within one of said logic subsets of said plurality of regions, (b) signals between adjacent ones of said logic subsets, and (c) signals between nearby ones of said logic subsets, each conductor of said second group of conductors extending parallel to one of said rows and columns and having a length at least equal to about a dimension of one of said regions and at most equal to about a dimension of said logic subset, each of said regions being adjacent at least one conductor of said second group of conductors;
- a third group of conductors for conveying both (a) signals between any one of said regions and each other region that is (i) adjacent said one of said regions, and (ii) in one of a same row and a same column as said one of said regions, and (b) signals between any one of said regions and each other region that is (i) diagonally adjacent said one of said regions, and (ii) in one of said logic subsets with said one of said regions;
- a first group of connectors for programmably selectively connecting conductors adjacent to any one of said regions to said terminals of said one of said regions;
- and
- a second group of connectors for programmably selectively connecting any conductor in one of said first and second groups of conductors to one of (a) another conductor in said one of said first and second groups of conductors, and (b) a conductor in another of said first and second groups of conductors.
A programmable logic array device having first and second substantially orthogonal array dimensions and comprising:
- a plurality of logic subsets of programmable logic, each of said logic subsets comprising four regions of programmable logic arranged in first and second rows and first and second columns substantially along said two orthogonal array dimensions, each of said regions belonging to only one of said logic subsets, each of said regions having a plurality of terminals comprising a plurality of logic inputs and a plurality of outputs and producing an output signal on said outputs which is a programmable function of an input signal applied to said logic inputs of said region, said terminals further comprising a plurality of register inputs selected from the group consisting of clocks, presets, clears and combinations thereof;
- a first group of conductors for conveying signals among said regions, said first group of conductors comprising a plurality of sets of horizontal first conductors extending substantially parallel to said rows, and a plurality of sets of vertical first conductors extending substantially parallel to said columns, each conductor of said first group of conductors extending substantially parallel to one of said rows and said columns over at least a substantial portion of one of said array dimensions, each of said regions having a first group of terminals having access at least to one of said sets of horizontal first conductors, and having a second group of terminals having access at least to one of said sets of vertical first conductors, each of said terminals of said first and second groups of terminals being for one of (a) input and (b) output, one of said sets of horizontal first conductors intersecting one of said sets of vertical first conductors in a first conductor intersection substantially adjacent the center of each of said logic subsets;
- a second group of conductors for conveying at least one of (a) signals within a logic subset of said plurality of regions, (b) signals between adjacent ones of said logic subsets, and (c) signals between nearby ones of said logic subsets, each conductor of said second group of conductors extending substantially parallel to one of said rows and columns and having a length at least equal to about a dimension of one of said regions and at most equal to about a dimension of said logic subset, each of said logic subsets being associated with two horizontal sets of said second conductors and two vertical sets of said second conductors, each said region in said logic subset having a third group of terminals having access at least to one of said sets of vertical second conductors and having a fourth group of terminals having access at least to one of said sets of horizontal second conductors, each of said terminals of said third and fourth groups of terminals being for one of (a) input and (b) output, said set of vertical first conductors associated with each said logic subset intersecting both said sets of horizontal second conductors associated with said logic subset at respective first-second conductor intersections, and said set of horizontal first conductors associated with each said logic subset intersecting both said sets of vertical second conductors associated with said logic subset at respective first-second conductor intersections;
- a third group of conductors for conveying both (a) signals between any one of said regions and each other region that is (i) adjacent said one of said regions, and (ii) in one of a same row and a same column as said one of said regions, and (b) signals between any one of said regions and each other region that is (i) diagonally adjacent said one of said regions, and (ii) in one of said logic subsets with said one of said regions;
- a first group of connectors for programmably selectively connecting conductors adjacent to any one of said regions to said terminals of said one of said regions, said first group of connectors comprising:
- a sparsely populated matrix of three-state, programmable first connections between said inputs of said region and each of said horizontal and vertical sets of first conductors,
- a sparsely populated matrix of three-state, buffered, programmable first connections between said outputs of said region and each of said horizontal and vertical sets of first conductors,
- a sparsely populated matrix of programmable first connections between said register inputs and at least one of said sets of said first conductors,
- a fully populated matrix of programmable first connections between each respective set of second conductors and inputs of said regions adjacent said respective set, and
- a fully populated matrix of programmable first connections between each respective set of second conductors and outputs of said regions adjacent said respective set;
- and
- a second group of connectors for programmably selectively connecting any conductor in one of said first and second groups of conductors to one of (a) another conductor in said one of said first and second groups of conductors, and (b) a conductor in another of said first and second groups of conductors, said second group of connectors comprising:
- at least one buffered, three-state programmable second connection between at least one of said horizontal first conductors and one of said vertical first conductors in said first conductor intersection,
- at least one buffered programmable second connection between at least one of said first conductors and one of said second conductors in each said first-second conductor intersection, and
- a programmable second connection matrix adjacent each corner of each said logic subset and intersecting a plurality of sets of second conductors associated with said logic subset and adjacent logic subsets for programmably connecting at least one conductor in one of said sets of second conductors to a conductor in another of said sets of second conductors.
A programmable logic array device having first and second substantially orthogonal array dimensions and comprising:
- a plurality of regions of programmable logic arranged in rows and columns substantially along said first and second orthogonal array dimensions, each of said regions having a plurality of terminals comprising a plurality of inputs and at least one output, and producing an output signal on said output which is a programmable function of an input signal applied to said inputs of said region, said regions being grouped into logic subsets, each of said logic subsets comprising a plurality of said regions, each of said regions belonging to only one of said logic subsets;
- a first group of conductors for conducting signals to, from and among said logic subsets, said first group of conductors comprising a plurality of horizontal first conductors extending substantially parallel to said rows, and a plurality of vertical first conductors extending substantially parallel to said columns;
- a second group of conductors, each of said logic subsets having at least one conductor of said second group of conductors associated therewith, for conducting signals to, from and among said regions in said logic subset;
- a third group of conductors, each of which conveys signals directly from one of said regions in one of said logic subsets to another of said regions in said one of said logic subsets;
- a first group of connectors for programmably selectively connecting any conductor in one of said first, second and third groups of conductors to at least one of (a) an input to, and (b) an output of, one of said regions;
- and
- a second group of connectors for programmably selectively connecting conductors in said first group of conductors to other conductors in said first and second groups of conductors;
- wherein:
- each of said logic subsets comprises at least one set of said plurality of horizontal first conductors, and at least one set of said plurality of vertical first conductors, said horizontal first conductors and said vertical first conductors extending beyond said logic subset;
- each of said regions has a first group of terminals each of which has access to at least one said set of said first group of conductors, each of said terminals of said first group of terminals being for one of (a) input and (b) output;
- each of said regions has a second group of terminals each of which has access to at least the other said set of said first group of conductors, each of said terminals of said second group of terminals being for one of (a) input and (b) output;
- said plurality of inputs of each said region comprises register inputs selected from the group consisting of clocks, presets, clears and combinations thereof;
- said register inputs have access to both said sets of said first group of conductors;
- and
- said first group of connectors comprises a sparsely populated matrix of programmable first connections between said register inputs and said first group of conductors.
A programmable logic array device having first and second substantially orthogonal array dimensions and comprising:
- a plurality of regions of programmable logic arranged in rows and columns substantially along said first and second orthogonal array dimensions, each of said regions having a plurality of terminals comprising a plurality of inputs and at least one output, and producing an output signal on said output which is a programmable function of an input signal applied to said inputs of said region, said regions being grouped into logic subsets, each of said logic subsets comprising a plurality of said regions, each of said regions belonging to only one of said logic subsets;
- a first group of conductors for conducting signals to, from and among said logic subsets, said first group of conductors comprising a plurality of horizontal first conductors extending substantially parallel to said rows, and a plurality of vertical first conductors extending substantially parallel to said columns;
- a second group of conductors, each of said logic subsets having at least one conductor of said second group of conductors associated therewith, for conducting signals to, from and among said regions in said logic subset;
- a third group of conductors, each of which conveys signals directly from one of said regions in one of said logic subsets to another of said regions in said one of said logic subsets;
- a first group of connectors for programmably selectively connecting any conductor in one of said first, second and third groups of conductors to at least one of (a) an input to, and (b) an output of, one of said regions;
- and
- a second group of connectors for programably selectively connecting conductors in said first group of conductors to other conductors in said first and second groups of conductors;
- wherein:
- each of said logic subsets comprises at least one set of said plurality of horizontal first conductors, and at least one set of said plurality of vertical first conductors, said horizontal first conductors and said vertical first conductors extending beyond said logic subset;
- each of said regions has a first group of terminals each of which has access to at least one said set of said first group of conductors, each of said terminals of said first group of terminals being for one of (a) input and (b) output;
- and
- said first group of connectors comprises a sparsely populated matrix of programmable first connections between said inputs of said region and said at least one set of said first conductors.
Dependencies are inferred from the claim text.