Routing connections for programmable logic array integrated circuits
AssigneeAltera Corporation
InventorsPeter J. Kazarian, Bruce B. Pedersen, Francis B. Heile, David Wolk Mendel
Life of this patent
Estimating the term…
Abstract
Logic signal routability in programmable logic array integrated circuit devices is improved by selecting the possible interconnections between various resources on the device so that various constraints or goals are satisfied. Improving routability in this way tends to reduce instances in which desired interconnections are blocked by other connections that have already been made.
Claims35
A programmable logic array integrated circuit having a plurality of regions of programmable logic disposed on said circuit in a two-dimensional array of intersecting rows and columns of said regions, each of said rows having an associated plurality of row conductors extending along said row for selectively conveying logic signals to and from the regions in said row, each of said regions having an associated plurality of region feeding conductors, each of which is programmable to selectively feed to the associated region the logic signal on any one of a subset of the row conductors associated with the row that includes said region, each of said regions producing a plurality of intermediate logic signals, each of said regions being paired with another region in the row that includes said region, each of said logic regions including associated programmable region output switches for providing as output logic signals either the intermediate logic signals of said region or the intermediate logic signals of the region that is paired with said region, and each of said regions including associated programmable region output driver circuits for selectively applying each output logic signal of the region output switches associated with said region to a respective one of a subplurality of the row conductors associated with the row that includes said region, each of said rows having an associated plurality of input/output pins, each of said input/output pins having an associated plurality of programmable input drivers for selectively applying a logic signal applied to said input/output pin to a respective one of the row conductors associated with the row that said input/output pin is associated with, and each of said input/output pins also having associated programmable row output switches for selectively applying to said input/output pin the logic signal on any one of a submultiplicity of the row conductors associated with the row that said input/output pin is associated with, said integrated circuit also including a plurality of peripheral conductors, each of which conveys a logic signal adjacent to substantially all rows and all columns of said circuit, each of said rows additionally having associated programmable peripheral conductor switches for selectively applying the logic signal on any one of a further submultiplicity of the row conductors associated with that row to at least one of said peripheral conductors, at least one of said input drivers for each input/output pin selectively applying a logic signal applied to said input/output pin to a respective one of said further submultiplicity of the row conductors associated with the row that said input/output pin is associated with, all of said row conductors to which one of said input drivers is connected also having an approximately similar number of region output driver circuits connected to it, said input drivers associated with each of said input/output pins being connected to row conductors other than the row conductors in said submultiplicity from which the row output switches associated with said input/output pin can apply a logic signal to said input/output pin, the row conductors which can receive the logic signals from the input drivers associated with each row being selected to minimize the number of input/output pins associated with said row that are connectable to each region feeding conductor associated with said row, the row conductors which can receive the logic signal from each input/output pin being further selected so that no region output driver circuits can apply an output logic signal to more than one of the row conductors that can receive a logic signal from an input/output pin, the row conductors to which the region output driver circuits associated with each region selectively apply output logic signals being different from the row conductors to which the region output driver circuits associated with the region paired with said region selectively apply output logic signals, and the row conductors which can receive the logic signal from each input/output pin being still further selected so that each intermediate signal of each pair of regions can be applied to at least one row conductor which is not also capable of receiving a logic signal from an input driver.
A programmable logic array integrated circuit having a plurality of regions of programmable logic disposed on said circuit in a two-dimensional array of intersecting rows and columns of said regions, each of said rows including an associated plurality of memory circuits that are capable of storing data and selectively outputting logic signals indicative of the stored data, the memory circuits associated with each of said rows including a plurality of output terminals and a first plurality of programmable switches for selectively applying said logic signals to any one of a plurality of different numbers of said output terminals so that said logic signals applied to said output terminals can represent data bytes having any one of a plurality of different lengths, each of said rows having an associated plurality of row conductors extending along said row for selectively conveying logic signals to and from the regions in said row, a plurality of column conductors extending parallel to said columns for conveying logic signals between said rows, a second plurality of programmable switches associated with each of said output terminals for selectively connecting the output terminal to any one of a subplurality of said column conductors, and a third plurality of programmable switches associated with each of said rows, each of said switches in the third plurality associated with a row selectively connecting a row conductor associated with said row to any one of a submultiplicity of said column conductors, said subpluralities and submultiplicities being predetermined so that the row conductors associated with a row can receive any one of a plurality of different numbers of said bytes to produce, on said row conductors associated with said row, data words including any one of said plurality of different numbers of said bytes, each of said bytes in each data word coming from said output terminals of said memory circuits associated with a respective one of said rows.
A programmable logic array integrated circuit having a plurality of regions of programmable logic disposed on said circuit in a two-dimensional array of intersecting rows and columns of said regions, each of said rows having an associated plurality of row conductors extending along said row for selectively conveying logic signals to and from the regions in said row, each of said regions having an associated plurality of region feeding conductors, each of which is programmable to selectively feed to the associated region the logic signal on any one of a subset of the row conductors associated with the row that includes said region, each of said regions producing a plurality of intermediate logic signals, each of said regions being paired with another region in the row that includes said region, each of said logic regions including associated programmable region output switches for providing as output logic signals either the intermediate logic signals of said region or the intermediate logic signals of the region that is paired with said region, and each of said regions including associated programmable region output driver circuits for selectively applying each output logic signal of the region output switches associated with said region to a respective one of a subplurality of the row conductors associated with the row that includes said region, said subsets and subpluralities being predetermined so that a majority of said output logic signals of the region output switches associated with each region in each row are precluded from being applied via a row conductor associated with said row to any region feeding conductor associated with a region in said row that can also receive via a row conductor associated with said row an output logic signal from another of the region output switches associated with said region.
A programmable logic array integrated circuit having a plurality of regions of programmable logic disposed on said circuit in a two-dimensional array of intersecting rows and columns of said regions, each of said rows having an associated plurality of row conductors extending along said rows for selectively conveying logic signals to and from the regions in said row, each of said regions having an associated plurality of programmable region feeding conductors, each of which selectively feeds to the associated region the logic signal on any one of a subplurality of the row conductors associated with the row that includes said region, each of said rows having an associated plurality of memory circuits and an associated plurality of memory feeding conductors, each of which selectively feeds to the memory circuits associated with the row with which said memory feeding conductor is associated the logic signal on any one of a submultiplicity of the row conductors associated with said row, said submultiplicities being predetermined so that each row conductor associated with each row can feed the logic signal on that row conductor to a predetermined plural number of said memory feeding conductors, said plural number being less than all of said memory feeding conductors and approximately the same for all of said row conductors, said submultiplicities being further predetermined so that each row conductor associated with a row can feed a group of said memory feeding conductors associated with said row that is at least 50% different than the group of said memory feeding conductors that any other row conductor associated with said row can feed, and said subpluralities and submultiplicities being still further predetermined so that the pattern in which said row conductors associated with each row can feed the region feeding conductors associated with each region in said row is substantially the same as a subset of the pattern in which said row conductors can feed the memory feeding conductors associated with said row.
A programmable logic array integrated circuit having a plurality of logic modules, each of which receives an associated plurality of input signals and each of which is programmable to produce an associated output signal which is a programmable logic function of the associated input signals, said circuit further including a network of conductors for selectively conveying the output signal of each logic module to others of said logic modules in order to make said output signal available for use as one said input signals to said others of said logic modules, said network having an input lead respectively associated with each of said logic modules through which said network normally receives the output signal of the associated logic module, said circuit comprising:
- a first programmable switch for applying either the output signal of a first of said logic modules or the output signal of a second of said logic modules to said input lead that is associated with said first logic module;
- and
- a second programmable switch for applying either the output signal of said second logic module or the output signal of a third of said logic modules to said input lead that is associated with said second logic module.
Dependencies are inferred from the claim text.