I/O block for a programmable interconnect circuit
First Claim
Patent Images
1. A programmable interconnect circuit, comprising:
- a plurality of input/output (I/O) cells, wherein the I/O cells are arranged into a plurality of N I/O blocks and each I/O cell includes a multiplexer and a register associated with a pin of the programmable interconnect circuit;
a plurality of N routing structures corresponding to the plurality of N I/O blocks, each routing structure configured to receive control and data signals from the plurality of I/O cells and programmably route the control and data signals into a set of control output signals and a set of data output signals;
wherein each I/O block includes a programmable AND array, each programmable AND array being configured to receive the control output signals from its I/O block'"'"'s routing structure and to provide M product term outputs to its I/O block'"'"'s I/O cells, and wherein each I/O block'"'"'s registers may receive data signals from the set of data signals routed by its routing structure.
4 Assignments
0 Petitions
Accused Products
Abstract
A programmable interconnect circuit comprising a plurality of I/O cells arranged into I/O blocks includes a routing structure for each I/O block, wherein each routing structure may programmably route signals between the plurality of I/O cells and the I/O cells within its I/O block. Each I/O cell includes a multiplexer and an I/O circuit associated with a pin of the programmable interconnect circuit. Associated with each I/O block is a control array receiving control signals from its routing structure. An AND array in the control array produces a set of product term control signals for its I/O block from the received control signals.
-
Citations
39 Claims
-
1. A programmable interconnect circuit, comprising:
-
a plurality of input/output (I/O) cells, wherein the I/O cells are arranged into a plurality of N I/O blocks and each I/O cell includes a multiplexer and a register associated with a pin of the programmable interconnect circuit;
a plurality of N routing structures corresponding to the plurality of N I/O blocks, each routing structure configured to receive control and data signals from the plurality of I/O cells and programmably route the control and data signals into a set of control output signals and a set of data output signals;
wherein each I/O block includes a programmable AND array, each programmable AND array being configured to receive the control output signals from its I/O block'"'"'s routing structure and to provide M product term outputs to its I/O block'"'"'s I/O cells, and wherein each I/O block'"'"'s registers may receive data signals from the set of data signals routed by its routing structure.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
an output enable register, wherein each I/O block'"'"'s M product term signals includes an output enable signal for controlling the I/O block'"'"'s output enable registers.
-
-
5. The programmable interconnect circuit of claim 4, wherein the programmable AND array is further configured to provide the logical OR of signals from the set of M product terms signals used to form the set/reset and clock/clock enable signals.
-
6. The programmable interconnect circuit of claim 1, further comprising:
a non-volatile memory for storing configuration data, wherein the configuration data is used to configure the programmable AND array.
-
7. The programmable interconnect circuit of claim 6, wherein the non-volatile memory is in-system programmable.
-
8. The programmable interconnect circuit of claim 1, wherein each routing structure in the plurality of routing structures comprises a data-path routing structure and a control-signal routing structure, each data-path routing structure producing its I/O block'"'"'s set of data output signals, each control routing structure producing its I/O block'"'"'s set of control output signals.
-
9. The programmable interconnect circuit of claim 8, wherein the register in each I/O cell comprises an input register, output register, and an output enable register, the set and reset signals for each input register, output register, and output enable register within an I/O block being derived from the I/O block'"'"'s set of M product terms.
-
10. The programmable interconnect circuit of claim 9, wherein clock and clock enable signals for each input register, output register, and output enable register within an I/O block'"'"'s I/O cells are derived from the I/O block'"'"'s set of M product terms.
-
11. The programmable interconnect circuit of claim 10, wherein the same subset of product terms from the set of M product terms are used to derive the clock and clock enable signals for a given I/O cell'"'"'s output register and output enable register.
-
12. The programmable interconnect circuit of claim 8, wherein each routing structure programmably routes its control and data signals according to the configuration data stored in the non-volatile memory.
-
13. The programmable interconnect circuit of claim 12, wherein the non-volatile memory is electrically erasable.
-
14. A programmable interconnect circuit, comprising;
-
a plurality of input/output (I/O) blocks, each I/O block including a control array and at least two I/O cells, each I/O cell including a multiplexer coupled to an I/O circuit, the control array coupled to the select terminals of each multiplexer and to each I/O circuit; and
a routing structure for receiving input signals and routing them to each I/O block, the routing structure programmable to provide control signals for the control array and data signals for the multiplexers. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A programmable interconnect circuit, comprising:
-
a plurality of input/output (I/O) blocks, each I/O block including a control array and at least sixteen I/O cells, each I/O cell including a multiplexer coupled to an I/O circuit, the control array coupled to the select terminals of a first set of at least four multiplexers through a first common set of control signal paths, to the select terminals of a second set of at least four multiplexers trough a second common set of control signal paths, to the select terminals of a third set of at least four multiplexers through a third common set of control signal paths, to the select terminals of a fourth set of at least four multiplexers through a fourth common set of control signal paths, and to each I/O circuit; and
a routing structure for receiving input signals and routing them to each I/O block, the routing structure programmable to provide control signals for the control array and data signals for the multiplexers. - View Dependent Claims (22)
-
-
23. A programmable semiconductor device, comprising:
-
a plurality of input/output I/O cells each including an output multiplexer coupled to an I/O circuit, the I/O circuit including an input register, an output register, and an output enable register, the input register coupled to an I/O pin and operable to store an input signal received at the pin, the output register coupled to the multiplexer and operable to store an output signal received from the multiplexer for the I/O pin, and the output enable register coupled to an output buffer that is coupled between the output register and the I/O pin, the output enable register operable to control the output buffer to provide an output signal on the I/O pin;
a routing structure for receiving input signals from the I/O pins and routing them to the I/O cells, the routing structure programmable to provide control signals for the registers of the I/O circuit and data signals for the multiplexer within each I/O cell. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
a plurality of data signal paths coupled to input terminals of the output multiplexer; and
a plurality of look-up table (LUT) multiplexers corresponding to the plurality of data signal paths, each LUT multiplexer having its output terminal coupled to its corresponding data signal path, one of its input terminals coupled to a source of high impedance, another of its input terminals coupled to a source of a logic 0 signal, and another of its input terminals coupled to a source of a logic 1 signal, the LUT multiplexers operable to provide, in combination with the output multiplexer, a look-up table for the I/O cell with the logic 0 or logic 1 source selected as the source of the output signal for each LUT multiplexer.
-
Specification