Programmable logic device with internal time-constant multiplexing of signals from external interconnect buses
First Claim
1. A user-programmable device comprising:
- (a) a monolithic substrate having logic and interconnect circuitry provided thereon;
(b) a first plurality of first through Nth Input/Output Blocks (IOB'"'"'s) provided on the substrate for receiving output signals of the substrate interconnect circuitry and coupling the output signals to points outside the substrate, and for receiving input signals from points outside the substrate and supplying the received input signals to the substrate interconnect circuitry;
(c) where the substrate interconnect circuitry includes at least one longline bus extending over or next to the first plurality of IOB'"'"'s, the at least one longline bus having first through Mth longlines, each extending over or next to the first plurality of IOB'"'"'s;
(d) where the Substrate interconnect circuitry further includes bus multiplexing means for selectively coupling respective ones of the first plurality of N IOB'"'"'s bidirectionally to preselected ones of the first through Mth longlines of the at least one longline bus, the bus multiplexing means providing selective bidirectional coupling between at least one of the longlines in the at least one longline bus and a programmably selected one or the other of two IOB'"'"'s among said first plurality of IOB'"'"'s such that signal propagation delay between the at least one longline and the programmably selected one or another of said two IOB'"'"'s is substantially the same irrespective of which of the two IOB'"'"'s is selected; and
(e) where said logic includes a first plurality of first through Kth logic blocks (CLB'"'"'s) operatively coupled to respective ones of the first through Mth longlines of the at least one longline bus.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and on-chip architecture are disclosed for multiplexing signals from selected external interconnect buses to chip internal buses such that bus rerouting can be implemented programmably without substantially affecting timing relations between time-parallel signals of a rerouted bus. An on-chip switch matrix is provided having N input lines crossing with M output lines to provide N times M crosspoints. A plurality of substantially less than N times M programmable interconnect switches (PIP'"'"'s) are distributed symmetrically among the N·M crosspoints such that a same first number of interconnect switches (PIP'"'"'s) are found along each of the N input lines thereby providing equal loading on each input line. The plurality of programmable interconnect switches (PIP'"'"'s) are further distributed among the N·M crosspoints such that a same second number of interconnect switches (PIP'"'"'s) are found along each of the M output lines thereby providing equal loading on each output line.
-
Citations
49 Claims
-
1. A user-programmable device comprising:
-
(a) a monolithic substrate having logic and interconnect circuitry provided thereon; (b) a first plurality of first through Nth Input/Output Blocks (IOB'"'"'s) provided on the substrate for receiving output signals of the substrate interconnect circuitry and coupling the output signals to points outside the substrate, and for receiving input signals from points outside the substrate and supplying the received input signals to the substrate interconnect circuitry; (c) where the substrate interconnect circuitry includes at least one longline bus extending over or next to the first plurality of IOB'"'"'s, the at least one longline bus having first through Mth longlines, each extending over or next to the first plurality of IOB'"'"'s; (d) where the Substrate interconnect circuitry further includes bus multiplexing means for selectively coupling respective ones of the first plurality of N IOB'"'"'s bidirectionally to preselected ones of the first through Mth longlines of the at least one longline bus, the bus multiplexing means providing selective bidirectional coupling between at least one of the longlines in the at least one longline bus and a programmably selected one or the other of two IOB'"'"'s among said first plurality of IOB'"'"'s such that signal propagation delay between the at least one longline and the programmably selected one or another of said two IOB'"'"'s is substantially the same irrespective of which of the two IOB'"'"'s is selected; and (e) where said logic includes a first plurality of first through Kth logic blocks (CLB'"'"'s) operatively coupled to respective ones of the first through Mth longlines of the at least one longline bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A user-configurable switch matrix for use in a user-configurable logic device;
- said switch matrix comprising;
a first plurality of N substantially parallel, first lines, where N is a number equal to or greater than four; a second plurality of M substantially parallel, second lines intersecting with the plurality of N first lines to form N·
M intersection points, where M is a number equal to or greater than four; anda third plurality of J, user-programmable interconnect means dispersed among the N·
M intersection points, where J is a number equal to or greater than eight but less than N·
M;wherein each user-programmable interconnect means is programmable for either creating a connection between the intersecting lines of its intersection point or leaving an open circuit between the intersecting lines at its intersection point; and wherein the J user-programmable interconnect means are dispersed among the N·
M intersection points such that each first line of the first plurality of N lines has a substantially same number of user-programmable interconnect means dispersed along the length of that first line so that each of the N first lines has a substantially same signal propagation delay. - View Dependent Claims (22, 23, 24, 25)
- said switch matrix comprising;
-
26. A user-configurable logic device comprising:
-
an input switch matrix; a user-programmable logic block operatively coupled to receive input signals from the input switch matrix, the user-programmable logic block having a plurality of M'"'"' result output lines for outputting result signals formed by logic operations performed on the input signals received from the input switch matrix, where M'"'"' is a number equal to or greater than four; an output switch matrix formed by a plurality of N'"'"' substantially parallel, output buses intersecting with the M'"'"' result output lines, where N'"'"' is a number equal to or greater than four, where each output bus has a plurality of N" substantially parallel output lines, where N" is a number equal to or greater than four, and where each output bus has associated therewith a bus access node to which a signal from a selected output line of the bus is to be supplied; the output switch matrix further including a plurality of J'"'"', user-programmable interconnect means dispersed among N'"'"'·
M'"'"'·
N" intersection points formed by the intersections of the M'"'"' result output lines with the N'"'"'·
N" output lines of the output buses, where J'"'"' is a number equal to or greater than eight but less than N'"'"'·
M'"'"'·
N";wherein each user-programmable interconnect means is programmable for either creating a connection between the intersecting result output line of its intersection point and the associated bus access node or leaving an open circuit between the intersecting result output line at its intersection point and the associated bus access node; and wherein the J'"'"' user-programmable interconnect means are dispersed among the N'"'"'·
M'"'"'·
N" intersection points such that each result output line of the plurality of M'"'"' result output lines has a substantially same number of user-programmable interconnect means dispersed along the length of that result output line so that each of the M'"'"' result output lines has a substantially same signal propagation delay. - View Dependent Claims (27)
-
-
28. A user-configurable logic device comprising:
-
a package; a first number of I/O leads extending through the package for carrying signals between points inside and outside the package, said first number of I/O leads being partitionable at a given instant into a first subset of input leads and a second subset of output leads; logic means within the package for executing pre-defined logic operations, the user-configurable logic means having a second number of logic input terminals for receiving logic input signals and a third number of logic output terminals for outputting logic output signals responsive to the logic input signals, said pre-defined logic operations defining a relation between the logic input and output signals, wherein the sum of the second and third numbers is greater than the first number; and user-configurable signal routing means within the package for programmably routing signals between the I/O leads and user-defined, corresponding ones of the logic input terminals and the logic output terminals, and through such routing, programmably partitioning the first number of I/O leads into said first subset of input leads and said second subset of output leads; wherein the user-configurable signal routing means includes consistent-routing delay means for maintaining substantially same signal propagation delays for all logic input signals as measured from the user-defined first subset of input leads to corresponding ones of the logic input terminals irrespective of the input signal routing configuration selected by the user, and for maintaining substantially same signal propagation delays for all logic output signals as measured between the user-defined second subset of output leads and corresponding ones of the logic output terminals irrespective of the output signal routing configuration selected by the user. - View Dependent Claims (29, 30)
-
-
31. A user-configurable logic device comprising:
-
a package; a first number of I/O leads extending through the package for carrying signals between points inside and outside the package, said first number of I/O leads being partitionable at a given instant in time into a first subset of input leads and a second subset of output leads; user-configurable logic means within the package for executing user-defined logic operations, the user-configurable logic means having a second number of logic input terminals for receiving logic input signals and a third number of logic output terminals for outputting logic output signals responsive to the logic input signals, said user-defined logic operations defining a relation between the logic input and output signals, wherein the sum of the second and third numbers is greater than the first number, and wherein the third number is greater than the maximum number of I/O leads that can serve at a given instant as said second subset of output leads; and user-configurable output-signal routing means within the package for routing logic output signals from a user-defined subset of the logic output terminals to a corresponding, user-defined subset of the I/O leads, said user-defined subset of the I/O leads serving as the second subset of output leads; wherein the user-configurable output-signal routing means includes consistent output-delay maintenance means for maintaining substantially same signal propagation delays for all logic output signals as measured between the user-defined second subset of output leads and corresponding ones of the logic output terminals irrespective of the output signal routing configuration selected by the user. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A user-configurable logic device comprising:
-
a package; a first number of I/O leads extending through the package for carrying signals between points inside and outside the package, said first number of I/O leads being partitionable at a given instant in time into a first subset of input leads and a second subset of output leads; user-configurable logic means within the package for executing user-defined logic operations, the user-configurable logic means having a second number of logic input terminals for receiving logic input signals and a third number of logic output terminals for outputting logic output signals responsive to the logic input signals, said user-defined logic operations defining a relation between the logic input and output signals, wherein the sum of the second and third numbers is greater than the first number, and wherein the second number is greater than the maximum number of I/O leads that are available to serve at a given instant as said first subset of input leads; and user-configurable input-signal routing means within the package for routing logic input signals from a user-defined subset of the I/O leads to a corresponding, user-defined subset of the logic input terminals, said user-defined subset of the I/O leads serving as the first subset of input leads; wherein the user-configurable input-signal routing means includes consistent input-delay maintenance means for maintaining substantially same signal propagation delays for all logic input signals as measured between the user-defined first subset of input leads and corresponding ones of the logic input terminals irrespective of the input signal routing configuration selected by the user. - View Dependent Claims (37, 38, 39, 40, 41, 42)
-
-
43. A user-programmable device comprising a monolithic substrate having provided thereon:
-
(a) a plurality of first through Nth input/output means for receiving output signals to be output from the substrate and for coupling the output signals to points outside the substrate, or for receiving input signals from points outside the substrate; (b) a plurality of first through Kth configurable logic means each for carrying out a programmably-redefinable logic function; (c) an interconnect structure for providing interconnections between said plurality of configurable logic means and said plurality of input/output means, the interconnect structure including; (c.1) partially-populated crossbar means for selectively providing programmably-redefinable and bidirectional couplings between subsets of the N input/output means and respective subsets of the K configurable logic means, wherein each combination of a subset of input/output means and a respectively cross-couplable subset of configurable logic means contains at least two of said plurality of N input/output means or at least two of said plurality of K configurable logic means, and wherein signal propagation delay between each input/output means and each respectively cross-couplable configurable logic means is substantially the same irrespective of which of the N input/output means is selectively coupled to which of the K configurable logic means. - View Dependent Claims (44, 45, 46, 47, 48, 49)
-
Specification