Multi-tiered hierarchical high speed switch matrix structure for very high-density complex programmable logic devices
First Claim
1. In an integrated circuit having a plurality of programmable logic circuits wherein each programmable logic circuit includes a plurality of input lines and a plurality of output lines, a programmable hierarchical switch matrix comprising:
- (i) a first programmable switch matrix having a multiplicity of output lines and a multiplicity of input lines;
wherein said first programmable switch matrix selectively connects and disconnects each line in said multiplicity of said programmable first switch matrix input lines to and from at least one line in said multiplicity of first programmable switch matrix output lines;
said first programmable switch matrix output lines are connected to a plurality of input lines of one of said plurality of programmable logic circuits;
and a signal path through said first programmable switch matrix and said one of said plurality of programmable logic circuits defines a first level of said hierarchical switch matrix;
(ii) a second programmable switch matrix having;
a multiplicity of programmable demultiplexers wherein each programmable demultiplexer has an input terminal and N output terminals, where N is an integer, and each programmable demultiplexer selectively connects said input terminal to one of said N output terminals and disconnects remaining output terminals of said N output terminals from said input terminal;
a multiplicity of input lines wherein each input line is connected to one input terminal of one demultiplexer in said plurality of demultiplexers; and
a multiplicity of output lines wherein each output line is connected to an output terminal of at least one demultiplexer in said plurality of demultiplexers;
wherein a set of output lines in said multiplicity of said second programmable switch matrix output lines is coupled to a set of input lines in said multiplicity of said programmable first switch matrix input lines so that another signal path through said second programmable switch matrix, said first programmable switch matrix, and said one of said plurality of programmable logic circuits defines another level of said hierarchical switch matrix; and
a set of output lines in a plurality of output lines of said one of said plurality of programmable logic circuits is coupled to a group of input lines in said multiplicity of input lines of said programmable second switch matrix so that a signal from said programmable logic circuit has a signal route to said second programmable switch matrix without passing through said first switch matrix.
6 Assignments
0 Petitions
Accused Products
Abstract
A hierarchical switch matrix in a very high-density programmable logic device (CPLD) interconnects a multiplicity of programmable logic blocks in the CPLD. A new level of functionality coupled with high speed is provided by the hierarchical switch matrix. The hierarchical switch matrix includes three levels, a global switch matrix, a segment switch matrix and a block switch matrix. The block switch matrix provides a high speed signal path for signals within a programmable logic block. The segment switch matrix provides a high speed means of communication for signals within a segment, while the global switch matrix provides a high speed path for communication between segments. The hierarchical switch matrix of this invention provides a fixed, path independent, uniform, predictable and deterministic time delay for each group of signals routed through the hierarchical switch matrix.
-
Citations
41 Claims
-
1. In an integrated circuit having a plurality of programmable logic circuits wherein each programmable logic circuit includes a plurality of input lines and a plurality of output lines, a programmable hierarchical switch matrix comprising:
-
(i) a first programmable switch matrix having a multiplicity of output lines and a multiplicity of input lines; wherein said first programmable switch matrix selectively connects and disconnects each line in said multiplicity of said programmable first switch matrix input lines to and from at least one line in said multiplicity of first programmable switch matrix output lines; said first programmable switch matrix output lines are connected to a plurality of input lines of one of said plurality of programmable logic circuits; and a signal path through said first programmable switch matrix and said one of said plurality of programmable logic circuits defines a first level of said hierarchical switch matrix; (ii) a second programmable switch matrix having; a multiplicity of programmable demultiplexers wherein each programmable demultiplexer has an input terminal and N output terminals, where N is an integer, and each programmable demultiplexer selectively connects said input terminal to one of said N output terminals and disconnects remaining output terminals of said N output terminals from said input terminal; a multiplicity of input lines wherein each input line is connected to one input terminal of one demultiplexer in said plurality of demultiplexers; and a multiplicity of output lines wherein each output line is connected to an output terminal of at least one demultiplexer in said plurality of demultiplexers; wherein a set of output lines in said multiplicity of said second programmable switch matrix output lines is coupled to a set of input lines in said multiplicity of said programmable first switch matrix input lines so that another signal path through said second programmable switch matrix, said first programmable switch matrix, and said one of said plurality of programmable logic circuits defines another level of said hierarchical switch matrix; and a set of output lines in a plurality of output lines of said one of said plurality of programmable logic circuits is coupled to a group of input lines in said multiplicity of input lines of said programmable second switch matrix so that a signal from said programmable logic circuit has a signal route to said second programmable switch matrix without passing through said first switch matrix. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. In an integrated circuit having a plurality of programmable logic circuits wherein each programmable logic circuit includes a plurality of input lines and a plurality of output lines, a programmable hierarchical switch matrix comprising:
-
(i) a first programmable switch matrix having a multiplicity of output lines and a multiplicity of input lines; wherein said first programmable switch matrix selectively connects and disconnects each line in said multiplicity of said programmable first switch matrix input lines to and from at least one line in said multiplicity of first programmable switch matrix output lines; said first programmable switch matrix output lines are connected to a plurality of input lines of one of said plurality of programmable logic circuits; and a signal path through said first programmable switch matrix and said one of said plurality of programmable logic circuits defines a first level of said hierarchical switch matrix; (ii) a second programmable switch matrix having; a multiplicity of programmable demultiplexers wherein each programmable demultiplexer has an input terminal and N output terminals, where N is an integer, and each programmable demultiplexer selectively connects said input terminal to one of said N output terminals and disconnects remaining output terminals of said N output terminals from said input terminal; a multiplicity of input lines wherein each input line is connected to one input terminal of one demultiplexer in said plurality of demultiplexers; and a multiplicity of bidirectional signal lines wherein each line in said multiplicity of bidirectional signal lines is coupled to an output terminal of one of said programmable demultiplexers; wherein a set of bidirectional signal lines in said multiplicity of said second programmable switch matrix bidirectional signal lines is coupled to a set of input lines in said multiplicity of said programmable first switch matrix input lines so that another signal path through said second programmable switch matrix, said first programmable switch matrix, and said one of said plurality of programmable logic circuits defines another level of said hierarchical switch matrix; and a set of output lines in a plurality of output lines of said one of said plurality of programmable logic circuits is coupled to a group of input lines in said multiplicity of input lines of said programmable second switch matrix so that a signal from said programmable logic circuit has a signal route to said second programmable switch matrix without passing through said first switch matrix. - View Dependent Claims (18, 19, 20, 21)
-
-
22. In a very high density programmable logic device, a hierarchical switch matrix comprising:
-
(i) a programmable block switch matrix having a multiplicity of input lines and a multiplicity of output lines; wherein said programmable block switch matrix selectively connects and disconnects each line in said multiplicity of programmable block switch matrix input lines to and from at least one line in said multiplicity of programmable block switch matrix output lines; said programmable block switch matrix output lines are connected to a plurality of input lines of one of a plurality of programmable logic blocks; and a first signal path through said first programmable switch matrix and said one of said plurality of programmable logic blocks defines a first level of said hierarchical switch matrix; (ii) a programmable segment switch matrix having a multiplicity of input lines and a first bidirectional bus; wherein said programmable segment switch matrix selectively connects and disconnects each line in said multiplicity of programmable segment switch matrix input lines to and from at least one line in said first bidirectional bus; a set of lines in said plurality of output lines of said one of said plurality of programmable logic blocks is connected to a first group of lines in said multiplicity of input lines of said programmable segment switch matrix so that signals from said one of said plurality of programmable logic blocks are provided to said programmable segment switch matrix without passing through the programmable block switch matrix; said multiplicity of programmable block switch matrix input lines is connected to said first bidirectional bus; and a second signal path through said programmable segment switch matrix, said programmable block switch matrix, and said one of said plurality of programmable logic blocks defines a second level of said hierarchical switch matrix; and (iii) a programmable global switch matrix having a multiplicity of bidirectional signal lines; wherein said programmable global switch matrix selectively connects and disconnects each line in said multiplicity of programmable global switch matrix bidirectional signal lines to and from at least one line in said first bidirectional bus; and a third signal path through said programmable global switch matrix, said programmable segment switch matrix, said programmable block switch matrix, and said one of said plurality of programmable logic blocks defines a third level of said hierarchical switch matrix. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. In a very high density programmable logic device, a hierarchical switch matrix comprising:
-
(i) a programmable block switch matrix having a multiplicity of input lines and a multiplicity of output lines; wherein said programmable block switch matrix selectively connects and disconnects said multiplicity of input lines to said multiplicity of output lines; and a signal path through said programmable block switch matrix, and one of a plurality of programmable logic blocks connected to said multiplicity of output lines of said programmable block switch matrix defines a first level of said hierarchical switch matrix and further wherein any other level of said hierarchical switch matrix includes said first level within said any other level; and (ii) a programmable global switch matrix having a multiplicity of output lines and a multiplicity of input lines; wherein said programmable global switch matrix selectively connects and disconnects said multiplicity of programmable switch matrix input lines to said multiplicity of programmable global switch matrix output lines; said multiplicity of output lines of said programmable global switch matrix is coupled to said multiplicity of input lines of said programmable block switch matrix; a set of input lines in said multiplicity of input lines of said programmable global switch matrix is connected to a plurality of output lines of said one of a plurality of programmable logic blocks so that signals from said one of said plurality of programmable logic blocks are provided to said programmable global switch matrix without passing through the programmable block switch matrix; and another signal path through said programmable global switch matrix, said programmable block switch matrix, and said one of a plurality of programmable logic blocks defines another level of said hierarchical switch matrix so that said another level includes said first level. - View Dependent Claims (30, 31, 32, 33)
-
-
34. In a very high density programmable logic device, a hierarchical switch matrix comprising:
-
(i) a programmable block switch matrix having a multiplicity of input lines and a multiplicity of output lines; wherein said programmable block switch matrix selectively connects and disconnects said multiplicity of input lines to said multiplicity of output lines; and a signal path through said programmable block switch matrix and one of a plurality of programmable logic circuits defines a first level of said hierarchical switch matrix and further wherein any other level of said hierarchical switch matrix includes said first level within said any other level; and (ii) a programmable segment switch matrix having a multiplicity of output lines and a multiplicity of input lines; wherein said programmable segment switch matrix selectively connects and disconnects said multiplicity of programmable segment switch matrix input lines to said multiplicity of programmable segment switch matrix output lines; said multiplicity of output lines of said programmable segment switch matrix is connected to said multiplicity of input lines of said programmable block switch matrix; a plurality of output lines of said one of said plurality of programmable logic circuits is connected to a group of lines in said multiplicity of input lines of said programmable segment switch matrix so that signals from said one of said plurality of programmable logic circuits are provided to said programmable segment switch matrix without passing through the programmable block switch matrix; and another signal path through said programmable segment switch matrix, said programmable block switch matrix, and one of a plurality of programmable logic circuits defines another level of said hierarchical switch matrix so that said another level includes said first level. - View Dependent Claims (35, 36, 37)
-
-
38. A method for interconnecting programmable logic blocks that is scalable from a CPLD having a first number of said programmable logic blocks to another CPLD having a second number of said programmable logic blocks comprising:
-
arranging said programmable logic blocks in a CPLD into segments wherein each segment includes a plurality of said programmable logic blocks; interconnecting said plurality of programmable logic blocks in each segment to a programmable segment switch matrix; wherein said programmable segment switch matrix in each segment is independent from said segment switch matrix in each of said other segments; and said plurality of programmable logic blocks within said segment communicate only through said segment switch matrix; and interconnecting each programmable segment switch matrix to a bi-directional bus of a programmable global switch matrix wherein a programmable logic block in one segment communicates with a programmable logic block in another segment through said global switch matrix; and another segment can be added to said CPLD without affecting other segments in said CPLD by interconnecting a segment switch matrix in said another segment to said bi-directional bus of said global switch matrix and so said method of interconnecting is scalable. - View Dependent Claims (39, 40, 41)
-
Specification