Abstract:
A programmable, non-volatile transfer-device includes floating gate structures to control the transfer of signals from a set of inputs to a single output. Each floating gate structure includes two gates, logically coupled to each other in a master/slave mode, whereby the programming of the first gate controls the operation of the second gate. The floating gate structures are combined to implement a programmable multiplexer, without the use of static-RAM cells.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates to complementary metal oxide semiconductor (&#34;CMOS&#34;) programmable logic devices, and more particularly, to the use of programmable logic devices as multiplexers. 
     Integrated circuit devices such as programmable logic arrays typically need large numbers of transfer-devices for such purposes as multiplexing various signals through a single output, circuit control, and data transfer. It is frequently desired for these devices to be programmable so that one integrated circuit can be made to satisfy many different needs. It may also be desired for these transfer-devices to be non-volatile (i.e., to retain the stored information even when the circuit is unpowered). 
     Heretofore, multiplexers have been implemented using N-channel transfer-devices which are controlled from volatile static-Random Access Memory (&#34;RAM&#34;) cells. A static-RAM cell is used to program each individual N-channel transfer-device to allow or prohibit the transfer of data across the device. This implementation requires the use of static-RAM cells, and therefore a static-RAM array, thereby increasing the overall cost and complexity of the programmable logic device. 
     In view of the foregoing, it is an object of this invention to utilize a non-volatile floating gate structure in such a manner as to reduce or eliminate the need for static-RAM cells in a programmable logic device multiplexer. 
     SUMMARY OF THE INVENTION 
     This and other objects of the invention are accomplished in accordance with the principles of the invention by providing a floating gate structure whereby programming of a multiplexer can be accomplished without the use of static-RAM cells. The floating gate structure employs 2-T cell elements (comprising two EPROM or EPROM-type transistors labeled T 1  and T 2  with a common floating gate), whereby the two transistors are coupled to operate in the same manner. When transistor T 1  is in an unprogrammed state such that it can conduct, transistor T 2  can conduct. (In this condition transistors T 1  and T 2  are commonly said to be unprogrammed if they are EPROMs.) Conversely, if transistor T 1  is in a programmed state such that it cannot conduct, transistor T 2  cannot conduct. (In this condition transistors T 1  and T 2  are commonly said to be programmed if they are EPROMs.) Transistor T 1  is part of the memory array in the memory plane of the programmable logic device, and is typically programmed by momentarily applying a very high voltage to the word line and a high voltage to the bit line of the selected transistor. This causes a negative charge to be nonvolatily stored on the floating gate of the transistor, thereby disabling the conduction path of the device during normal operation. Due to the common floating gate coupling between transistors T 1  and T 2 , transistor T 2 , which is located in the logic plane of the programmable logic array, is also programmed and no longer conducts, without needing to be exposed to high voltage levels. In this manner, programming of the transfer-device occurs without the use of static-RAM cells. 
     Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description of the preferred embodiments. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic diagram of a first illustrative example of the floating gate structure. 
     FIG. 2 is a schematic diagram of a first illustrative embodiment of the invention. 
     FIG. 3 is a schematic diagram of a second illustrative example of the floating gate structure. 
     FIG. 4 is a schematic diagram of a second illustrative embodiment of the invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In the illustrative example shown in FIG. 1, transfer-device 10 is representative of a floating gate structure comprising memory gate (transistor T 1 ) 12, logic gate (transistor T 2 ) 14, and coupling circuit (polysilicon) 20 that links the floating gates together. In the unprogrammed state, memory gate 12 conducts because there is no charge on floating gate 13, and via coupling circuit 20, there is also no charge on floating gate 15. Logic gate 14 therefore also conducts, which permits the signal IN to flow to OUT. Due to the voltage drop across logic gate 14, the signal at output of logic gate 14 would be below the required level for CMOS devices in the absence of a level-adjusting element like inverter 18 Inverter 18 and optional P-MOS transistor are used to implement the known technique of raising the output signal of logic gate 14 (which is greater than 2.5 volts, but less than 5 volts) to the proper CMOS logic level (i.e., where 5 volts equates to a logic 1). In order to program memory gate 12, WORD Line is momentarily set to a very high voltage such as 13 volts and BIT Line is also momentarily set to a high voltage such as 9 volts in the conventional way by conventional means (not shown). This causes a negative charge to build up on floating gate 13 which inhibits memory gate 12 from conducting at normal logic levels. Coupling circuit 20 causes a similar negative charge to build up on floating gate 15, thereby inhibiting logic gate 14 from conducting at normal logic levels. During normal functional operation, WORD Line is always set to 5 volts which enables logic gate 14 to conduct if floating gate 15 has not been programmed. 
     FIG. 2 shows an embodiment of the invention in the design of multiplexer 30. Multiplexer 30 is a 4-to-1 multiplexer whereby one of four input signals is selected to be output. The following example shows the operation of multiplexer 30 by describing the method of selecting signal IN 4  to be output to OUT. Initially, all four instances of transfer-device 10 are unprogrammed and therefore able to conduct. 
     To program multiplexer 30 to select IN 4  to be output to OUT, WL 1  (WORD Line 1) is momentarily set to a very high voltage such as 13 volts and BL 1  (BIT Line 1) is also momentarily set to a high voltage such as 9 volts. This causes memory gate 32 and logic gate 42 (via coupling circuit 62) to become nonconducting at normal logic levels (as described above), thereby preventing signal IN 3  from reaching OUT. The high voltages are then removed from WL 1  and BL 1 . Next, WL 2  is momentarily set to a very high voltage such as 13 volts and BL 1  is also momentarily set to a high voltage such as 9 volts. This causes memory gate 36 and logic gate 46 (via coupling circuit 66) to become nonconducting at normal logic levels (as described above), thereby preventing signal IN 1  from reaching OUT. The same process is then performed using WL 2  and BL 2  to turn off memory gate 38 and logic gate 48, thereby preventing signal IN 2  from reaching OUT. Memory gate 34 and logic gate 44 are left unprogrammed. After the desired programming of multiplexer 30 has been completed, WL 1  and WL 2  are returned to logic 1 (i.e., 5 volts) and BL 1  and BL 2  are preferably returned to logic 0 (i.e., 0 volts). This applies logic 1 to the gates of logic gates 42, 44, 46, and 48, but only unprogrammed logic gate 44 is thereby rendered conducting. Therefore, only signal IN 4  is seen at OUT. 
     FIG. 3 shows an alternative embodiment of wherein a transfer-device 40 is constructed using two instances of transfer-device 10, two inverters 51 and 53, and N-channel transistor 55. In the manner described above, memory gate 72 or 74 is programmed to be nonconducting at normal logic levels (as described above), thereby rendering logic gate 82 or 84, respectively, similarly nonconducting at normal logic levels (via coupling circuit 92 or 94, as described above). If memory gate 72 is programmed, a logic 1 will be conducted across logic gate 84 during normal operation, thereby enabling N-channel transistor 55 and permitting IN to flow to OUT. If memory gate 74 is programmed, a logic 0 will be conducted across logic gate 82, thereby inhibiting N-channel transistor 55 from conducting and prohibiting IN from flowing to OUT. The advantage of transfer-device 40 over transfer-device 10 is that transfer-device 40 transfers data at a higher speed, because N-channel transistor 55 has a higher gain than logic gate 14. In actual use, the increased performance of transfer-device 40 would be weighed against the increased cost of additional hardware required to implement transfer-device 40. 
     FIG. 4 shows an alternative embodiment of the invention in the design of multiplexer 100. Multiplexer 100 is also a 4-to-1 multiplexer, and is constructed by substituting transfer-device 40 in place of each instance of transfer-device 10 in FIG. 2. For example, memory gate 36 and logic gate 46 comprise an instance of transfer-device 10, which can be replaced with memory gates 101 and 105, logic gates 111 and 115, and N-channel transistor 121. Similar substitutions can be made by replacing memory gate 38 and logic gate 48 with memory gates 102 and 106, logic gates 112 and 116, and N-channel transistor 122; by replacing memory gate 32 and logic gate 42 with memory gates 103 and 107, logic gates 113 and 117, and N-channel transistor 123, and by replacing memory gate 34 and logic gate 44 with memory gates 104 and 108, logic gates 114 and 118, and N-channel transistor 124. By using the above substitutions, a higher performance multiplexer 100 can be designed, at a cost of additional hardware. 
     It will be understood that the foregoing is merely illustrative of the principles of this invention, and that various modifications can be made by those skilled in the art without departing from the scope and spirit of the invention. For example, using additional instances of transfer-device 10, multiplexer 30 can be designed to transfer any number of inputs to a single output. Additionally, any of several different types of programmable array devices (e.g., erasable programmable read only memory (&#34;EPROM&#34;), electrically erasable programmable read only memory (&#34;EEPROM&#34;), or low voltage erasable programmable read only memory (&#34;FLASH&#34;)) can be used to implement the invention. In the appended claims the term EPROM is used generically to refer to all of these types of devices. With these other types of devices, programming steps could be different, but the principle of the invention is the same.