Abstract:
A data output driving circuit capable of optimizing a slew rate of data according to the variation of operational conditions and a method for controlling a slew rate thereof includes a slew rate control signal generating unit configured to generate slew rate control signals by using a code signal, and a plurality of drivers configured to output data by driving the data at a slew rate set according to the slew rate control signals.

Description:
CROSS-REFERENCES TO RELATED APPLICATION 
     This application claims the benefit under 35 U.S.C 119(a) of Korean application number 10-2007-0128300, filed on Dec. 11, 2007, which is incorporated by reference in its entirety by reference as if set forth in full. 
     BACKGROUND 
     1. Technical Field 
     The embodiments description herein relate to a semiconductor device, and more particularly to a data output driving circuit and a method for controlling a slew rate thereof. 
     2. Related Art 
     As shown in  FIG. 1 , a conventional data output driving circuit includes an on-die termination correction circuit  1  and a plurality of drivers (DRVs)  2 . The on-die termination correction circuit  1  generates first codes “Pcode &lt;0:K−1&gt;” and second codes “Ncode &lt;0:K−1&gt;” to determine driving resistances of the plurality of drivers  2 . The drivers  2  drive data signals “updo” and “dndo” according to the first and second codes “Pcode &lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;” to output the data signals “updo” and “dndo” through a data input/output pad DQ. The drivers  2  are connected to the data input/output pad DQ in parallel. 
     Since the drivers  2  have the same structure, the driver  2 , which receives the first and second codes “Pcode&lt;0&gt;” and “Ncode&lt;0&gt;”, among the plurality of drivers  2  is representatively described with reference to  FIG. 2 . The driver  2  includes a plurality of NAND gates NR 1  and NR 2 , a plurality of inverters IV 1  and IV 2 , a plurality of resistors RP 1 , RP 2 , RN 1 , and RN 2 , a pull-up main driver M 0 , pull-up pre-drivers M 2  and M 3 , a pull-down main driver M 1 , and pull-down pre-drivers M 4  and M 5 . 
     If the first code “Pcode&lt;0&gt;” is activated in the driver  2 , then the pull-up pre-drivers M 2  and M 3  drive the data signal “updo” to generate a pull-up driver driving signal “up”. The pull-up main driver M 0  drives the data input/output pad DQ with a data level by using a supply voltage according to the pull-up driver driving signal “up”. If the second code “Ncode&lt;0&gt;” is activated in the driver  2 , then the pull-down pre-drivers M 4  and M 5  drive the data signal “dndo” to generate a pull-down driver driving signal “dn”. The pull-down main driver M 1  drives the data input/output pad DQ with a data level by using a ground voltage according to the pull-down driver driving signal “dn”. 
     A slew rate of data output through the data input/output pad DQ is determined according to the pull-up driver driving signal “up” and the pull-down driver driving signal “dn”. The pull-up driver driving signal “up” and the pull-down driver driving signal “dn” are affected by variations in the operational conditions, that is, variations of a process/voltage/temperature (PVT). However, a conventional data output driving circuit has no hardware and software capable of controlling the pull-up and pull-down driver driving signals “up” and “dn” according to variations in the operational conditions. Accordingly, in a conventional data output driving circuit, the slew rate of the final output data is undesirably changed due to the variations in the operational conditions, such that a loss of a data may occur or an operational frequency may be limited. 
     SUMMARY 
     A data output driving circuit capable of optimizing a slew rate of data according to the variation of operational conditions and a method for controlling a slew rate thereof is described herein. 
     In one aspect, a data output driving circuit can include a slew rate control signal generating unit configured to generate slew rate control signals by using a code signal, and a plurality of drivers configured to output data by driving the data at a slew rate set according to the slew rate control signals. 
     In another aspect, a method for controlling a slew rate of a data output driving circuit can include detecting variation in an on-die termination code, and adjusting a slew rate of a data output driver based on the variation of the on-die termination code. 
     In a data output driving circuit and a method for controlling a slew rate thereof, a slew rate of data can be optimized according to the variation of operational conditions, such that the loss of a data eye can be prevented, and the range of an operational frequency can be expanded. 
     These and other features, aspects, and embodiments are described below in the section entitled “Detailed Description.” 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Features, aspects, and embodiments are described in conjunction with the attached drawings, in which: 
         FIG. 1  is a block diagram showing a conventional data output driving circuit; 
         FIG. 2  is a circuit diagram showing a driver that can be included in the circuit illustrated in  FIG. 1 ; 
         FIG. 3  is a circuit diagram showing a data output driving circuit according to one embodiment; 
         FIG. 4  is a block diagram showing an internal structure of a slew rate control signal generating unit that can be included in the circuit illustrated in  FIG. 3 ; 
         FIG. 5  is a circuit diagram showing a selecting unit that can be included in the circuit illustrated in  FIG. 4 ; 
         FIG. 6  is a circuit diagram showing a driver that can be included in the circuit illustrated in  FIG. 3 ; and 
         FIG. 7  is a circuit diagram showing a first slew rate adjusting unit that can be included in the circuit illustrated in  FIG. 6 . 
     
    
    
     DETAILED DESCRIPTION 
     A data output driving circuit and a method for controlling a slew rate thereof is described herein. 
     In the descriptions herein, an on-die termination correction circuit can repeatedly compare the resistance of an external resistor with the resistance of a duplicated resistor, which can be identical to a resistor of a driver, and can generate a code signal that can allow the duplicated resistor to have the resistance identical to the resistance of the external resistor. Since the duplicated resistor can be continuously affected by a process/voltage/temperature (PVT), the code signal can have a variable value that can correspond to the variation of the PVT. Therefore, the code signal can be used to adjust the slew rate of data to an optimal value. 
       FIG. 3  is a circuit diagram showing a data output driving circuit  101  according to one embodiment. Referring to  FIG. 3 , the data output driving circuit  101  can include an on-die termination correction circuit  100 , a slew rate control signal generating unit  200 , and a plurality of drivers (DRVs)  300 . As described above, the on-die termination correction circuit  100  can generate first codes “Pcode&lt;0:K−1&gt;” and second codes “Ncode&lt;0:K−1&gt;”, which can have variable values that can correspond to the variation of the PVT. 
     Thus, if a voltage or a temperature rises, that is, the condition of the PVT is changed (hereinafter, referred to as “fast condition”), the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;” can become smaller than previous first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;” in correspondence with the fast condition. Accordingly, the slew rate of data can become faster than a target slew rate under the fast condition. 
     Conversely, if a voltage or a temperature drops, that is, the condition of the PVT is changed (hereinafter, referred to as “slow condition”), the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;” can become greater than the previous first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;” in correspondence with the slow condition. The slew rate of the data can becomes slower than a target slew rate under the slow condition. 
     Therefore, according to the above principle, the variation of the PVT, that is, the variation of a slew rate can be determined by using the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;”. The first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;” can have variable values corresponding to the variation of the PVT, and can be updated through a periodic on-die termination correction process. 
     The slew rate control signal generating unit  200  can generate slew rate control signals “SR_Reg&lt;1:N−1&gt;” through the combination of the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;”. The drivers  300  can adjust a slew rate according to the slew rate control signals “SR_Reg&lt;1:N−1&gt;”. In addition, the drivers  300  can drive and can output data suitable for the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;” based on the adjusted slew rate. 
       FIG. 4  is a block diagram showing an internal structure of the slew rate control signal generating unit  200  that can be included in the circuit illustrated in  FIG. 3 . Referring to  FIG. 4 , the slew rate control signal generating unit  200  can include a first register  210 , a second register  220 , an adder  230 , a decoder  240 , and a selecting unit  250 . 
     The first register  210  can store the first codes “Pcode&lt;0:K−1&gt;” according to a mode register set signal “MRS_SET” and can output first register values “Preg&lt;0:K−1&gt;”. Similarly, the second register  220  can store the second codes “Ncode&lt;0:K−1&gt;” according to the mode register set signal “MRS_SET” and can output second register values “Nreg&lt;0:K−1&gt;”. 
     An update period of the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;” can be recognized based on the mode register set signal “MRS_SET”. Accordingly, whenever the mode register set signal “MRS_set” occurs, the first and second registers  210  and  220  can store the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;”, and the slew rate control signals “SR_Reg&lt;1:N−1&gt;” can be updated by using the stored first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;”. Additionally, the adder  230  can perform an adding operation with respect to the first and second register values “Preg&lt;0:K−1&gt;” and “Nreg&lt;0:K−1&gt;” to output an adding value “code&lt;0:K&gt;”. 
     The decoder  240  can decode the adding value “code&lt;0:K&gt;” to output decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;”. For example, the decoder  240  can activate the most significant bit “coded&lt;2 k+1 −1&gt;” among the decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;” when the adding value “code&lt;0:K&gt;” is at a maximum level. In addition, the decoder  240  can sequentially activate bits lower than the most significant bit “coded&lt;2 k+1 −1&gt;” as the adding value “code&lt;0:K&gt;” becomes gradually lower. 
     The selecting unit  250  can generate the slew rate control signals “SR_Reg&lt;1:N−1&gt;” through the combination of the decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;” according to selected ranges. On the assumption that the N in the slew rate control signals “SR_Reg&lt;1:N−1&gt;” is, e.g., 4, the selecting unit  250  can have the structure shown in  FIG. 5 , which is a circuit diagram showing a selecting unit  250  that can be included in the circuit illustrated in  FIG. 4 . Referring to  FIG. 5 , the selecting unit  250  can classify the decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;” into a plurality of sections ranging from the least significant bit to the most significant bit, and can selectively activate and output the slew rate control signals “SR_Reg&lt;1:N−1&gt;” according to a section of an activated signal from among the decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;”. 
     As shown in  FIG. 5 , the selecting unit  250  can include a NOR gate NR 11 , first to fifth OR gates OR 11  to OR 15 , and buffers IV 11  to IV 12 . The NOR gate NR 11  and the first to third OR gates OR 11  to OR  13  can generate section determination signals “A&lt;0&gt;” to “A&lt;3&gt;”, which can be used to define the section of the activated signals from among the decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;”. The fourth and fifth OR gates OR 14  and OR 15  and the buffers IV 11  and IV 12  can output the slew rate control signals “SR_Reg&lt;1:3&gt;”. 
     The third to first OR gates OR 13  to OR 11  can sequentially receive the decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;” in a unit of 4 bits on the basis of the most significant bit. The NOR gate NR 11  can receive the section determination signals “A&lt;1&gt;” to “A&lt;3&gt;”. The fourth OR gate OR 14  can receive the section determination signals “A&lt;0&gt;” to “A&lt;2&gt;”. The fifth OR gate OR 15  can receive the section determination signals “A&lt;0&gt;” and “A&lt;1&gt;”. The buffers IV 11  and IV 12  can receive the section determination signal “A&lt;0&gt;”. 
     The plurality of drivers  300  can have the same structure, and the driver  300  receiving the first and second codes “Pcode&lt;0&gt;” and “Ncode&lt;0&gt;” can have the structure shown in  FIG. 6 .  FIG. 6  is a circuit diagram showing a driver  300  that can be included in the circuit illustrated in  FIG. 3 . Referring to  FIG. 6 , the driver  300  can include a first signal transmission unit  310 , a first pre-driver  320 , a first main driver  330 , a first slew rate adjusting unit  340 , a second signal transmission unit  350 , a second pre-driver  360 , a second main driver  370 , and a second slew rate adjusting unit  380 . 
     The first signal transmission unit  310  can deliver the first data signal “updo” to the first pre-driver  320  according to the first code “Pcode&lt;0&gt;”. The first signal transmission unit  310  can include a NAND gate ND 31  and an inverter IV 31 . The first pre-driver  320  can receive the first data signal “updo” and can generate the first driver driving signal “up”. The first pre-driver  320  can include a plurality of transistors M 32  and M 33  and a resistor RPS 2 . The first main driver  330  can drive the data input/output pad DQ with the level of the first data signal “updo” according to the first driver driving signal “up”. The first slew rate adjusting unit  340  can adjust the slew rate of the first driver driving signal up according to the slew rate control signals “SR_Reg&lt;1:N−1&gt;”. 
     The second signal transmission unit  350  can deliver the second data signal “dndo” to the second pre-driver  360  according to the second code “Ncode&lt;0&gt;”. The second signal transmission unit  350  can include a NAND gate ND 32  and an inverter IV 32 . The second pre-driver  360  can receive the second data signal “dndo” and can generate the second driver driving signal “dn”. The second pre-driver  360  can include a plurality of transistors M 34  and M 35  and a resistor RNS 2 . 
     The second main driver  370  can drives the data input/output pad DQ with the level of the second data signal “dndo” according to the second driver driving signal “dn”. The second slew rate adjusting unit  380  can adjust the slew rate of the second driver driving signal “dn” according to the slew rate control signals “SR_Reg&lt;1:N−1&gt;”. Accordingly, the slew rate of data driven by the first and second main drivers  330  and  370  can be determined by the first and second driver driving signals “up” and “dn”. 
       FIG. 7  is a circuit diagram showing a first slew rate adjusting unit  340  that can be included in the circuit illustrated in  FIG. 6 . It should also be noted that the first and second slew rate adjusting units  340  and  380  can have the same structure; however, only slew rate adjusting unit  340  will be described for simplicity. Referring to  FIG. 7 , the first slew rate adjusting unit  340  can include a plurality of inverters IVa 1  to IVaN−1, a plurality of pass gates PG 1  to PGN−1, and a plurality of capacitors C 1  to CN−1. 
     The plurality of inverters IVa 1  to IVaN−1 can receive the slew rate control signals “SR_Reg&lt;1:N−1&gt;”. The plurality of pass gates PG 1  to PGN−1 can have first and second control terminals, which can receive output signals of the inverters IVa 1  to IVaN−1 and the slew rate control signals: SR_Reg&lt;1:N−1&gt;”, respectively, and first terminals commonly connected to the first driver driving signal “up”. 
     The plurality of capacitors C 1  to CN−1 can have first terminals connected to second terminals of the plurality of pass gates PG 1  to PGN−1 and second terminals, which can be grounded. The resistors RPS 2  and RNS 2 , connected to output terminals of the first pre-driver  320  and the second pre-driver  360 , respectively, can have resistances smaller to those of the conventional resistors RP 2  and RN 2  shown in  FIG. 2 . The resistors RPS 2  and RNS 2  can affect the slew rates of the first and second driver driving signals “up” and “dn” in cooperation with the first and second slew rate adjusting units  340  and  380 . 
     Accordingly, an adjustment range of a slew rate can be increased by adjusting the slew rate by using the first and second slew rate adjusting units  340  and  380  in a state in which the resistors RPS 2  and RNS 2  have resistances smaller than those of the conventional resistors RP 2  and RN 2 . 
     In one embodiment, a method for controlling the slew rate of the data output driving circuit comprises periodically detecting the variation of the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;”. The periodic detection can be performed by the slew rate control signal generating unit  200 . 
     Referring to  FIG. 4 , whenever the mode register set signal “MRS_SET” is activated, the first and second registers  210  and  220  can store the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;” and can output the first and second register values “Preg&lt;0:K−1&gt;” and “Nreg&lt;0:K−1&gt;”. 
     The adder  230  can perform an adding operation with respect to the first and second register values “Preg&lt;0:K−1&gt;” and “Nreg&lt;0:K−1&gt;” and can generate the adding “value code&lt;0:K&gt;”. The decoder  240  can decode the adding value “code&lt;0:K&gt;” to generate the decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;”. 
     The selecting unit  250  can selectively activate and can output the slew rate control signals “SR_Reg&lt;1:N−1&gt;” according to a section of an activated signal from among the decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;”. 
     Referring to  FIG. 5 , if the decoding signal “coded&lt;2 k+1 −1&gt;” is activated, then the section determination “signal A&lt;3&gt;” can be activated, such that any one of the slew rate control signals “SR_Reg&lt;1:N−1&gt;” is not activated. Additionally, if the decoding signal “coded&lt;2 k+1 −5&gt;” is activated, then the section determination signal “A&lt;2&gt;” can be activated such that the slew rate control signal SR_Reg&lt;1&gt; can be activated. Additionally, if the decoding signal “coded&lt;2 k+1 −9&gt;” is activated, then the section determination signal “A&lt;1&gt;” can be activated, so that the slew rate control signals “SR_Reg&lt;1:2&gt;” can be activated. Additionally, if the decoding signal “coded&lt;2 k+1 −13&gt;” is activated, then the section determination signal “A&lt;0&gt;” can be activated, so that all bits of the slew rate control signals “SR_Reg&lt;1:3&gt;” can be activated. 
     The decoder  240  and the selecting unit  250  can be designed to have desired output by performing the slew rate measurement simulation according to the variation of the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;”. After the variation of the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;” is detected, the slew rate can be adjusted according to the detected variation of the first and second codes “Pcode&lt;0:K−1&gt;” and “Ncode&lt;0:K−1&gt;”. The adjustment operation of the slew rate can be performed in the driver  300  by using the slew rate control signal “SR_Reg&lt;1:N−1&gt;”. Thus, the N of the slew rate control signal “SR_Reg&lt;1:N−1&gt;” can be 4. 
     For example, if the adding value “code&lt;0:K&gt;” of  FIG. 4  has the maximum value according to the slow condition, so that the most significant bit of the decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;” is activated, then any one of the slew rate control signals “SR_Reg&lt;1:4&gt;” is not activated. 
     Accordingly, since any one of the slew rate control signals “SR_Reg&lt;1:4&gt;” is not activated, any one of the plurality of capacitors C 1  to CN−1 of the first slew rate adjusting unit  340  of  FIG. 7  is not connected to a transmission line of the first driver driving signal “up”. In addition, since the second slew rate adjusting unit  380  can have the same structure as that of the first slew rate adjusting unit  340 , the second slew rate adjusting unit  380  can have the same operation as that of the first slew rate adjusting unit  340 . 
     The slew rates of the first and second driver driving signals “up” and “dn” can be determined by the resistors RPS 2  and RNS 2  (see  FIG. 6 ) and can have resistances smaller than those of resistors in a conventional data output driving circuit. 
     Accordingly, a slew rate slower than the target slew rate can be compensated to be faster by the resistors RPS 2  and RNS 2 , which can have resistances smaller than those of resistors in a conventional data output driving circuit. As a result, output data of the first and second main drivers  330  and  370  can output at the target slew rate. 
     For example, if the adding value “code&lt;0:K&gt;”, e.g. of  FIG. 4 , has the minimum value according to the fast condition, such that the least significant bit of the decoding signals “coded&lt;0&gt;” to “coded&lt;2 k+1 −1&gt;” is activated, then all bits of the slew rate control signals “SR_Reg&lt;1:4&gt;” can be activated. Accordingly, since all bits of the slew rate control signals “SR_Reg&lt;1:4&gt;” can be activated, all capacitors C 1  to CN−1 of the first slew rate adjusting unit  340  (see  FIG. 7 ) and the second slew rate adjusting unit  380  can be connected to transmission lines of the first and second driver driving signals “up” and “dn”. Furthermore, the slew rates of the first and second driver driving signals “up” and “dn” can be determined by the plurality of capacitors C 1  to CN−1 and the resistors RPS 2  and RNS 2  (see  FIG. 6 ). Accordingly, a slew rate faster than the target slew rate can be compensated to be slower by the plurality of capacitors C 1  to CN−1 and the resistors RPS 2  and RNS 2 . As a result, output data of the first and second main drivers  330  and  370  can be output at the target slew rate. 
     Therefore, as the slew rate of data is faster or slower than the target slew rate, the capacitance of the transmission lines of the first and second driver driving signals “up” and “dn” can be decreased or increased, thereby adjusting the slew rate of the first and second driver driving signals “up” and “dn”. Accordingly, the slew rate of data can be maintained at a level of the target slew rate in correspondence with the variation of the PVT. While certain embodiments have been described above, it will be understood that the embodiments described are by way of example only. Accordingly, the apparatus and methods described herein should not be limited based on the described embodiments. Rather, the apparatus and methods described herein should only be limited in light of the claims that follow when taken in conjunction with the above description and accompanying drawings.