Abstract:
A multi-level non-volatile semiconductor memory device includes a memory cell, a reference voltage generator and a level shifter. The reference voltage generator includes a band gap reference circuit and MOS transistors to switch both of a potential level and temperature coefficient of an output voltage. The level shifter multiplying and dividing the potential level of the output voltage, and generating a first verify voltage applied to the gate of the memory cell in order to verify whether the memory cell has the threshold voltage higher than the first verify voltage, and a second verify voltage applied to the gate of the memory cell in order to verify whether the memory cell has the threshold voltage higher than the second verify voltage, the first verify voltage being different from the second verify voltage, a temperature coefficient of the first voltage being almost the same as that of the second voltage.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is continuation of prior application Ser. No. 09/624,007, filed Jul. 21, 2000 which is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 11-207794, filed Jul. 22, 1999. The entire disclosures of the prior applications are incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention relates to a voltage generator used for compensating for the temperature dependency of a memory cell current in a nonvolatile semiconductor memory device, for example. 
     In recent years, a NAND cell type EEPROM is proposed as one type of an electrically rewritable nonvolatile semiconductor memory device (EEPROM). 
     In the EEPROM, a plurality of memory cells with the n-channel MOSFET structure having, for example, a floating gate as a charge storage layer and a control gate stacked thereon are serially connected by commonly forming the sources and drains of every adjacent two of them, treated as one unit and connected to a bit line. 
     FIGS. 1A and 1B are a pattern plan view showing one NAND cell portion extracted from the memory cell array of the NAND cell type EEPROM and an equivalent circuit diagram thereof. FIGS. 2A and 2B are cross sectional views respectively taken along the  2 A— 2 A line and  2 B— 2 B line of the pattern of FIG.  1 A. 
     The memory cell is formed in a p-type well region formed in a n-type well region which is formed in a p-type semiconductor substrate (for example, silicon substrate). A memory cell array formed of a plurality of NAND cells is formed in a portion of a silicon substrate (or p-type well region)  11  which is surrounded by an element isolating oxide film  12 . In this case, attention is given to one NAND cell and it is explained. In this example, eight memory cells M 1  to M 8  are serially connected to construct one NAND cell. Each of the memory cells M 1  to M 8  is formed by forming a floating gate  14  ( 14   1 ,  14   2 ,  14   3 , . . .  14   8 ) on the substrate  11  with a gate insulating film  13  formed therebetween and stacking a control gate  16  ( 16   1 ,  16   2 ,  16   3 , . . .  16   8 ) on the floating gate  14  with a gate insulating film  15  disposed therebetween. Each n-type diffusion layer  19  ( 19   1 ,  19   2 ,  19   3 , . . .  19   9 ) which is used as the source or drain of the memory cell is commonly used by the two adjacent memory cells and thus the memory cells are serially connected. 
     On the drain side and source side of the NAND cell, first and second selection transistors S 1 , S 2  are respectively formed. The selection transistors S 1 , S 2  have first selection gates  14   9 ,  16   9  and second selection gates  14   10 ,  16   10  which are respectively formed at the same time as the floating gates and control gates of the memory cells are formed. The selection gates  14   9 ,  16   9  are electrically connected to each other in an area which is not shown in the drawing, the selection gates  14   10 ,  16   10  are also electrically connected to each other in an area which is not shown in the drawing, and the selection gates are respectively used as the gate electrodes of the selection transistors S 1 , S 2 . A portion of the substrate in which elements are formed is covered with a CVD oxide film  17  and a bit line  18  is formed on the CVD oxide film. The control gates  16  of the NAND cell are commonly arranged as control gate lines CG 1 , CG 2 , CG 3 , . . . CG 8 . The control gate lines are used as word lines. The selection gates  14   9 ,  16   9  and  14   10 ,  16   10  are also continuously arranged in a row direction as selection gate lines SG 1 , SG 2 . 
     FIG. 3 shows an equivalent circuit of a memory cell array obtained by arranging NAND cells having the same configuration as the NAND cell described above in a matrix form. The source lines are connected to one reference potential (Vs) wiring formed of Al, polysilicon or the like for every 64 bit lines via a contact hole, for example. The reference potential wiring is connected to peripheral circuits. The control gates and first, second selection gates of the memory cell are continuously arranged in the row direction. Generally, a set of memory cells connected to the control gate is called one page and a set of pages disposed between the drain-side (first selection gate) and source-side (second selection gate) selection gates of one set is called one NAND block or simply one block. For example, one page is constructed by memory cells of 256 bytes (256×8). The memory cells of one page are substantially simultaneously programmed. For example, one block is constructed by memory cells of 2048 bytes (2048×8). The memory cells of one block are substantially simultaneously erased. 
     FIG. 4 shows the threshold voltage distribution of the NAND cell in which “0” indicates a programmed state and “1” indicates an erased state. 
     With the above construction, the data readout operation is effected by setting the bit line to an electrically floating state after precharging the bit line to Vcc, setting the control gate of a selected memory cell to 0V, setting the control gates and selection gates of the other memory cells to a power supply voltage Vread (for example, 3.5V), setting the source line to 0V, and detecting a variation in the bit line potential to check whether or not a current flows into the selected memory cell. That is, if data programmed in the memory cell is “0” (the threshold voltage of the memory cell Vth&gt;0), the memory cell is set into the OFF state, and therefore, the bit line is kept at the precharged potential. On the other hand, if data programmed in the memory cell is “1” (the threshold voltage of the memory cell Vth&lt;0), the memory cell is set into the ON state so as to cause the bit line potential to be lowered from the precharged potential by ΔV. Data of the memory cell can be read out by detecting the bit line potential by use of a sense amplifier. 
     Further, in the data programming operation, 0V (“0” programming) or the power supply voltage Vcc (“1” programming) is applied to the bit line according to data to be programmed. The selection gate connected to the bit line is set to Vcc and the selection gate connected to the source line is set to 0V. At this time, 0V is transmitted to the channel of the cell in which “0” is programmed. At the time of “1” programming, since the selection gate connected to the bit line is turned OFF, the channel of the memory cell in which “1” is programmed is set to (Vcc−Vthsg (Vthsg is a threshold voltage of the selection gate)) and set into the electrically floating state. If the threshold voltage of the memory cell disposed nearer to the bit line side with respect to the memory cell in which data is to be programmed has a positive voltage Vthcell, the channel of the memory cell is set to (Vcc−Vthcell). After this, a boosted programming potential Vpgm (=approx. 20V) is applied to the control gate of the selected memory cell and an intermediate potential Vpass (=approx. 10V) is applied to the control gates of the non-selected memory cells. As a result, at the time of data “0”, since the channel potential is set at 0V, a high voltage is applied between the floating gate and the substrate of the selected memory cell so as to cause electrons to be injected from the substrate into the floating gate by the tunneling effect and shift the threshold voltage in a positive direction. On the other hand, at the time of data “1”, the channel set in the electrically floating state is set to an intermediate potential by the capacitive coupling with the control gate and no electrons are injected. 
     In the programming operation of the conventional NAND type flash memory, a verify read operation for checking whether or not the programming operation is sufficiently effected is effected after a programming pulse is applied. The re-programming operation is effected only for the memory cell in which the programming operation is detected to be insufficient by the verify read operation. The verify read operation is the same as the read operation described above except that the selected control gate is not set to 0V but is set to a potential Vvry (for example, 0.5V) as shown in FIG.  4 . The reason why the control gate is set to the potential Vvry which is higher than 0V is to acquire an operation margin of the read operation by programming the memory cell to a sufficiently high threshold voltage. 
     The data erasing operation is effected substantially simultaneously for each block. That is, all of the control gates of the block which is subjected to the erasing process are set to 0V and a boosted potential Vera (approx. 20V) is applied to the p-type well region and n-type well region. The potential of the control gates of the block which is not subjected to the erasing process is raised from the potential set in the electrically floating state to the potential Vera set by the capacitive coupling with the p-type well region. As a result, electrons in the floating gate of the memory cell in the block subjected to the erasing process are discharged into the p-type well region to shift the threshold voltage in a negative direction. Since both of the control gate and p-type well region are set at the boosted potential Vera in the block which is not subjected to the erasing process, the erasing operation is not effected. 
     In the conventional NAND type flash memory described above, a constant voltage is applied from a constant voltage generator to the control gate of the selected memory cell in the read operation or verify read operation. However, at this time, a current flowing through the memory cell varies depending on a temperature change. Therefore, the threshold voltage of the memory cell which varies depending on a temperature change is read and, as a result, there occurs a problem that the threshold voltage distribution is spread. 
     BRIEF SUMMARY OF THE INVENTION 
     According to an aspect of the present invention, there is provided a multi-level non-volatile semiconductor memory device comprising: 
     a memory cell having a gate, drain and source electrodes and being capable of having one of first, second and third threshold voltages; 
     a reference voltage generator including a band gap reference circuit and MOS transistors to switch both of a potential level and temperature coefficient of an output voltage, the band gap reference circuit having a first diode, second diodes and a resistor, an anode of the first diode being virtually connected to one end of the resistor, another end of the resistor being connected to an anode of the second diodes, cathodes of both the first diode and second diodes being grounded, the second diodes connected in parallel, a current flowing through the resistor being increased in dependence on a temperature; 
     a voltage generator which generates a first verify voltage and second verify voltage based on the output voltage of the reference voltage generator, the first verify voltage applied to the gate of the memory cell in order to verify whether the threshold voltage of the memory cell is higher than the first verify voltage, and the second verify voltage applied to the gate of the memory cell in order to verify whether the threshold voltage of the memory cell is higher than the second verify voltage, the first verify voltage being different from the second verify voltage, a temperature coefficient of the first verify voltage being almost the same as a temperature coefficient of the second verify voltage. 
    
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING 
     FIG. 1A is a pattern plan view showing one NAND cell portion extracted from a memory cell array of a NAND cell type EEPROM; 
     FIG. 1B is an equivalent circuit diagram of one NAND cell portion extracted from a memory cell array of a NAND cell type EEPROM; 
     FIG. 2A is a cross sectional view taken along the  2 A— 2 A line in the pattern of FIG. 1A; 
     FIG. 2B is a cross sectional view taken along the  2 B— 2 B line in the pattern of FIG. 1A; 
     FIG. 3 is an equivalent circuit diagram of a memory cell array obtained by arranging NAND cells in a matrix form; 
     FIG. 4 is a diagram for illustrating the threshold voltage distribution of NAND cells; 
     FIG. 5 is a conceptual diagram for illustrating a voltage generator of this invention; 
     FIG. 6A is a circuit diagram showing an example of the concrete construction of the circuit shown in FIG.  5  and showing a current generating circuit for generating a current varying in proportion to a temperature change; 
     FIG. 6B is a circuit diagram showing an example of the concrete construction of the circuit shown in FIG.  5  and showing a constant current generating circuit for generating a current which is independent of a temperature change; 
     FIG. 7 is a circuit diagram showing a band gap reference circuit for generating a reference potential; 
     FIG. 8 is a circuit diagram showing a circuit for deriving the sum/difference of a current varying in proportion to a temperature change and a current independent of the temperature change; 
     FIG. 9A is a circuit diagram showing an example of a circuit for generating a constant current independent of a temperature change, for illustrating another construction of the constant current generating circuit shown in FIGS. 6A and 6B; 
     FIG. 9B is a circuit diagram showing an example of a circuit for generating a current which decreases with a temperature change, for illustrating another construction of the constant current generating circuit shown in FIGS. 6A and 6B; 
     FIG. 10A is a circuit diagram showing a current adding/subtracting circuit, for illustrating a case wherein various voltages having the same temperature dependency are generated by effecting the adding/subtracting operation for the constant current independent of a temperature change and the current decreasing in proportion to the temperature change which are generated in the circuits shown in FIGS. 9A and 9B; 
     FIG. 10B is a circuit diagram showing a DC—DC converting circuit, for illustrating a case wherein various voltages having the same temperature dependency are generated by effecting the adding/subtracting operation for the constant current independent of a temperature change and the current decreasing in proportion to the temperature change which are generated in the circuits shown in FIGS. 9A and 9B; 
     FIG. 11A is a circuit diagram showing a current adding/subtracting circuit, for illustrating a case wherein various voltages having the same temperature dependency are generated by effecting the adding/subtracting operation for the constant current independent of a temperature change and the current decreasing in proportion to the temperature change which are generated in the circuits shown in FIGS. 9A and 9B; 
     FIG. 11B is a circuit diagram showing a DC—DC converting circuit, for illustrating a case wherein various voltages having the same temperature dependency are generated by effecting the adding/subtracting operation for the constant current independent of a temperature change and the current decreasing in proportion to the temperature change which are generated in the circuits shown in FIGS. 9A and 9B; 
     FIG. 12A is a circuit diagram showing a current adding/subtracting circuit, for illustrating a case wherein various voltages having the same temperature dependency are generated by effecting the adding/subtracting operation for the constant current independent of a temperature change and the current decreasing in proportion to the temperature change which are generated in the circuits shown in FIGS. 9A and 9B; 
     FIG. 12B is a circuit diagram showing a DC—DC converting circuit, for illustrating a case wherein various voltages having the same temperature dependency are generated by effecting the adding/subtracting operation for the constant current independent of a temperature change and the current decreasing in proportion to the temperature change which are generated in the circuits shown in FIGS. 9A and 9B; 
     FIG. 13 is a diagram collectively showing the output voltage-temperature characteristics of various potentials derived in the circuits shown in FIGS. 10A and 10B to FIGS. 12A and 12B; 
     FIG. 14 is a diagram for illustrating the relation between the threshold voltage distribution of four-value memory cells and various potentials derived in the circuits shown in FIGS. 10A and 10B to FIGS. 12A and 12B; 
     FIG. 15 is a circuit diagram showing another example of the construction of the current generating circuit for generating a current varying in proportion to a temperature change shown in FIG. 6A; 
     FIG. 16A is a circuit diagram showing a first example of a circuit construction suitable for operational amplifiers in the circuits shown in FIGS. 6A,  6 B,  7  and  15 ; 
     FIG. 16B is a circuit diagram showing a second example of a circuit construction suitable for operational amplifiers in the circuits shown in FIGS. 6A,  6 B,  7  and  15 ; 
     FIG. 17 is a circuit diagram for illustrating a modification of the circuits shown in FIGS. 5 and 8 to  10 B; 
     FIG. 18 is a circuit diagram for illustrating another modification of the circuits shown in FIGS. 5 and 8 to  10 B; 
     FIG. 19 is a circuit diagram showing an example of the construction of a booster circuit in the circuit shown in FIG. 18; 
     FIG. 20 is a circuit diagram showing an example of the construction of a booster control circuit in the circuit shown in FIG. 18; 
     FIG. 21 is a circuit diagram showing a modification of a voltage generator shown in FIG. 18; 
     FIG. 22 is a circuit diagram showing another modification of the voltage generator shown in FIG. 18; 
     FIG. 23 is a circuit diagram showing still another modification of the voltage generator shown in FIG. 18; 
     FIG. 24 is a block diagram showing the schematic construction of a NAND cell type EEPROM; 
     FIG. 25 is a diagram showing the drain current-gate voltage characteristic of a memory cell transistor; and 
     FIG. 26 is a diagram showing the threshold voltage distribution of four-value memory cells. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     [First Embodiment] 
     FIG. 5 is a conceptual diagram for illustrating a voltage generator of this invention. 
     The voltage generator includes current sources  1 ,  2  for generating constant currents independent of a temperature change, current sources  3 ,  4  for generating currents varying in proportion to the temperature change, P-channel MOS transistors PA 1 , PA 2 , N-channel MOS transistors NA 1 , NA 2  and resistor Rout. 
     The current source  1  and the current path of the MOS transistor PA 1  are serially connected between a power supply Vcc and an output terminal  5  and an enable signal EN 1   b  is supplied to the gate of the MOS transistor PA 1 . The current path of the MOS transistor NA 1  and the current source  2  are serially connected between the output terminal  5  and a ground node GND and an enable signal EN 2  is supplied to the gate of the MOS transistor NA 1 . Further, the current source  3  and the current path of the MOS transistor PA 2  are serially connected between the power supply Vcc and the output terminal  5  and an enable signal EN 3   b  is supplied to the gate of the MOS transistor PA 2 . The current path of the MOS transistor NA 2  and the current source  4  are serially connected between the output terminal  5  and the ground node GND and an enable signal EN 4  is supplied to the gate of the MOS transistor NA 2 . Further, the resistor Rout used as a current/voltage converter is connected between the output terminal  5  and the ground node GND. In FIG. 5, the resistor is used as the current/voltage converter, but a MOS transistor can be used, for example. 
     It is supposed that a current flowing through the current source  1  and independent of the temperature change is I 1 , a current flowing through the current source  2  and independent of the temperature change is I 2 , a current flowing through the current source  3  and varying in proportion to the temperature change is I 3 , a current flowing through the current source  4  and varying in proportion to the temperature change is I 4 , and a current flowing through the resistor Rout is I out . 
     Next, the operation of the voltage generator with the above construction is explained. 
     (1) A case wherein a positive temperature characteristic is given: 
     In this case, the enable signals EN 1   b , EN 2 , EN 3   b , EN 4  are set to the low (“L”) level. As a result, since the MOS transistors PA 1 , PA 2  are set into the ON state and the MOS transistors NA 1 , NA 2  are set into the OFF state, the current I out  flowing through the resistor Rout is expressed as follows. 
     
       
           I   out   =I   1   +I   3 .  
       
     
     Therefore, the output voltage Vout becomes as follows. 
     
       
           Vout=Rout×I   out   =Rout ( I   1   +I   3 )  
       
     
     That is, the output voltage becomes a voltage which varies in proportion to the temperature change with respect to the voltage value Rout·I 1 . 
     Alternatively, it is possible to set the enable signals EN 3   b , EN 4  to the “L” level and set the enable signals EN 1   b , EN 2  to a high (“H”) level. In this case, the current I out  flowing through the resistor Rout is expressed as follows. 
     
       
           I   out   =I   3   −I   2 .  
       
     
     Therefore, the output voltage Vout becomes as follows. 
     
       
           Vout=Rout×I   out   =Rout ( I   3   −I   2 )  
       
     
     Also, in this case, the output voltage becomes a voltage which increases in proportion to the temperature change with respect to a desired voltage value. 
     (2) A case wherein a negative temperature characteristic is given: 
     In this case, the enable signals EN 1   b , EN 2  are set to the “L” level and the enable signals EN 3   b , EN 4  are set to the “H” level. As a result, since the MOS transistors PA 1 , NA 2  are set into the ON state and the MOS transistors NA 1 , PA 2  are set into the OFF state, the current I out  flowing through the resistor Rout is expressed as follows. 
     
       
           I   out   =I   1   −I   4 .  
       
     
     Therefore, the output voltage Vout becomes as follows. 
     
       
           Vout=Rout×I   out   =Rout ( I   1   −I   4 )  
       
     
     That is, the output voltage becomes a voltage which decreases in proportion to a temperature change with respect to the voltage value Rout·I 1 . 
     (3) A case wherein the temperature dependency is eliminated: 
     In this case, the enable signals EN 1   b , EN 2 , EN 4  are set to the “L” level and the enable signal EN 3   b  is set to the “H” level. As a result, since the MOS transistor PA 1  is set into the ON state and the MOS transistors NA 1 , NA 2 , PA 2  are set into the OFF state, the current I out  flowing through the resistor Rout is expressed as follows. 
     
       
         I out =I 1 .  
       
     
     Therefore, the output voltage Vout becomes as follows. 
     
       
         
           Vout=Rout×I 
           out 
           =Rout·I 
           1  
         
       
     
     That is, the output voltage is independent of the temperature change. 
     EXAMPLE 
     Next, this invention is described more in detail by use of an example of the concrete circuit of the voltage generator. FIG. 6A shows a current generating circuit for generating a current varying in proportion to a temperature change. The circuit includes an operational amplifier OP 1 , P-channel MOS transistors TP 1  to TP 3 , N-channel MOS transistor TN 1 , resistor R 2  and diodes D 3 , D 4 . A potential Va is applied to the inverting input terminal (−) of the operational amplifier OP 1  and a potential Vb is applied to the non-inverting input terminal (+) thereof. The output terminal of the operational amplifier OP 1  is connected to the gates of the MOS transistors TP 1  to TP 3 . The sources of the MOS transistors TP 1 , TP 2  are connected to the power supply Vcc, the anode of the diode D 3  is connected to the drain of the MOS transistor TP 1 , and one end of the resistor R 2  is connected to the drain of the MOS transistor TP 2 . The cathode of the diode D 3  is connected to the ground node GND and the potential Va on the anode side thereof is applied to the inverting input terminal (−) of the operational amplifier OP 1 . The anodes of the N diodes D 4  are connected to the other end of the resistor R 2  and the cathodes of the diodes D 4  are connected to the ground node GND. The potential Vb on the one-end side of the resistor R 2  is supplied to the non-inverting input terminal (+) of the operational amplifier OP 1 . 
     The source of the MOS transistor TP 3  is connected to the power supply Vcc and the drain thereof is connected to the drain and gate of the MOS transistor TN 1 . The source of the MOS transistor TN 1  is connected to the ground node GND. The potential of the output terminal of the operational amplifier OP 1  is output as V 1  and the potential of the drain common connection node of the MOS transistors TP 3 , TN 1  is output as V 2 . 
     With the above construction, the potential V 1  is controlled by the operational amplifier OP 1  so that the potentials Va and Vb will become equal to each other. At this time, a current I 10  flowing through the resistor R 2  is expressed as follows. 
     
       
           I   10 =( VT/R   2 )×ln  N   (1)  
       
     
     where VT=kT/q (k is the Bolzmann&#39;s constant, q is the charge amount of an electron, T is an absolute temperature). 
     As is clearly understood from the equation (1), the current I 10  varies in proportion to the absolute temperature T. Further, the current I 10  is a stable current which is independent of the power supply voltage Vcc, the threshold voltages of the MOS transistors and the like. 
     FIG. 6B shows a constant current generating circuit for generating a constant current which is independent of a temperature change. The circuit includes an operational amplifier OP 2 , P-channel MOS transistors TP 4 , TP 5 , N-channel MOS transistor TN 2  and resistor R 3 . A reference potential Vref is applied to the inverting input terminal (−) of the operational amplifier OP 2  whose output terminal is connected to the gates of the MOS transistors TP 4 , TP 5 . The source of the MOS transistor TP 4  is connected to the power supply Vcc and the drain thereof is connected to the non-inverting input terminal (+) of the operational amplifier OP 2  and one end of the resistor R 3 . The other end of the resistor R 3  is connected to the ground node GND. 
     The source of the MOS transistor TP 5  is connected to the power supply Vcc and the drain thereof is connected to the drain and gate of the MOS transistor TN 2 . The source of the MOS transistor TN 2  is connected to the ground node GND. The potential of the output terminal of the operational amplifier OP 2  is output as V 3  and the potential of the drain common connection node of the MOS transistors TP 5 , TN 2  is output as V 4 . 
     The reference potential Vref is a voltage which is independent of the temperature change, the power supply voltage Vcc, the threshold voltages of the MOS transistors and the like and is created by use of a band gap reference circuit shown in FIG. 7, for example. The circuit is disclosed in Banba et al., VLSI Symposium 98 Digest of Technical Papers P. 228 to 229 and detail information on the circuit can be obtained by referring to the above document. A current I 20  flowing through the resistor R 3  in the circuit shown in FIG. 7 is expressed as follows. 
     
       
         
           I 
           20 
           =Vref/R 
           3 
         
       
     
     Since Vref is independent of a temperature change, I 20  becomes a constant current which is independent of a temperature change, power supply voltage, the threshold voltages of the transistors and the like. 
     FIG. 8 shows a circuit for deriving the sum/difference of a current varying in proportion to a temperature change and a current independent of the temperature change. The gate potential of P-channel MOS transistors Wp 11  to Wp 16  in the current source  1  is the potential V 3  generated from the constant current source (FIG. 6B) which is independent of the temperature change. Thus, the current source  1  supplies the current I 1  which is independent of the temperature change. The magnitude of the current I 1  is determined by the total sum of the channel widths of the MOS transistors which are set in the ON state in the current source  1 . For example, if only the enable signal EN 1   b   1  is set to the “L” level and the other enable signals EN 1   b   2 , EN 1   b   3 , . . . , EN 1   b   6  are set to the “H” level, then the current I 1  is set to a value as follows. 
     
       
           I   1 =( Wp   11 / Wp   2 )× I   20 =( Wp   11 / Wp   2 )×( Vref/R   3 )  
       
     
     Further, if the enable signals EN 1   b   1 , EN 1   b   2 , EN 1   b   3  are set to the “L” level and the other enable signals EN 1   b   4 , EN 1   b   5 , EN 1   b   6  are set to the “H” level, then the current I 1  is set to a value as follows. 
     
       
           I   1 =[( Wp   11 + Wp   12 + Wp   13 )/ Wp   2 ]× I   20 =[( Wp   11 + Wp   12 + Wp   13 )/ Wp   2 ]×( Vref/R   3 )  
       
     
     Thus, the current of a desired value which is independent of a temperature change can be supplied by selectively setting the enable signals EN 1   b   1 , EN 1   b   2 , EN 1   b   3 , . . . , EN 1   b   5 , EN 1   b   6  to the “H” level/“L” level. 
     Likewise, the potential V 4  generated from the circuit shown in FIG. 6B is supplied to the gates of N-channel MOS transistors Wn 21  to Wn 26  in the current source  2  and a current I 2  which is independent of the temperature change is discharged to the ground node GND. The magnitude of the current I 2  is determined by the total sum of the channel widths of the MOS transistors which are set in the ON state in the current source  2 . For example, if only the enable signal EN 21  is set to the “H” level and the other enable signals EN 22 , EN 23 , . . . , EN 26  are set to the “L” level, then the current I 2  is set to a value as follows. 
     
       
           I   2 =( Wn   21 / Wn   2 )× I   20 =( Wn   21 / Wn   2 )×( Vref/R   3 )  
       
     
     Further, if the enable signals EN 22 , EN 23  are set to the “H” level and the other enable signals EN 21 , EN 24 , EN 25 , EN 26  are set to the “L” level, then the current I 2  is set to a value as follows. 
     
       
           I   2 =[( Wn   22 + Wn   23 )/ Wn   2 ]× I   20 =[( Wn   22 + Wn   23 )/ Wn   2 ]×( Vref/R   3 )  
       
     
     Thus, the current of a desired value which is independent of a temperature change can be supplied by selectively setting the enable signals EN 21 , EN 22 , . . . , EN 25 , EN 26  to the “H” level/“L” level. 
     Since the gate potential of P-channel MOS transistors Wp 31  to Wp 35  in the current source  3  is the potential V 1  generated from the current generating circuit (FIG. 6A) which varies in proportion to a temperature change, the current source  3  supplies the current I 3  which varies in proportion to the temperature change. The magnitude of the current I 3  is determined by the total sum of the channel widths of the MOS transistors which are set in the ON state in the current source  3 . For example, if only the enable signal EN 3   b   1  is set to the “L” level and the other enable signals EN 3   b   2 , EN 3   b   3 , . . . , EN 3   b   5  are set to the “H” level, then the current  13  is set to a value as follows. 
     
       
         I 3 =( Wp   31 / Wp   1 )× I   10 =( Wp   31 / Wp   1 )×( VT/R   2 )×ln  N    
       
     
     Further, if the enable signals EN 3   b   1 , EN 3   b   2  are set to the “L” level and the other enable signals EN 3   b   3 , EN 3   b   4 , EN 3   b   5  are set to the “H” level, then the current I 3  is set to a value as follows. 
     
       
           I   3 =[( Wp   31 + Wp   32 )/ Wp   1 ]× I   10 =[( Wp   31 + Wp   32 )/ Wp   1 ]×( VT/R   2 )×ln  N    
       
     
     Thus, the current of a desired value which varies in proportion to a temperature change can be supplied by selectively setting the enable signals EN 3   b   1 , EN 3   b   2 , . . . , EN 3   b   5  to the “H” level/“L” level. 
     Likewise, the potential V 2  generated from the circuit shown in FIG. 6A is supplied to the gates of N-channel MOS transistors Wn 41  to Wn 45  in the current source  4  and a current I 4  which varies in proportion to a temperature change is discharged. The magnitude of the current I 4  is determined by the total sum of the channel widths of the MOS transistors which are set in the ON state in the current source  4 . For example, if only the enable signal EN 41  is set to the “H” level and the other enable signals EN 42 , EN 43 , . . . , EN 45  are set to the “L” level, then the current I 4  is set to a value as follows. 
     
       
           I   4 =( Wn   41 / Wn   1 )× I   10 =( Wn   41 / Wn   1 )×( VT/R   2 )×ln  N    
       
     
     Further, if the enable signals EN 41 , EN 42  are set to the “H” level and the other enable signals EN 43 , EN 44 , EN 45  are set to the “L” level, then the current I 4  is set to a value as follows. 
     
       
           I   4 =[( Wn   41 + Wn   42 )/ Wn   1 ]× I   10 =[( Wn   41 + Wn   42 )/ Wn   1 ]×( VT/R   2 )×ln  N    
       
     
     Thus, the current of a desired value which varies in proportion to a temperature change can be supplied by selectively setting the enable signals EN 41 , EN 42 , . . . , EN 45  to the “H” level/“L” level. 
     Next, the operations of the circuits shown in FIGS. 6A,  6 B,  7  and  8  are explained. 
     (1) A case wherein a positive temperature characteristic is given: 
     The enable signals EN 21 , EN 22 , EN 23 , . . . , EN 26  and enable signals EN 41 , EN 42 , EN 43  . . . , EN 45  are set to the “L” level in the circuit shown in FIG. 8 to turn OFF all of the MOS transistors in the current sources  2 ,  4  which are supplied with the above enable signals at the gates thereof. Further, the enable signals EN 1   b   1 , EN 1   b   2 , EN 1   b   3 , . . . , EN 1   b   6  and enable signals EN 3   b   1 , EN 3   b   2 , EN 3   b   3  . . . , EN 3   b   5  are set to the “L” level to turn ON all of the MOS transistors in the current sources  1 ,  3  which are supplied with the above enable signals at the gates thereof, and as a result, a current I output  flowing through the resistor Routput is obtained as follows. 
     
       
         
           I 
           output 
           =I 
           1 
           +I 
           3  
         
       
     
     As a result, an output voltage Voutput expressed as follows is obtained. 
     
       
           Voutput=Routput×I   output =( I   1 + I   3 )× Routput    
       
     
     That is, the output voltage Voutput becomes a voltage which varies in proportion to a temperature change with respect to the voltage value Routput·I 1 . Voutput is a function of the ratio of the resistor elements (for example, Rout/R 2 ). Therefore, even if the resistances of the resistance elements are changed due to a variation in the process or temperature change, the output voltage Voutput is not varied. 
     As described above, the value of the current I 1  can be variously set by selectively setting the enable signals EN 1   b   1 , EN 1   b   2 , . . . , EN 1   b   5 , EN 1   b   6  to the “H” level/“L” level and the value of the current I 3  can be variously set by selectively setting the enable signals EN 3   b   1 , EN 3   b   2 , . . . , EN 3   b   5  to the “H” level/“L” level. As a result, the voltage Voutput which can be set to various magnitudes and have various positive temperature characteristics can be obtained. 
     Alternatively, by setting the enable signals EN 1   b   1 , EN 1   b   2 , . . . , EN 1   b   6  to the “H” level and setting the enable signals EN 41 , EN 42 , . . . , EN 45  to the “L” level in FIG. 8, all of the MOS transistors in the current sources  1 ,  4  whose gates are supplied with the above enable signals can be turned OFF. By turning ON the MOS transistors in the current sources  2 ,  3 , the current I output  flowing through the resistor Routput can be expressed as follows. 
     
       
           I output= I   3 − I   2   
       
     
     Therefore, the output voltage Voutput can be expressed as follows. 
     
       
           Voutput=Routput×I   output   =Routput ( I   3   −I   2 )  
       
     
     Also, in this case, since the values of I 2 , I 3  can be set to various values by changing the total sum of the channel widths of the MOS transistors which are set into the ON states in the current sources  2 ,  3 , the voltage Voutput of various values having various positive temperature characteristics can be obtained. 
     (2) A case wherein a negative temperature characteristic is given: 
     By setting the enable signals EN 21 , EN 22 , EN 23 , . . . , EN 26  to the “L” level and setting the enable signals EN 3   b   1 , EN 3   b   2 , EN 3   b   3 , . . . , EN 3   b   5  to the “H” level in the circuit shown in FIG. 8, all of the MOS transistors in the current sources  2 ,  3  whose gates are supplied with the above enable signals are set into the OFF state. By turning ON the MOS transistors in the current sources  1 ,  4 , the current I output  flowing through the resistor Routput can be expressed as follows. 
     
       
           Ioutput=I   1 − I   4   
       
     
     Therefore, the output voltage Voutput can be expressed as follows. 
     
       
           Voutput=Routput×I   output   =Routput ( I   1   −I   4 )  
       
     
     That is, the output voltage Voutput is set to a voltage which decreases in proportion to a temperature change with respect to the voltage value Routput·I 1 . 
     As described above, the value of the current I 1  can be variously set by selectively setting the enable signals EN 1   b   1 , EN 1   b   2 , . . . , EN 1   b   5 , EN 1   b   6  to the “H” level/“L” level and the value of the current I 4  can be variously set by selectively setting the enable signals EN 41 , EN 42 , . . . , EN 45  to the “H” level/“L” level. As a result, the voltage Voutput having various values and various negative temperature characteristics can be obtained. 
     (3) A case wherein the temperature dependency is eliminated: 
     By setting the enable signals EN 21 , EN 22 , EN 23 , . . . , EN 26  and enable signals EN 41 , EN 42 , EN 43 , . . . , EN 45  to the “L” level and setting the enable signals EN 3   b   1 , EN 3   b   2 , EN 3   b   3 , . . . , EN 3   b   5  to the “H” level in the circuit shown in FIG. 8, all of the MOS transistors in the current sources  2 ,  3 ,  4  whose gates are supplied with the above enable signals are set into the OFF state. By turning ON the MOS transistors in the current source  1 , the current I output  flowing through the resistor Routput can be expressed as follows. 
     
       
         Ioutput=I 1   
       
     
     Therefore, the output voltage Voutput can be expressed as follows. 
     
       
         
           Voutput=Routput×I 
           output= 
           Routput·I 
           1 
         
       
     
     That is, the output voltage Voutput is independent of a temperature change. 
     As described above, the value of the current I 1  can be variously set by selectively setting the enable signals EN 1   b   1 , EN 1   b   2 , . . . , EN 1   b   5 , EN 1   b   6  to the “H” level/“L” level. As a result, the voltage Voutput which has various values and is independent of a temperature change can be obtained. 
     Since the current generated in the current generating circuit shown in FIGS. 6A and 6B does not depend on the power supply voltage Vcc and the threshold voltages of the MOS transistors, the output voltage Voutput generated by the circuit shown in FIG. 8 becomes a stable voltage which does not depend on the power supply voltage Vcc and the threshold voltages of the MOS transistors. 
     FIGS. 9A and 9B are circuit diagrams for illustrating other examples of the constructions of the current generating circuit and the constant current generating circuit shown in FIGS. 6A and 6B. 
     “ACTIVE” is an operational amplifier activating signal which is set at a Vdd (power supply voltage or chip internal power supply voltage) level during the operation. “Vref” is a constant voltage (1V) which is generated from the band gap reference circuit and is independent of a temperature change. The circuit of FIG. 9A generates a constant current I con  which is independent of the temperature change and the circuit of FIG. 9B generates a current I var  which decreases in proportion to the temperature change. In FIGS. 9A and 9B, since a potential VA is controlled to be set equal to the reference potential Vref, the constant current I con  can be expressed as follows. 
     
       
         
           I 
           con 
           =Vref/RA  
         
       
     
     Thus, the constant current I con  becomes a constant current which is independent of the temperature change. Further, a current flowing through the diode D 5  is constant. In this case, a potential VC decreases in proportion to a temperature change. 
     That is, VC can be expressed as follows. 
     
       
           VC=B   1 − B   2 × T    
       
     
     where B 1 , B 2  are constants. 
     Since a potential VD is controlled so as to be set equal to the potential VC, the current I var  can be expressed as follows. 
     
       
         I var   =VD/RD=VC/RD=C   1 − C   2 × T    
       
     
     where C 1 , C 2  are constants. 
     Thus, by subjecting the currents I con  and I var  to the adding/subtracting operation, a current of a desired absolute value which decreases or increases in proportion to the temperature change can be obtained. 
     In the circuits shown in FIGS. 9A and 9B, if the channel width/channel length ratios of P-channel MOS transistors QA, QB, QC, QD are set to 8/1, the channel width/channel length ratio of an N-channel MOS transistor QE is set to 10/1, the resistance of the resistor RA is set to 40 kΩ, the resistance of the resistor RC is set to 10 kΩ and the resistance of the resistor RD is set to 40 kΩ, then the current I con  becomes approx. 25 μA. 
     Further, in the circuit of FIG. 9A, it is possible to omit the resistor RC. The resistor RC is inserted to enhance the voltage VC so that the P-channel MOS transistor QC will be operated in a saturated region. 
     FIGS. 10A and 10B to FIGS. 12A and 12B are circuit diagrams for illustrating cases wherein various voltages having the same temperature dependency are generated by subjecting the currents I con  and I var  generated in the circuits of FIGS. 9A and 9B to the adding/subtracting operation. In FIGS. 10A and 10B to FIGS. 12A and 12B, Vcg 10  indicates a word line voltage for reading a “10” state in FIG. 14, Vcg 00  indicates a word line voltage for reading a “00” state and Vcg 01  indicates a word line voltage for reading a “01” state. FIG. 14 shows a threshold voltage distribution obtained when 2-bit (four-value) data is stored in one memory cell, and “11” indicates an erased state and “10”, “00”, “01” indicate programmed states. 
     As shown in FIGS. 10A and 10B, if the channel width/channel length ratios of P-channel MOS transistors TH, TE are set to 16/2 and the resistance of a load resistor RL is set to 91 kΩ, a current Ie 3  flowing through the load resistor RL becomes equal to the sum (Ie 3 =Ie 1 +Ie 2 ) of a current le 1  which is proportional to I var  and a current Ie 2  which is proportional to I con . In this case, the resistance of a resistor RM in a DC—DC converter (FIG. 10B) for outputting the word line voltage Vcg 01  is set to 3.3 kΩ and the resistance of a resistor RN is set to 6.7 kΩ. 
     As shown in FIGS. 11A and 11B, if the channel width/channel length ratio of the P-channel MOS transistor TH is set to 24/2, the channel width/channel length ratio of the P-channel MOS transistor TE is set to 16/2 and the resistance of the load resistor RL is set to 73 kΩ, then a current If 3  flowing through the load resistor RL becomes equal to the sum (If 3 =If 1 +If 2 ) of a current If 1  which is proportional to I var  and a current If 2  which is proportional to I con . In this case, the word line voltage Vcg 00  is set to Vcg 00   ref.    
     As shown in FIGS. 12A and 12B, if the channel width/channel length ratio of the P-channel MOS transistor TH is set to 80/2, the channel width/channel length ratio of an N-channel MOS transistor TB is set to 30/6 and the resistance of the load resistor RL is set to 77.5 kΩ, then a current Ig 3  flowing through the load resistor RL becomes equal to the difference (Ig 3 =Ig 1 −Ig 2 ) between a current Ig 1  which is proportional to I var  and a current Ig 2  which is proportional to I con . In this case, the resistance of the resistor RM in a DC—DC converter (FIG. 12B) for outputting the word line voltage Vcg 10  is set to 7.05 kΩ and the resistance of the resistor RN is set to 2.95 kΩ. 
     In the circuits shown in FIGS. 10A and 10B to FIGS. 12A and 12B, the potentials Vcg 01 , Vcg 00 , Vcg 10  are generated by subjecting the output voltages Vcg 01   ref , Vcg 00   ref , Vcg 10   ref  of the current adding/subtracting circuits to the DC—DC converting operation. The potentials Vcg 01 , Vcg 00 , Vcg 10  are applied to the word line of the memory cell. 
     The output voltage-temperature characteristics of the potentials Vcg 01   ref , Vcg 00   ref , Vcg 10   ref , Vcg 01 , Vcg 00 , Vcg 10  are collectively shown in FIG.  13 . As is clearly seen from FIG. 13, the potentials Vcg 01 , Vcg 00 , Vcg 10  all indicate the same temperature dependency. Since the temperature dependency of the threshold voltage of the memory cell is the same in the states “10”, “00”, “01”, the temperature dependency of the threshold voltage of the memory cell in all of the states “10”, “00”, “01” can be compensated for by use of the voltage generator of this embodiment. Further, in this embodiment, the values of the potentials Vcg 01   ref , Vcg 00   ref , Vcg 10   ref  are set in a narrow range of 0.7V to 1.01V as is clearly seen from FIG.  13 . That is, in the circuits shown in FIGS. 10A to  12 A, since the MOS transistors TH, TE, TB whose gates are applied with the potentials VH, VE, VB are always set into the saturated region, the stable operation can be attained. 
     FIG. 15 shows another example of the construction of the current generating circuit for generating a current varying in proportion to a temperature change shown in FIG.  6 A. FIGS. 16A and 16B show circuit constructions suitable for operational amplifiers in the circuits shown in FIGS. 6A,  6 B,  7  and  15 . 
     In the circuit shown in FIG. 15, resistors Ra 2 , Ra 1  are serially connected between the anode of the diode D 3  and the ground node GND in the circuit shown in FIG. 6A, a potential Va′ of the connection node of the resistors Ra 2  and Ra 1  is supplied to the inverting input terminal (−) of the operational amplifier OP 1 , resistors Rb 2 , Rb 1  are serially connected between the drain of a MOS transistor TP 2  and the ground node GND, and a potential Vb′ of the connection node of the resistors Rb 2  and Rb 1  is supplied to the non-inverting input terminal (+) of the operational amplifier OP 1 . That is, the input potential to the operational amplifier OP 1  is lowered by resistance division. 
     As shown in FIGS. 16A and 16B, the operational amplifier OP 1  includes P-channel MOS transistors TO 1 , TO 2  and N-channel MOS transistors TO 3  to TO 5  and acts as a differential amplifier. The input potentials Va′, Vb′ are supplied to the gates of the MOS transistors TO 3 , TO 4  and a differential amplification signal (potential V 1 ) is output from the drain common connection node of the MOS transistors TO 2 , TO 4 . 
     In FIG. 15, if the ratio of the resistances of the added resistors is set to Ra 2 /Ra 1 =Rb 2 /Rb 1 , then, VA=VB when VA′=VB′. In this case, since the input potential of the operational amplifier OP 1  can be lowered, the sensitivity can be enhanced when the operational amplifier OP 1  has the circuit construction as shown in FIGS. 16A and 16B, for example. 
     FIG. 17 illustrates a modification of the voltage generator described above and shows an amplifier circuit for amplifying and outputting the output voltage Voutput of the circuit shown in FIG.  8 . In the case of the circuit constructions shown in FIGS. 5 and 9A to  12 B, Vcg 01 , Vcg 00 , Vcg 10  are input to Voutput in FIGS. 17 and 18. The circuit includes an operational amplifier OP 3  and a P-channel MOS transistor TR. The output voltage Voutput is supplied to the inverting input terminal (−) of the operational amplifier OP 3  and the output terminal thereof is connected to the gate of the MOS transistor TR. The source of the MOS transistor TR is connected to the power supply Vcc and the drain thereof is connected to the non-inverting input terminal (+) of the operational amplifier OP 3 . An output voltage Vout 1  which is the same as Voutput is output from the drain of the MOS transistor TR. 
     Thus, the current supply ability can be enhanced by providing the amplifier circuit. 
     Further, if it is required to provide an output voltage Voutput which is higher than the power supply voltage Vcc, an output of the operational amplifier OP 3  may be raised as shown in FIG.  18 . That is, an output signal VXXFLAG of the operational amplifier OP 3  is supplied to a booster control circuit  202  whose output is in turn supplied to and controlled by a booster circuit  201 . Resistors Rs 1  and Rs 2  are serially connected between the output terminal of the booster circuit  201  and the ground node GND and the connection node of the resistors is connected to the non-inverting input terminal (+) of the operational amplifier OP 3 . Thus, an output voltage Vouts higher than the power supply voltage Vcc can be obtained from the output terminal of the booster circuit  201 . 
     For example, as shown in FIG. 19, the booster circuit  201  includes N-channel MOS transistors Q 71  to Q 75  serially connected between a power supply terminal to which the power supply voltage Vcc is applied and the output terminal Vouts and pumping capacitors C 11  to C 14  whose one-side electrodes are connected to the respective connection nodes of the above MOS transistors. A clock signal φ is supplied to the other electrodes of the odd-numbered capacitors C 11 , C 13  and a clock signal φ b which is complementary to the clock signal φ is supplied to the other electrodes of the even-numbered capacitors C 12 , C 14 . With this connection, charge storage of each capacitor and charge transfer in one direction are repeatedly effected to provide a boosted output voltage Vouts higher than the power supply voltage Vcc. 
     The booster control circuit  202  is used for generating the complementary clock signals φ, φ b and includes a ring oscillator which is constructed by a NAND gate G 1 , inverters INV 10  to INV 14  and capacitors C 1  to C 5  as shown in FIG. 20, for example. An oscillation enable signal OSCE is input to the first input terminal of the NAND gate G 1  to cause the oscillation operation to be effected when the oscillation enable signal OSCE is set at the “H” level. To the second input terminal of the NAND gate G 1 , the output signal VXXFLAG of the operational amplifier OP 3  shown in FIG. 18 is supplied via the inverter INV 10 . The output signal VXXFLAG is normally set at the “L” level and is used as a control signal for setting ON/OFF the boosting operation. To the third input terminal of the NAND gate G 1 , an output signal of the INV 14  is fed back. 
     In the circuit of FIG. 18, the signal VXXFLAG is kept at the “L” level and the booster circuit  201  continues the boosting operation until the output voltage Vouts reaches a voltage expressed as follows. 
       Vouts =[( Rs   1 + Rs   2 )/ Rs   2   ]×Voutput    
     Then, when the output voltage of the booster circuit reaches the above voltage, the signal VXXFLAG is set to the “H” level to interrupt the boosting operation. 
     Thus, the output voltage Vouts reaches the voltage expressed in the above equation. As described before, since the output voltage Voutput can be set so as to exhibit various temperature dependencies, the output voltage Vouts obtained by boosting the above voltage can also be made to exhibit various temperature dependencies. 
     This invention can be variously modified. For example, as shown in FIG. 21, if the current source  4  in the circuit of FIG. 8 is omitted and the current sources  1 ,  2 ,  3  are provided, then a voltage generator having various voltages and exhibiting various positive temperature characteristics as described before can be attained. As is explained in the item (1), if only the current sources  1 ,  3  or only the current sources  3 ,  2  are provided, a voltage generator having various voltages and exhibiting various positive temperature characteristics can be attained. 
     Further, as shown in FIG. 22, if the current sources  1 ,  4  are provided, a voltage generator having various voltages and exhibiting various negative temperature characteristics can be attained as explained above. 
     In addition, as shown in FIG. 23, if only the current source  1  is provided, a voltage generator having various voltages and independent of the temperature change can be attained as explained above. 
     In the circuit of FIG. 8, the absolute value of the output voltage Voutput can be adjusted by changing the total sum of the channel widths of the MOS transistors which are turned ON in each current source. For example, when the output voltage Voutput fluctuates due to a variation in the resistances of the resistance elements for each chip, the enable signals EN 1   b   1 , EN 1   b   2 , . . . , EN 1   b   5 , EN 1   b   6  or the enable signals EN 21 , EN 22 , . . . , EN 25 , EN 26  are selectively set to the “H” level/“L” level according to, for example, data stored in fuse elements or a command input from the exterior to adjust the value of the output voltage Voutput. 
     The temperature dependency of the output voltage Voutput can also be adjusted by changing the total sum of the channel widths of the MOS transistors which are turned ON in each current source. For example, if it is required to adjust the temperature dependency of the output voltage Voutput for each chip because a current (cell current) at the readout time of the memory cell is changed for each chip, the enable signals EN 3   b  l, EN 3   b   2 , . . . , EN 3   b   5  or the enable signals EN 41 , EN 42 , . . . , EN 45  are selectively set to the “H” level/“L” level according to, for example, data stored in fuse elements or a command input from the exterior to adjust the temperature dependency of the output voltage Voutput. 
     Further, it is, of course, possible to provide the construction shown in FIGS. 17 and 18 in the output terminal of the circuit shown in FIGS. 21 to  23 . 
     According to the above construction, the voltage generator can be selectively set to have one of the three characteristics, that is, the positive temperature characteristic, negative temperature characteristic and the characteristic having no temperature dependency according to the enable signals EN 1   b , EN 2 , EN 3   b , EN 4  and the above characteristics can be selectively used as required. 
     [Second Embodiment] 
     Next, a case wherein the above voltage generator is used in a nonvolatile semiconductor memory device is explained. In this case, a NAND cell type EEPROM is taken as one example of the nonvolatile semiconductor memory device and explained. 
     FIG. 24 is a block diagram showing the schematic construction of the NAND cell type EEPROM. In FIG. 24, a reference numeral  21  denotes a memory cell array having memory cells arranged in a matrix form,  22  denotes a data circuit for temporarily storing programming data, readout data,  23  denotes a row decoder for selecting word lines,  24  denotes a column decoder for selecting bit lines,  25  denotes an address buffer to which an address signal Add is input,  26  denotes an I/O sense amplifier,  27  denotes a data input/output buffer,  28  denotes a substrate potential control circuit,  29  denotes a readout voltage generator for generating a readout voltage applied to a selected word line at the read time,  30  denotes a Vread booster circuit for generating a voltage Vread applied to non-selected word lines at the read time,  31  denotes a Vpgm booster circuit for generating a voltage Vpgm applied to a selected word line at the programming time,  32  denotes a Vpass booster circuit for generating a voltage Vpass applied to non-selected word lines at the programming time and  33  denotes a control gate driver (CG driver). Although not shown in the drawing, it should be noted that the booster circuit for generating an erase voltage is also contained in the above circuit. 
     The output voltages of the readout voltage generator  29 , Vread booster circuit  30 , Vpgm booster circuit  31  and Vpass booster circuit  32  are supplied to the control gate driver  33 . The control gate driver  33  is a switching circuit for selectively transferring the readout voltage, voltage Vread, voltage Vpgm and voltage Vpass to the word line of the memory cell array  21  via the row decoder  23 . 
     In this invention, the voltage of the control gate in the read/verify mode is controlled to compensate for the temperature dependency of the memory cell current in the read/verify mode by use of the voltage generator explained in the first embodiment. 
     FIG. 25 shows the drain current Id-gate voltage Vg characteristic of a memory cell transistor. The temperature characteristic is different depending on the drain current Id used for effecting the sensing operation. The magnitude of the drain current Id used for sensing at the read time is determined by the readout time and array noise. 
     (1) A case wherein a positive temperature characteristic is given to Vg: 
     The drain current Id required for reading out data from the memory cell is expressed as follows if the bit line capacity is set to CB, time for discharging the bit line by use of the cell current is set to TBL and the amplitude of a potential of the bit line required for reading is set to ΔV. 
     
       
         
           Id=CBL·ΔV/TBL  
         
       
     
     Therefore, in a case where the readout time is reduced (TBL is short), the drain current Id to be sensed becomes larger. An area A 1  in FIG. 25 indicates a case where the drain current Id sensed is large. In the area A 1 , the current value is larger at the low temperature than at the high temperature when using the same gate voltage Vg. In this invention, the gate voltage of the selected memory cell is so controlled as to become higher at the high temperature (vga) than at the low temperature (Vgb) at the read/verify read time so that a drain current Id 1  which is constant irrespective of the temperature change can be attained. 
     (2) A case wherein a negative temperature characteristic is given to Vg: 
     If the readout time is set long, the drain current Id necessary for reading becomes smaller because TBL is longer, and an area A 3  of FIG. 25 is obtained. The array noise in the memory cell array  11  can be made small and the width of the threshold voltage distribution can be made narrow by setting the readout time long. In the area A 3 , the current value is larger at the high temperature than at the low temperature when using the same gate voltage Vg. In this invention, the gate voltage Vg of the selected memory cell is so controlled as to become lower at the high temperature (Vge) than at the low temperature (Vgd) at the read/verify read time so that a drain current Id 3  which is constant irrespective of the temperature change can be attained. 
     (3) A case wherein the temperature dependency of Vg is eliminated: 
     In an area A 2  of FIG. 25, that is, if the current to be sensed is Id 2 , the current value is independent of the temperature change with respect to a gate voltage Vgc. In this case, the gate voltage of the selected memory cell is made constant irrespective of the temperature change at the read/verify read time. 
     As described above, in this invention, the voltage generator which can variously adjust the positive and negative temperature characteristics is used to generate the control gate voltage at the read/verify read time so that a variation of the memory cell current due to the temperature change can always be eliminated even if the readout time is variously changed. Further, the width of the threshold voltage distribution can be made narrower by eliminating the temperature dependency of the readout current. 
     [Third Embodiment] 
     The voltage generator of this invention becomes more effective in a multi-value memory having a threshold voltage distribution as shown in FIG.  26 . FIG. 26 shows the threshold voltage distribution of a four-value memory cell. The operation of the multi-value memory is substantially the same as that of the 2-value memory. For example, in the readout operation, a voltage Vrd 1  (for example, 0.05V or 0V) is applied to the selected control gate to detect whether or not a current flows in the memory cell in a case where data “11” or data “10”, “01”, “00” is read out. In a case where data “11”, “10” or data “01”, “00” is read out, a voltage Vrd 2  (for example, 0.7V) is applied to the selected control gate to detect whether or not a current flows in the memory cell. In a case where data “11”, “10” or data “00” is read out, a voltage Vrd 3  (for example, 1.45V) is applied to the selected control gate to detect whether or not a current flows in the memory cell. 
     In the “10” verify read operation, the selected control gate is set to Vvfyl (for example, 0.15V). In the “01” verify read operation, the selected control gate is set to Vvfy 2  (for example, 0.9V). In the “00” verify read operation, the selected control gate is set to Vvfy 3  (for example, 1.75V). 
     In this invention, various voltages which vary with the temperature change in the same manner can be generated by changing the current I 1  or I 2  which is independent of the temperature change while the current I 3  or I 4  which depends on the temperature change in FIG. 5 is kept constant. That is, the voltages Vrd 1 , Vrd 2 , Vrd 3 , Vvfy 1 , Vvfy 2 , Vvfy 3  having the same temperature dependency can be generated by changing the current I 1  or I 2  by use of the circuit shown in FIG.  5 . Alternatively, the temperature dependencies of the voltages Vrd 1 , Vrd 2 , Vrd 3 , Vvfy 1 , Vvfy 2 , Vvfy 3  can be adjusted in the same manner by adjusting the currents I 3 , I 4 . 
     In a NAND flash memory, a voltage Vread which is higher than the programming threshold voltage as shown in FIGS. 4 and 26 is applied to the selected gate and the gates of the non-selected memory cells serially connected to the selected cell at the read/verify read time. Like the voltages Vrd 1 , Vvfy 1  and the like, the voltage Vread may have the temperature dependency by use of the circuit shown in FIG.  5 . As a result, since the temperature dependency of the resistances of the non-selected memory cells and selected gate can be eliminated at the read/verify read time, a highly precise readout operation and the narrow threshold voltage distribution width can be attained. 
     The constant current generating circuit of this invention can be variously modified. For example, the channel widths of the MOS transistors TP 1 , TP 2 , TP 3 , TN, TP 4 , TP 5 , TN 2  in the circuits shown in FIGS. 6A and 6B can be made variable. In this case, since the current I 10 , I 20  in FIG. 6A can be changed, it becomes possible to change the current of the current source in FIG.  8  and the temperature dependency and the value of the output voltage Voutput in FIG. 8 can be variously changed. It is, of course, possible to make variable the channel widths of the MOS transistors TP 1 , TP 2 , TP 3 , TN 1 , TP 4 , TP 5 , TN 2  in FIGS. 6A and 6B by use of a command or data stored in the fuse elements. Further, the total sum of the channel widths of the transistors of the current source of FIG. 8 can be made variable by use of a command or data stored in the fuse elements. 
     In the above embodiments, an example in which the NAND cell type EEPROM is used is explained, but this invention can be applied to any type of flash memory such as a NOR type, AND type (A. Nozoe: ISSCC, Digest of Technical Papers, 1995), DINOR type (S. Kobayashi: ISSCC, Digest of Technical Papers, 1995), NAND type, Virtual Ground Array type (Lee, et al: Symposium on VLSI Circuits, Digest of Technical Papers, 1994). Further, this invention is not limited to the flash memory and can be applied to a mask ROM, EPROM and the like. That is, in the above devices other than the NAND flash memory, a highly precise readout operation and the narrow threshold voltage distribution width can be attained by causing the word line voltage at the read/verify read time to have the temperature characteristic. 
     As described above, according to this invention, a voltage generator capable of suppressing an influence due to the temperature variation can be attained. 
     Further, a voltage generator capable of suppressing the spreading of the threshold voltage distribution of memory cells due to the temperature variation in a nonvolatile semiconductor memory device can be attained. 
     Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.