Abstract:
A technique for programming connections of conductors that is particularly adapted to be implemented as part of an integrated circuit so that a number of connections internal of the circuit can be made from outside the circuit in order to customize it after fabrication. A specific arrangement of five switching transistors is particularly advantageous for each cross-point of two conductors to be connected together in one of many possible ways. The desired switching arrangement at each cross-point may be programmed by use of the same conductors being interconnected to carry control signals from outside the circuit to a memory associated with each cross-point switching circuit. While these memories are being programmed, each cross-point is temporarily forced to a desired state for communicating the control signals from outside the circuit to the memories.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates generally to the customizing of integrated circuit connections after fabrication of the circuit, and more specifically to circuits and methods that make such customization possible. 
     The development of a new complex integrated circuit requires a very large investment and takes a considerable amount of time. For that reason, systems designers who use the integrated circuits are limited in their choice of particular circuits available to them. Circuit suppliers have chosen not to design and produce a variety of forms of a particular circuit, in order to maintain a low price. It is extremely expensive to develop the new mask sets and other tooling required for manufacturing each circuit variation. As a result, systems designers who call for purchase of the circuits often have to utilize an integrated circuit that is less than ideal for a particular application. The designers often also have to combine with a particular integrated circuit additional standard circuits to overcome the disadvantage of the initial circuit for a particular application. 
     Therefore, it is a general object of the present invention to provide a technique and integrated circuit wherein the circuit can be programmed to conform to a number of specific circuit implementations that might be desired. 
     It is another object of the present invention to provide a technique for making integrated circuits more flexible to the user without unreasonably expanding the extent or complexity of circuits on the integrated circuit chip. 
     SUMMARY OF THE INVENTION 
     These and additional objects are accomplished by the present invention, wherein, briefly, extra circuits are provided as part of the integrated circuit which allow interconnections of a significant number of conductors to be made after the circuit chip has been manufactured and packaged. The interconnections can be programmed to meet a particular requirement by the user of the circuit after purchasing it, or can be made by the manufacturer or an intermediary after packaging. According to one specific aspect of the present invention, these connections are programmed by sending signals through the circuit pins and the very conductors that are adapted to be connected together in a predetermined manner at their cross-points. Each cross-point to be selectively connected includes a plurality of switching transistors whose state is programmed through the operable circuit conductors. Once the programming is complete, the conductors become connected in a manner to be used for the intended complete circuit. According to another specific aspect of the present invention, a particular configuration of five switching transistors is utilized to selectively connect four conductors together at a cross-point. Each of the four conductors terminates in a switching transistor. These transistors are connected together in pairs. The fifth transistor is connected between joined pairs of conductors. 
    
    
     Additional objects, advantages and features of the various aspects of the present invention will become apparent from the following description of its preferred embodiments, which description should be taken in conjunction with the accompanying drawings. 
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates a portion of an integrated circuit utilizing the selective conductor connection techniques of the present invention; 
     FIG. 2 shows a preferred cross-point switch for use at the conductor cross-points of the circuit of FIG. 1; 
     FIG. 3 illustrates the various connections that may be programmed to be made by the cross-point switching circuit of FIG. 2; and 
     FIGS. 4 and 5 illustrate particular alternative of the switching circuit of FIG. 2 in the integrated circuit of FIG. 1. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring initially to FIG. 1, an example of an integrated circuit is shown which advantageously uses the conductor inter-connection techniques of the present invention. As an example, pins 13, 15, 17 and 19 may terminate each of four conductors in a conductor group 21 on the chip. Similarly, individual pins 23, 25, 27 and 29 may terminate another conductor group 31 from the chip. It is desired to be able to program from outside the chip various connections to these sets of conductors of other conductors and circuit modules. For example, two circuit modules 33 and 35 are shown in FIG. 1 by way of example. Each module has conductors extending from the it for connection to both of the conductor sets 21 and 31. For example, the circuit module 33 includes conductors 37 and 39 for selective connection to conductors of the circuit group 31. A circle 49, for example, indicates a cross-point switch of the type discussed later with respect to FIG. 2. The switch 49 has the capability of connecting the circuit module conductor 37 with one or more of the conductor segments 38, 40 or 41 in accordance with one of a number of predetermined possibilities. Similarly, a cross-point switching circuit 51 is provided for selective connection of the conductors 39, 42, 43 and 52 to each other. Other cross-point switching circuits 53 and 55 are similarly provided for selective connection of other conductors. 
     Interconnection of the conductors 37 and 39 to others of the conductors of the set 31 where switches are not shown in FIG. 1 could be provided, but this example has been chosen to show that only potentially usable inter-connections need to be made possible. Another set of four conductors 57 also extend from the circuit module to the set of conductors 21 wherein any possible interconnection of the two sets of conductors 21 and 57 is possible by providing the sixteen cross-point switching circuits indicated. The circuit modules 33 and 35 may be blocks of logic or any other desired circuit configuration. Besides the circuit modules, another set of conductors 59 is provided for a selective connection to the conductors within the sets 21 and 31. Similarly, yet another set of conductors 61 is so provided. Of course, the particular layout of conductors, circuit modules and cross-point switching circuits will depend upon the particular circuit that is being designed and the number of variations that are being built into it. 
     Referring to FIG. 2, a single one of the cross-point switching circuits will be explained in detail. The elements within the dashed circle 63 provide a variety of possible inter-connections between four circuit conductors A, B, C and D. Each of these conductors terminates in a switching transistor. The conductor A terminates in transistor Q3, the conductor B in transistor Q1, the conductor C in transistor Q2, and the conductor D in transistor Q4. The transistors Q1 and Q3 are connected together, as shown, and the transistors Q2 and Q4 are connected together as part of the switch. The transistors of the switching circuit 63 are preferably of a field effect type. The voltage levels on conductors 65 and 67 are applied to gate elements of the transistors Q1 and Q3, respectively, and thus determine whether the transistors are in their conductive or non-conductive states. Similarly, the transistors Q2 and Q4 include respective gate leads 69 and 71. Another transistor Q5 is connected between the junctions of the two other pairs of transistors. A voltage level on a lead 73 is supplied to the gate of transistor Q5 and determines whether it is conductive or non-conductive, thereby determining whether the junctions between these transistor pairs Q1, Q3 and Q2, Q4 are connected directly together or not. 
     The particular arrangement of five switching transistors illustrated in the circuit 63 has great flexibility in types of connections that may be made between the conductors A, B, C, and D. These variations are illustrated in FIG. 3 wherein the state of each of the transistors Q1, Q2, Q3 and Q4 is given, except in the first entry for a reason explained below. A &#34;0&#34; indicates the particular transistor is in its non-conductive state, while a &#34;1&#34; indicates the transistor is in its conductive state. Each of the five transistors within the switching circuit 63 could be of a permanent programmable nature, such as including a fuse link, or using EPROM or EEROM technology. However, it is preferable to employ ordinary FET MOS transistors whose gates have a voltage applied from a circuit 75 that accompanies each of the switching circuits 63. 
     The circuit 63 has another advantage of being able to share its series conductor transistors with adjacent switching elements, thereby to reduce the number of transistors at each junction to something less than five. Further, a particular circuit application may require that only some of the possible connections illustrated in FIG. 3 are desirable or necessary for many of the cross-points, so only the transistors required to make the number of connections contemplated are utilized. 
     The switch controlling circuit 75 includes, in this particular embodiment, a four bit memory 77 which is programmed from outside the chip. The memory 77 controls the state of each of the transistors within the switching circuit 63. Although there are five transistors to be controlled, the circuit 75 requires only a four-bit memory 77. A circuit 75 also has a feature that a special program/use control signal applied to a line 79 selects between one state of the switch 63 that places it into its switched condition as designated by the contents of the memory 77 (the normal, operating condition), and another state, this other state being that shown in the first designation of FIG. 3 for the purpose of programming the switches, regardless of the contents of the memory 77. This temporary forcing of the switch to a predetermined default condition allows, as discussed hereinafter, the same conductors A, B, C, and D which are being connected together to be used to program the state of the memory 77. 
     Rather than connect each stage of the memory 77 directly to its associated gate of the switch 63 transistors, a plurality of inverter circuits 81, 83, 85, and 87 are provided. An output line 89 of one stage of the memory 77 has its signal level inverted by the inverter 81, the inverted signal being applied to the gate line 65 of transistor Q1. Similarly, a second stage output line 91 is inverted by circuit 83 to become the controlling voltage in line 69. Yet another memory output line 93, through inverter 85, is connected with gate line 67, and an output line 95 is connected through the inverter 87 whose output is the line 71 connected to the gate of transistor Q4. 
     Each of the memory output lines 89, 91, 93 and 95 is also connected to a gate of respective series transistors 97, 99, 101 and 103. These transistors are connected in series between ground potential and a node 104 and form a NAND gate. The gate control line 73 of transistor Q5 is also connected to the node 104. Line 73 is similarly connected to the source and gate of a load transistor 105 and to the gate of a transistor 107. The node 104 is maintained in a &#34;1&#34; state (high) when the circuit is in its normal use state, and thus transistor 107 keeps the inverters 81, 83, 85, and 87 connected to ground potential and transistor Q5 is normally conductive. 
     However, when the bits in the memory 77 are all &#34;1&#34;, the node 104 is pulled low (to a &#34;0&#34; state) since each of the transistors 97, 99, 101 and 10 turned on. The transistor Q5 is then turned off, as a result. The inverting circuits 81, 83, 85, and 87 would normally, under this condition, apply a &#34;0&#34; state to each of the transistors Q1, Q2, Q3 and Q4 to maintain them in their off state but the fact that the node 104 has been pulled to a low voltage causes the transistor 107 to be turned off and the outputs of the inverter circuits applied to the gates of transistors Q1, Q2, Q3 and Q4 go high, thus turning on the transistors. The result is the switching configuration shown in the first line of FIG. 3. All other switching possibilities indicated in FIG. 3 maintain transistor Q5 in its conductive state. A fifth bit for the transistor Q5 need not be stored in the memory 77 to control its switching state under this system, thereby to keep it simple, but transistor Q5 could alternatively be separately controlled by adding a stage to the memory 77, if desired for some other reason. 
     The program/use signal line 79 is applied to the gate of another transistor 109 that is connected between the line 73 and ground potential. The signal is normally low (a &#34;0&#34;) when the circuit is in its use mode. This causes the transistor 109 to be non-conductive (off). The state of the transistors of the circuit 63 will then conform to that set forth in FIG. 3, depending upon what is stored in the memory 77. When the voltage level on the signal line 79 goes high (to a &#34;1&#34;), on the other hand, the transistor 109 is turned on and the node 104 is brought to ground potential regardless of what is in the memory 77. The circuit is then in its program state. The switching transistors Q1, Q2, Q3 and Q4 are forced into their conductive states to give the conductor connection shown in the first entry of FIG. 3 so long as the program signal (a &#34;1&#34;) remains on the line 79. The same things happen in the circuit in response to the program signal as explained in the preceeding paragraph when the memory 77 contains all &#34;1&#39;s&#34;. The transistor 109, when turned on by the program signal, provides an alternate path for pulling the node 104 to ground potential. The circuit conductors A, B, C and D are thus able to carry programming signals to other cross-point switching circuits that may be connected to those conductors regardless of its programmed switch state. 
     The circuit of FIG. 2 is shown to be implemented in n-channel, depletion mode MOS technology. Of course, the same logical functions can be provided by the use of known alternative processing technologies. 
     The four bits of the memory 77 are programmed by application of the appropriate voltage levels to each of their individual input conductors, the four of them being indicated at 111. When the desired bits are impressed on those four lines, a signal in a line 113 causes them to be written into the memory 77. The memory 77 may be of any available type, such as EPROM, EEROM, volatile bi-stable memory, or may even be individual fuses that are somehow blown. The advantage of an EPROM, EEROM or volatile type memory is that it may be reprogrammed at a later time, if desired. 
     The memory 77 can be programmed by somehow extending each of the conductors 111 to outside the integrated circuit chip, but this is, of course, highly impractical since more of the chip would be utilized for the programming circuits than for the desired operating circuits. Therefore, it is preferable to utilize the inter-connect lines to communicate the memory contents from outside the chip to the memories. Such a system is illustrated in FIG. 4 wherein the cross-points 49, 51, 53 and 55 of FIG. 1 are illustrated by way of example. Each of these cross-points has the same circuit, as illustrated in FIG. 2, so its application to the circuit of FIG. 4 is explained only with respect to cross-point 49, for brevity. Each of the memory input lines 111 is connected to a different one of the conductors 40, 43, 44 and 47. Programming circuits 112 are shown to be external to the chip, but connected thereto through conductor pins, then apply the contents designated for memory 77 at the cross-point 49. Alternatively, much of the programming circuit 112 may be placed on the chip itself. 
     The program/use signal is applied at the same time to each of the circuits so that the cross-points can be connected in their program state, as explained previously with respect to FIGS. 2 and 3. The conductors then carry from the programming circuits through each of the cross-points to the furthest cross-points, the contents to be recorded in their memories. When the content to be recorded in the memory 77 at the cross-point 49 is impressed on the pins 23, 25, 27 and 29, a write enable signal in its dedicated line 113 causes that pattern to be stored in its memory. Since none of the other cross-points receive a write enable signal, nothing occurs with them. 
     Another configuration is shown in FIG. 5 wherein the individual write enable lines are eliminated, thereby greatly reducing the number of conductors required for this purpose on the chip. In this embodiment, the write enable signal in the line 113 is generated by a logic circuit 115 that recognizes a unique address of that particular cross-point when the signals of that address are impressed across input conductors 117 to the decoding circuit. The programming circuits 112&#39; of FIG. 5 must then remember the particular, unique address for each of the cross-points whose memories are to be programmed. 
     The embodiment of FIG. 5 provides for communicating those addresses over the conductor set 31 by time division multiplexing. That is, an address of a particular cross-point is put on those four conductors by the programming circuits 112&#39;. The data to be stored in the memory of the circuit at that location is subsequently applied to the same four conductors. Standard techniques may be utilized to distinguish the address from the subsequent data transmission. Once one cross-point has been programmed, the address of another cross-point is impressed on those four conductors, followed by the data to be stored in its memory, and so forth. 
     Many variations of the FIG. 5 embodiment will become apparent. The address lines 117 to each of the decoding circuits for the cross-point programming may use another set of conductors, such as the set 21 of FIG. 1, to receive addresses and data simultaneously. The need for time division multiplexing is then eliminated. Further, a dedicated address bus could be connected to the address decoding circuits of each of the cross-point points. This is undesirable, however, because of the additional conductors necessary. A principal goal of any particular embodiment of the various aspects of the present invention is to reduce the amount of the integrated circuit chip that is required for use by programming elements, but yet being able to provide the desired flexibility in programming the cross-point connections. To state it another way, the goal is to use for the programming function as much of the circuit structure that initially exists as part of the basic operating circuit in order to make the circuit operate in its intended fashion. The dual use of the inter-connecting conductors significantly advances this purpose. 
     Although the various aspects of the present invention have been described with respect to their preferred embodiment, it will be understood that the invention is entitled to protection within the full scope of the appended claims.