US20190296745A1 - Gray code generator - Google Patents
Gray code generator Download PDFInfo
- Publication number
- US20190296745A1 US20190296745A1 US16/209,195 US201816209195A US2019296745A1 US 20190296745 A1 US20190296745 A1 US 20190296745A1 US 201816209195 A US201816209195 A US 201816209195A US 2019296745 A1 US2019296745 A1 US 2019296745A1
- Authority
- US
- United States
- Prior art keywords
- bit
- digital bit
- gray
- flip
- digital
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000004044 response Effects 0.000 claims abstract description 47
- 230000005540 biological transmission Effects 0.000 claims description 27
- 230000000630 rising effect Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 28
- 230000007704 transition Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 102000052922 Large Neutral Amino Acid-Transporter 1 Human genes 0.000 description 4
- 108091006232 SLC7A5 Proteins 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
- H03K23/004—Counters counting in a non-natural counting order, e.g. random counters
- H03K23/005—Counters counting in a non-natural counting order, e.g. random counters using minimum change code, e.g. Gray Code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/06—Continuously compensating for, or preventing, undesired influence of physical parameters
- H03M1/0617—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence
- H03M1/0624—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by synchronisation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/16—Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/78—Readout circuits for addressed sensors, e.g. output amplifiers or A/D converters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/1205—Multiplexed conversion systems
- H03M1/123—Simultaneous, i.e. using one converter per channel but with common control or reference circuits for multiple converters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/50—Analogue/digital converters with intermediate conversion to time interval
- H03M1/56—Input signal compared with linear ramp
Definitions
- Example embodiments of the inventive concepts disclosed herein relate to a semiconductor circuit.
- at least some example embodiments relate to a gray code generator.
- a gray code generator may generate a gray code which sequentially varies.
- the gray code generator may be used in various electronic devices.
- the gray code generator may be used to convert an analog voltage obtained from an image sensor to a gray code being a digital value.
- the gray code generator performs a count operation during a time corresponding to a voltage, the operating speed and power consumption of the gray code generator may have a significant influence on the operating speed and power consumption of the electronic device including the gray code generator and the image sensor.
- Example embodiments of the inventive concepts provide a gray code generator having an improved operating speed, reduced power consumption and/or an improved linearity.
- a gray code generator includes a converter configured to convert digital bits to gray bits, the digital bits including a first digital bit, a second digital bit, a third digital bit and a fourth digital bit, and the gray bits including a first gray bit, a second gray bit, a third gray bit and a fourth gray bit; and a counter configured to generate the digital bits by performing a counting operation in response to a clock signal, the counter including, a replica counter flip-flop configured to output the clock signal as the first digital bit, and a plurality of counter flip-flops including, a first counter flip-flop configured to output the second digital bit, in response to the clock signal, a second counter flip-flop configured to output a high level as the third digital bit in response to the clock signal when a second inverted digital bit corresponding to an inverted version of the second digital bit is different from a third inverted digital bit corresponding to an inverted version of the third digital bit, and a third counter flip-flop configured to output the high level as the fourth digital bit in response to the clock
- a gray code generator includes a counter configured to generate digital bits by performing a counting operation in response to a clock signal, the digital bits including a first digital bit, a second digital bit, a third digital bit and a fourth digital bit; and a converter configured to convert the digital bits to gray bits, the gray bits including a first gray bit, a second gray bit, a third gray bit and a fourth gray bit, the converter including, a plurality of converter flip-flops including a first converter flip-flop, a second converter flip-flop and a third converter flip-flop, the plurality of converter flip-flops configured to convert respective ones of the first digital bit, the second digital bit and the third digital bit to respective ones of the first gray bit, the second gray bit and the third gray bit; and a replica converter flip-flop configured to convert the fourth digital bit to the fourth gray bit.
- a gray code generator includes a counter configured to generate digital bits by performing a counting operation in response to a clock signal, the digital bits including a first digital bit, a second digital bit, a third digital bit and a fourth digital bit; the counter including, a first counter flip-flop configured to generate the second digital bit, in response to the clock signal; a second counter flip-flop configured to output a high level as the third digital bit in response to the clock signal when a second inverted digital bit corresponding to an inverted version of the second digital bit is different from a third inverted digital bit corresponding to an inverted version of the third digital bit; and a third counter flip-flop configured to output the high level as the fourth digital bit in response to the clock signal when a result of performing a NOR operation on the second inverted digital bit and the third inverted digital bit is same as a fourth inverted digital bit, the fourth inverted digital bit corresponding to an inverted version of the fourth digital bit; and a converter configured to convert the digital bits to gray bits, the converter including a
- FIG. 1 is a diagram illustrating a gray code generator according to an example embodiment of the inventive concepts.
- FIG. 2 is a diagram illustrating a gray code generator according to an example embodiment of the inventive concepts.
- FIGS. 3 and 4 are timing diagrams illustrating an example in which a gray code generator generates first to fifth digital bits.
- FIGS. 5 and 6 are timing diagrams illustrating an example in which a gray code generator converts first to fifth digital bits to first to fifth gray bits.
- FIG. 7 is a diagram illustrating a flip-flop according to an example embodiment of the inventive concepts.
- FIG. 8 is a diagram illustrating a first example of an inverter in a transmission block.
- FIG. 9 is a diagram illustrating a second example of an inverter in a transmission block.
- FIG. 10 a diagram illustrating a replica flip-flop according to an example embodiment of the inventive concepts.
- FIG. 11 is a diagram illustrating a gray code generator according to an application example of a gray code generator of FIG. 2 .
- FIG. 12 is a diagram illustrating a gray code generator according to an application example of a gray code generator of FIG. 11 .
- FIG. 13 is a block diagram illustrating an image processing device according to an example embodiment of the inventive concepts.
- FIG. 14 is a diagram illustrating a digital nonlinearity which occurs upon generating gray codes by using first to fifth converter logical operators as described with reference to FIG. 1 .
- FIG. 15 is a diagram illustrating a digital nonlinearity which occurs upon generating gray codes by using first to fourth converter flip-flops and a pseudo converter flip-flop as described with reference to FIG. 2 .
- FIG. 1 is a diagram illustrating a gray code generator 100 according to an example embodiment of the inventive concepts.
- the gray code generator 100 includes a counter 110 and a converter 130 .
- the counter 110 may count digital bits Q 1 to Q 5 constituting a binary code in response to a clock signal CK. For example, the counter 110 may sequentially increase the digital bits Q 1 to Q 5 .
- the counter 110 includes first to fifth flip-flops 111 to 115 , and first to seventh counter logical operators 121 to 127 .
- Each of the flip-flops 111 to 115 may include a clock input to which the clock signal CK is input, an input Db, a positive output “Q”, and a negative output “Qb”.
- Each of the flip-flops 111 to 115 may invert a logical level (e.g., a high level or a low level) of the input Db in synchronization with a falling edge of the clock signal CK and may transmit a result of the inversion to the positive output “Q”.
- Each of the flip-flops 111 to 115 may transmit a logical level of the input Db to the negative output Qb in synchronization with the falling edge of the clock signal CK.
- the input Db and the positive output “Q” of the first flip-flop 111 may be connected to each other.
- the positive output “Q” of the first flip-flop 111 may output a first digital bit Q 1 .
- the negative output Qb of the first flip-flop 111 may output a first inverted digital bit Qb 1 .
- the first counter logical operator 121 may perform an exclusive NOR (XNOR) operation on the first inverted digital bit Qb 1 and a second inverted digital bit Qb 2 . That is, the first counter logical operator 121 may output the high level when the first and second inverted digital bits Qb 1 and Qb 2 are identical to each other, and may output the low level otherwise.
- XNOR exclusive NOR
- An output of the first counter logical operator 121 may be provided to an input Db of the second flip-flop 112 .
- a positive output “Q” of the second flip-flop 112 may output a second digital bit Q 2 .
- a negative output Qb of the second flip-flop 112 may output the second inverted digital bit Qb 2 .
- the second counter logical operator 122 may perform a NOR operation on the first inverted digital bit Qb 1 and the second inverted digital bit Qb 2 . That is, the second counter logical operator 122 may output the high level when the first and second inverted digital bits Qb 1 and Qb 2 are the low level, and may output the low level otherwise.
- the third counter logical operator 123 may perform an XOR operation on an output of the second counter logical operator 122 and a third inverted digital bit Qb 3 . That is, the third counter logical operator 123 may output the high level when the output of the second counter logical operator 122 is identical to the third inverted digital bit Qb 3 , and may output the low level otherwise.
- An output of the third counter logical operator 123 may be provided to an input Db of the third flip-flop 113 .
- a positive output “Q” of the third flip-flop 113 may output a third digital bit Q 3 .
- a negative output Qb of the third flip-flop 113 may output the third inverted digital bit Qb 3 .
- the fourth counter logical operator 124 may perform a NOR operation on the first to third inverted digital bits Qb 1 to Qb 3 .
- the fifth counter logical operator 125 may perform an XOR operation on an output of the fourth counter logical operator 124 and a fourth inverted digital bit Qb 4 .
- An output of the fifth counter logical operator 125 may be provided to an input Db of the fourth flip-flop 114 .
- a positive output “Q” of the fourth flip-flop 114 may output a fourth digital bit Q 4 .
- a negative output Qb of the fourth flip-flop 114 may output the fourth inverted digital bit Qb 4 .
- the sixth counter logical operator 126 may perform a NOR operation on the first to fourth inverted digital bits Qb 1 to Qb 4 .
- the seventh counter logical operator 127 may perform an XOR operation on an output of the sixth counter logical operator 126 and a fifth inverted digital bit Qb 5 .
- An output of the seventh counter logical operator 127 may be provided to an input Db of the fifth flip-flop 115 .
- a positive output “Q” of the fifth flip-flop 115 may output a fifth digital bit Q 5 .
- a negative output Qb of the fifth flip-flop 115 may output the fifth inverted digital bit Qb 5 .
- the converter 130 may convert the first to fifth digital bits Q 1 to Q 5 constituting a binary code to first to fifth gray bits G 1 to G 5 constituting a gray code.
- the converter 130 includes first to fourth converter logical operators 131 to 135 .
- the first converter logical operator 131 may perform an XOR operation on the first and second digital bits Q 1 and Q 2 .
- An output of the first converter logical operator 131 may be the first gray bit G 1 .
- the second converter logical operator 132 may perform an XOR operation on the second and third digital bits Q 2 and Q 3 .
- An output of the second converter logical operator 132 may be the second gray bit G 2 .
- the third converter logical operator 133 may perform an XOR operation on the third and fourth digital bits Q 3 and Q 4 .
- An output of the third converter logical operator 133 may be the third gray bit G 3 .
- the fourth converter logical operator 134 may perform an XOR operation on the fourth and fifth digital bits Q 4 and Q 5 .
- An output of the fourth converter logical operator 134 may be the fourth gray bit G 4 .
- the fifth converter logical operator 135 may perform an XOR operation on the fifth digital bit Q 5 and a ground voltage VSS, that is, the low level.
- An output of the fifth converter logical operator 135 may be the fifth gray bit G 5 .
- the counter 110 may increase a count of the first to fifth digital bits Q 1 to Q 5 . That is, each of the first to fifth flip-flops 111 to 115 may transmit the input Db to the output “Q” during one cycle of the clock signal CK.
- a signal path, which is used to generate the fifth digital bit Q 5 through the first flip-flop 111 , the sixth counter logical operator 126 , the seventh counter logical operator 127 , and the fifth flip-flop 115 , from among signal paths used to generate the first to fifth digital bits Q 1 to Q 5 in response to the clock signal CK may be the longest.
- the longest signal path may be a critical path.
- a time e.g., a critical time
- the gray code generator 100 may count the first to fifth digital bits Q 1 to Q 5 without an error.
- the gray code generator 100 may not count the first to fifth digital bits Q 1 to Q 5 , in particular, the fifth digital bit Q 5 . That is, the critical time acts as a limitation on a frequency of the clock signal CK and acts as a limitation on an operating speed of the gray code generator 100 .
- a level of a power supply voltage of an electronic device including the gray code generator 100 is decreasing as a low power continues to be required.
- a current per unit area consumed by the first to fifth flip-flops 111 to 115 or the first to seventh counter logical operators 121 to 127 increases, and a voltage drop by a resistance becomes severe.
- the operating speed of the first to fifth flip-flops 111 to 115 or the first to seventh counter logical operators 121 to 127 may decrease.
- the decrease in the operating speed of the first to fifth flip-flops 111 to 115 or the first to seventh counter logical operators 121 to 127 acts as a limitation in further suppressing the frequency of the clock signal CK or the operating speed of the gray code generator 100 .
- the converter 130 converts the first to fifth digital bits Q 1 to Q 5 to the first to fifth gray bits G 1 to G 5 by using the first to fifth converter logical operators 131 to 135 .
- the first to fifth converter logical operators 131 to 135 have a nonlinearity that an operating speed varies with a pattern of the first to fifth digital bits Q 1 to Q 5 .
- a first node of each of the first to fifth converter logical operators 131 to 135 has a specific value and a second node thereof toggles.
- a speed at which each of the first to fifth converter logical operators 131 to 135 outputs a result of its own operation may vary with whether a value of the first node is the high level or the low level.
- a speed at which each of the first to fifth converter logical operators 131 to 135 outputs a result of its own operation may vary with whether a voltage of the second node transitions from the high level to the low level or transitions from the low level to the high level.
- the variation of operating speed may cause a nonlinearity.
- FIG. 2 is a diagram illustrating a gray code generator 200 according to another example embodiment of the inventive concepts.
- the gray code generator 200 includes a counter 210 and a converter 230 .
- the counter 210 may count the digital bits Q 1 to Q 5 constituting a binary code in response to a first clock signal CK 1 . For example, the counter 210 may sequentially increase the digital bits Q 1 to Q 5 .
- the counter 210 includes first to fifth counter flip-flops 211 to 215 , a replica counter flip-flop 216 , and the first to fifth logical operators 221 to 225 .
- Each of the first to fifth counter flip-flops 211 to 215 may include a clock input to which the clock signal CK is input, an input “D”, a positive output “Q”, and a negative output “Qb”.
- Each of the second to fifth counter flip-flops 212 to 215 may transmit a logical level (e.g., a high level or a low level) of the input “D” to the positive output “Q” in synchronization with a falling edge of a second clock signal CK 2 .
- Each of the second to fifth counter flip-flops 212 to 215 may invert a logical level of the input “D” in synchronization with the falling edge of the second clock signal CK 2 and may transmit a result of the inversion to the negative output Qb.
- the first clock signal CK 1 may be input to a clock input of the first counter flip-flop 211 .
- the input “D” and the negative output Qb of the first counter flip-flop 211 may be connected to each other.
- a negative output Qb of the first counter flip-flop 211 may be output as the second clock signal CK 2 .
- the first counter flip-flop 211 may transmit the input “D” to the negative output Qb in synchronization with a rising edge or the falling edge of the first clock signal CK 1 . Since a level of the second clock signal CK 2 transitions in synchronization with the falling edge of the first clock signal CK 1 , the period of the second clock signal CK 2 may be two times the period of the first clock signal CK 1 .
- the frequency of the second clock signal CK 2 may be half the frequency of the first clock signal CK 1 .
- the first counter flip-flop 211 may be configured to divide the first clock signal CK 1 and generate the second clock signal CK 2 , and may be called a “divider”.
- the replica counter flip-flop 216 may output the second clock signal CK 2 as the first digital bit Q 1 .
- a delay amount when the replica counter flip-flop 216 outputs the second clock signal CK 2 as the first digital bit Q 1 may be identical or substantially similar to a delay amount when the input “D” is transmitted to the output “Q” in each of the second to fifth counter flip-flops 212 to 215 .
- the input “D” and the negative output Qb of the second counter flip-flop 212 may be connected to each other.
- a positive output “Q” of the second counter flip-flop 212 may output the second digital bit Q 2 .
- a negative output Qb of the second counter flip-flop 212 may output the second inverted digital bit Qb 2 .
- the first logical operator 221 may perform an XOR operation on the second inverted digital bit Qb 2 and the third inverted digital bit Qb 3 . That is, the first logical operator 221 may output the high level when the second and third inverted digital bits Qb 2 and Qb 3 are different from each other, and may output the low level otherwise.
- An output of the first logical operator 221 may be provided to an input “D” of the third counter flip-flop 213 .
- a positive output “Q” of the third counter flip-flop 213 may output the third digital bit Q 3 .
- a negative output Qb of the third counter flip-flop 213 may output the third inverted digital bit Qb 3 .
- the second logical operator 222 may perform a NOR operation on the second and third inverted digital bits Qb 2 and Qb 3 . That is, the second logical operator 222 may output the high level when the second and third inverted digital bits Qb 2 and Qb 3 are at the high level, and may output the low level otherwise.
- the third logical operator 223 may perform an XNOR operation on an output of the second logical operator 222 and the fourth inverted digital bit Qb 4 . That is, the third logical operator 223 may output the high level when the output of the second logical operator 222 and the fourth inverted digital bit Qb 4 are identical to each other, and may output the low level otherwise.
- An output of the third logical operator 223 may be provided to an input “D” of the fourth counter flip-flop 214 .
- a positive output “Q” of the fourth counter flip-flop 214 may output the fourth digital bit Q 4 .
- a negative output Qb of the fourth counter flip-flop 214 may output the fourth inverted digital bit Qb 4 .
- the fourth logical operator 224 may perform a NOR operation on the second to fourth inverted digital bits Qb 2 to Qb 4 .
- the fifth logical operator 225 may perform an XNOR operation on an output of the fourth logical operator 224 and the fifth inverted digital bit Qb 5 .
- An output of the fifth logical operator 225 may be provided to an input “D” of the fifth counter flip-flop 215 .
- a positive output “Q” of the fifth counter flip-flop 215 may output the fifth digital bit Q 5 .
- a negative output Qb of the fifth counter flip-flop 215 may output the fifth inverted digital bit Qb 5 .
- the converter 230 may convert the first to fifth digital bits Q 1 to Q 5 constituting a binary code to the first to fifth gray bits G 1 to G 5 constituting a gray code.
- the converter 230 may include first to fourth converter flip-flops 231 to 234 and a replica converter flip-flop 235 .
- Each of the first to fourth converter flip-flops 231 to 234 may transmit a logical level (e.g., the high level or the low level) of the input “D” to the positive output “Q” in synchronization with a rising edge of a signal provided to a clock input.
- Each of the second to fourth converter flip-flops 231 to 234 may invert a logical level of the input “D” in synchronization with the rising edge of the signal provided to the clock input and may transmit a result of the inversion to the negative output Qb.
- the first digital bit Q 1 may be provided to a clock input of the first converter flip-flop 231 .
- An input “D” and a negative output Qb of the first converter flip-flop 231 may be connected to each other.
- a positive output “Q” of the first converter flip-flop 231 may output the first gray bit G 1 .
- the second digital bit Q 2 may be provided to a clock input of the second converter flip-flop 232 .
- An input “D” and a negative output Qb of the second converter flip-flop 232 may be connected to each other.
- a positive output “Q” of the second converter flip-flop 232 may output the second gray bit G 2 .
- the third digital bit Q 3 may be provided to a clock input of the third converter flip-flop 233 .
- An input “D” and a negative output Qb of the third converter flip-flop 233 may be connected to each other.
- a positive output “Q” of the third converter flip-flop 233 may output the third gray bit G 3 .
- the fourth digital bit Q 4 may be provided to a clock input of the fourth converter flip-flop 234 .
- An input “D” and a negative output Qb of the fourth converter flip-flop 234 may be connected to each other.
- a positive output “Q” of the fourth converter flip-flop 234 may output the fourth gray bit G 4 .
- the replica converter flip-flop 235 may output the fifth digital bit Q 5 as the fifth gray bit G 5 .
- a delay amount when the replica converter flip-flop 235 outputs the fifth digital bit Q 5 as the fifth gray bit G 5 may be identical or substantially similar to a delay amount when the input “D” is transmitted to the output “Q” in each of the first to fourth converter flip-flops 231 to 234 .
- the gray code generator 100 of FIG. 1 generates the first to fifth digital bits Q 1 to Q 5 in synchronization with the clock signal CK, and converts the first to fifth digital bits Q 1 to Q 5 to the first to fifth gray bits G 1 to G 5 .
- the gray code generator 200 generates the first to fifth digital bits Q 1 to Q 5 in synchronization with the first clock signal CK 1 , and converts the first to fifth digital bits Q 1 to Q 5 to the first to fifth gray bits G 1 to G 5 .
- the first to fifth flip-flops 111 to 115 and the first to seventh counter logical operators 121 to 127 of the gray code generator 100 of FIG. 1 operate in synchronization with the clock signal CK.
- the first to fifth counter flip-flops 211 to 215 , the replica counter flip-flop 216 , and the first to fifth logical operators 221 to 225 of the gray code generator 200 operate in synchronization with the second clock signal CK 2 .
- the gray code generator 200 generates the first to fifth digital bits Q 1 to Q 5 and the first to fifth gray bits G 1 to G 5 in synchronization with the first clock signal CK 1 .
- the second counter flip-flop 212 and the fifth counter flip-flop 215 forming a critical path of the gray code generator 200 operate in synchronization with the falling edge of the second clock signal CK 2 .
- the gray code generator 200 generates the first to fifth digital bits Q 1 to Q 5 and the first to fifth gray bits G 1 to G 5 every cycle of the clock signal CK 1 or CK 2 .
- the critical time of the gray code generator 200 may be allowed by about two times the critical time of the gray code generator 100 .
- a time of one cycle of the second clock signal CK 2 may be longer than a time of one cycle of the clock signal CK, for example, may be about two times the time of one cycle of the clock signal CK.
- a frequency of the first clock signal CK 1 may be higher than a frequency of the clock signal CK, for example, may be about two times the frequency of the clock signal CK.
- the gray code generator 200 may operate in response to the first clock signal CK 1 , the frequency of which is higher than a frequency of the clock signal CK of the gray code generator 100 . That is, the operating speed of the gray code generator 200 may be higher than the operating speed of the gray code generator 100 .
- the critical time of the gray code generator 200 may be allowed to be longer than the critical time of the gray code generator 100 . Accordingly, the gray code generator 200 may operate more appropriately for a low-power environment than the gray code generator 100 .
- the counter 210 may generate the first to fifth digital bits Q 1 to Q 5 depending on the second clock signal CK 2 , the frequency of which is lower than the frequency of the clock signal CK. Accordingly, a power consumed for the counter 210 to generate the first to fifth digital bits Q 1 to Q 5 may be reduced.
- the converter 230 converts the first to fifth digital bits Q 1 to Q 5 to the first to fifth gray bits G 1 to G 5 by using the first to fourth converter flip-flops 231 to 234 and the replica converter flip-flop 235 . Accordingly compared with the converter 130 , the converter 230 has an improved linearity.
- FIGS. 3 and 4 are timing diagrams illustrating an example in which the gray code generator 200 generates the first to fifth digital bits Q 1 to Q 5 .
- a binary value BV composed of the first to fifth digital bits Q 1 to Q 5 increases from “00000” to “11111” and again increases from “00000” to “10000” are illustrated in FIGS. 3 and 4 .
- the replica counter flip-flop 216 outputs the second clock signal CK 2 as the first digital bit Q 1 . That is, the first digital bit Q 1 may have a waveform obtained by delaying the second clock signal CK 2 by a first delay amount D 1 at the replica counter flip-flop 216 .
- the second counter flip-flop 212 may output the negative output Qb, that is, a level of the second inverted digital bit Qb 2 as the second digital bit Q 2 in synchronization with the falling edge of the second clock signal CK 2 . It may be understood that the second counter flip-flop 212 inverts an input in synchronization with the falling edge of the second clock signal CK 2 .
- the second digital bit Q 2 may by delayed by a second delay amount D 2 through the second counter flip-flop 212 .
- the third counter flip-flop 213 may set the third digital bit Q 3 to the high level in synchronization with the falling edge of the second clock signal CK 2 .
- the third counter flip-flop 213 may set the third digital bit Q 3 to the low level in synchronization with the falling edge of the second clock signal CK 2 .
- the third digital bit Q 3 may be delayed by a third delay amount D 3 through the third counter flip-flop 213 .
- the second clock signal CK 2 falls when the binary value BV is “00001”. Since the second and third digital bits Q 2 and Q 3 are identical to each other, the third digital bit Q 3 maintains the low level.
- the second clock signal CK 2 falls when the binary value BV is “00011”. Since the second and third digital bits Q 2 and Q 3 are different from each other, the third digital bit Q 3 maintains the high level.
- the fourth counter flip-flop 214 may set the fourth digital bit Q 4 to the high level in synchronization with the falling edge of the second clock signal CK 2 .
- the fourth counter flip-flop 214 may set the fourth digital bit Q 4 to the low level in synchronization with the falling edge of the second clock signal CK 2 .
- the fourth digital bit Q 4 may be delayed by a fourth delay amount D 4 through the fourth counter flip-flop 214 .
- the third digital bit Q 3 may be inverted.
- the fourth digital bit Q 4 may transition to the high level.
- the fourth digital bit Q 4 may transition to the low level.
- the fourth digital bit Q 4 may transition to the high level.
- the fourth digital bit Q 4 may transition to the low level.
- the fifth counter flip-flop 215 may set the fifth digital bit Q 5 to the high level in synchronization with the falling edge of the second clock signal CK 2 .
- the fifth counter flip-flop 215 may set the fifth digital bit Q 5 to the low level in synchronization with the falling edge of the second clock signal CK 2 .
- the fifth digital bit Q 5 may be delayed by a fifth delay amount D 5 through the fifth counter flip-flop 215 .
- the fifth digital bit Q 5 may be inverted.
- the fifth digital bit Q 5 may transition to the high level.
- the fifth digital bit Q 5 may transition to the low level.
- FIGS. 5 and 6 are timing diagrams illustrating examples in which the gray code generator 200 converts the first to fifth digital bits Q 1 to Q 5 to the first to fifth gray bits G 1 to G 5 .
- the binary value BV is converted to a gray value GV when the binary value BV composed of the first to fifth digital bits Q 1 to Q 5 increases from “00000” to “11111” and again increases from “00000” to “10000” are illustrated in FIGS. 5 and 6 .
- the first converter flip-flop 231 may invert the first gray bit G 1 in synchronization with the rising edge of the first digital bit Q 1 .
- the second converter flip-flop 232 may invert the second gray bit G 2 in synchronization with the rising edge of the second digital bit Q 2 .
- the third converter flip-flop 233 may invert the third gray bit G 3 in synchronization with the rising edge of the third digital bit Q 3 .
- the fourth converter flip-flop 234 may invert the fourth gray bit G 4 in synchronization with the rising edge of the fourth digital bit Q 4 .
- the replica converter flip-flop 235 may output the fifth digital bit Q 5 as the fifth gray bit G 5 .
- a gray value GV may be used as a gray code in which the first to fifth gray bits G 1 to G 5 differ in only one bit.
- FIG. 7 is a diagram illustrating a flip-flop 300 according to an example embodiment of the inventive concepts.
- the flip-flop 300 may correspond to one of the first to fifth counter flip-flops 211 to 215 or the first to fourth converter flip-flops 231 to 234 .
- the flip-flop 300 includes an input block 310 , a first latch block 320 , a transmission block 330 , a second latch block 340 , and an output block 350 .
- the input block 310 may be connected to the input “D” of the flip-flop 300 .
- the input block 310 may include an inverter which inverts and outputs a signal of the input “D” in response to a third clock signal CK 3 and a third inverted clock signal CK 3 b.
- the third clock signal CK 3 may be the second clock signal CK 2 or a corresponding digital bit of the first to fourth digital bits Q 1 to Q 4 .
- the third inverted clock signal CK 3 b may be an inverted version of the third clock signal CK 3 .
- the first latch block 320 may include a NAND operator 321 and a first latch inverter 322 .
- the NAND operator 321 may include a first input to which a reset signal RSTb is input and a second input to which an output of the input block 310 is input.
- the NAND operator 321 may perform a NAND operation on the output of the input block 310 and the reset signal RSTb.
- An output of the NAND operator 321 may be an output of the first latch block 320 .
- the first latch inverter 322 may invert the output of the NAND operator 321 and may output a result of the inversion to the second input of the NAND operator 321 .
- the first latch block 320 may store an output signal of the input block 310 and may invert and output the stored signal.
- the transmission block 330 may transmit an output of the first latch block 320 to the second latch block 340 in response to the third clock signal CK 3 and the third inverted clock signal CK 3 b .
- the transmission block 330 may include an inverter which inverts and outputs an output signal of the first latch block 320 in response to the third clock signal CK 3 and the third inverted clock signal CK 3 b.
- the transmission block 330 may operate in response to the falling edge of the third clock signal CK 3 or the rising edge of the third inverted clock signal CK 3 b.
- the transmission block 330 may operate in response to the rising edge of the third clock signal CK 3 or the falling edge of the third inverted clock signal CK 3 b.
- the transmission block 330 may operate in response to the rising edge or the falling edge of the third clock signal CK 3 or the rising edge or the rising edge of the third inverted clock signal CK 3 b.
- the second latch block 340 may include second and third latch inverters 341 and 342 , and a transistor 343 .
- the second latch inverter 341 may invert and output an output of the transmission block 330 or an output of the third latch inverter 342 .
- the third latch inverter 342 may invert and output the output of the second latch inverter 341 .
- the transistor 343 may reset the second latch block 340 in response to the reset signal RSTb.
- the second latch block 340 may output a first signal transmitted through the transmission block 330 and a second signal corresponding to an inverted version of the first signal.
- the output block 350 may output the first signal and the second signal of the second latch block 340 to the positive output “Q” and the negative output Qb.
- the output block 350 includes first and second output inverters 351 and 352 .
- the first output inverter 351 may invert the second signal of the second latch block 340 and may output a result of the inversion to the negative output Qb.
- the second output inverter 352 may invert the first signal and may output a result of the inversion to the positive output “Q”.
- FIG. 8 is a diagram illustrating a first example of an inverter in the transmission block 330 .
- an inverter 360 includes first to fourth transistors 361 to 364 which are connected in series between a power node to which a power supply voltage VDD is supplied and a ground node to which a ground voltage VSS is supplied.
- the first and second transistors 361 and 362 may be P-type transistors, and the third and fourth transistors 363 and 364 may be N-type transistors.
- the first transistor 361 may operate in response to the third clock signal CK 3
- the fourth transistor 364 may operate in response to the third inverted clock signal CK 3 b.
- the second and third transistors 362 and 363 may operate depending on a level of a first input IN 1 .
- a voltage of a node between the second and third transistors 362 and 363 may be a first output node OUT 1 .
- the first and fourth transistors 361 and 364 are turned on at the falling edge of the third clock signal CK 3 .
- one of the second and third transistors 362 and 363 may be turned on, and the other thereof may be turned off. That is, the inverter 360 may operate in synchronization with the falling edge of the third clock signal CK 3 .
- FIG. 9 is a diagram illustrating a second example of an inverter in the transmission block 330 .
- an inverter 370 includes first to fourth transistors 371 to 374 which are connected in series between a power node to which the power supply voltage VDD is supplied and a ground node to which the ground voltage VSS is supplied.
- the first and second transistors 371 and 372 may be P-type transistors, and the third and fourth transistors 373 and 374 may be N-type transistors.
- the first transistor 371 may operate in response to the third inverted clock signal CK 3 b
- the fourth transistor 364 may operate in response to the third clock signal CK 3 .
- the second and third transistors 372 and 373 may operate depending on a level of a second input IN 2 .
- a voltage of a node between the second and third transistors 372 and 373 may be a second output node OUT 2 .
- the first and fourth transistors 371 and 374 are turned on at the rising edge of the third clock signal CK 3 .
- one of the second and third transistors 372 and 373 may be turned on, and the other thereof may be turned off. That is, the inverter 370 may operate in synchronization with the rising edge of the third clock signal CK 3 .
- FIG. 10 is a diagram illustrating a replica flip-flop 400 according to an example embodiment of the inventive concepts.
- the replica flip-flop 400 may be the replica counter flip-flop 216 or the replica converter flip-flop 235 .
- the replica flip-flop 400 may include a transmission block 410 , a latch block 420 , and an output block 430 .
- the transmission block 410 may include an inverter which inverts and outputs a fourth clock signal CK 4 .
- the fourth clock signal CK 4 may be the second clock signal CK 2 or the fifth digital bit Q 5 .
- the latch block 420 may include first and second inverters 421 and 422 , and a transistor 423 .
- the first inverter 421 may invert and output an output of the transmission block 410 or an output of the second inverter 422 .
- the second inverter 422 may invert and output an output of the first inverter 421 in response to the fourth clock signal CK 4 and a fourth inverted clock signal CK 4 b.
- the transistor 423 may reset the latch block 420 in response to the reset signal RSTb.
- the latch block 420 may store a third signal output from the transmission block 410 and may output a fourth signal corresponding to an inverted version of the third signal.
- the output block 430 may transmit the third signal and the fourth signal of the latch block 420 to the positive output “Q” and the negative output Qb, respectively.
- the output block 430 includes first and second output inverters 431 and 432 .
- the first output inverter 431 may invert the fourth signal of the latch block 420 and may output a result of the inversion to the negative output Qb.
- the second output inverter 432 may invert the third signal of the latch block 420 and may output a result of the inversion to the positive output “Q”.
- the negative output Qb may be omitted.
- the flip-flop 300 described with reference to FIG. 7 outputs a signal stored in the first latch block 320 through the transmission block 330 , the second latch block 340 , and the output block 350 in response to the falling edge or the rising edge of the third clock signal CK 3 .
- the flip-flop 400 described with reference to FIG. 10 outputs the fourth clock signal CK 4 through the transmission block 410 , the latch block 420 , and the output block 430 .
- the transmission delay of the flip-flop 300 may be identical to the transmission delay of the replica flip-flop 400 . Accordingly, the replica flip-flop 400 may compensate for or match the transmission delay of the flip-flop 300 .
- FIG. 11 is a diagram illustrating a gray code generator 200 a according to an application example of the gray code generator 200 of FIG. 2 .
- the gray code generator 200 a includes a counter 210 a and the converter 230 .
- the converter 230 has the same structure as described with reference to FIG. 2 and operates the same manner as described with reference to FIG. 2 . Thus, additional description will be omitted to avoid redundancy.
- the counter 210 a includes the second to fifth flip-flops 212 to 215 , the replica counter flip-flop 216 , and the first to fifth logical operators 221 to 225 . Compared with the counter 210 of FIG. 2 , the counter 210 a does not include the first counter flip-flop 211 .
- the second to fifth flip-flops 212 to 215 and the replica counter flip-flop 216 may operate in response to a fifth clock signal CK 5 provided from the outside.
- the gray code generator 200 a may perform count and conversion in a period where the fifth clock signal CK 5 is at the high level, and may further perform the count and conversion in a period where the fifth clock signal CK 5 is at the low level.
- FIG. 12 is a diagram illustrating a gray code generator 200 b according to an application example of the gray code generator 200 a of FIG. 11 .
- the gray code generator 200 b includes a counter 210 b and a converter 230 a.
- the counter 210 b does not include the replica counter flip-flop 216 .
- the converter 230 a does not include the replica converter flip-flop 235 .
- the replica counter flip-flop 216 and the replica converter flip-flop 235 may be omitted.
- the replica counter flip-flop 216 and the replica converter flip-flop 235 may be omitted.
- FIG. 13 is a block diagram illustrating an image sensing device 500 according to an example embodiment of the inventive concepts.
- the image sensing device 500 includes an image sensor pixel array 510 , a timing controller 520 , a row scan circuit 530 , a ramp circuit 540 , first to n-th comparators 551 to 55 n , a gray code generator 560 , first to n-th quantizers 571 to 57 n , and a data latch 580 .
- the image sensor pixel array 510 may include image sensor pixels arranged in rows and columns.
- the image sensor pixel array 510 may generate image data in a way to sequentially scan the rows of the image sensor pixels.
- Image sensor pixels in a selected row may convert the amount of incident light in the form of a voltage. That is, the image sensor pixel array 510 may convert the amount of light to a voltage.
- the timing controller 520 may provide a first signal 51 to the row scan circuit 530 and may provide a second signal S 2 to the gray code generator 560 .
- the timing controller 520 may control the first and second signals 51 and S 2 such that the row scan circuit 530 , the ramp circuit 540 , and the gray code generator 560 operate at appropriate timings.
- the row scan circuit 530 is connected to rows of the pixels in the image sensor pixel array 510 through first to m-th word lines WL 1 to WLm.
- the row scan circuit 530 may sequentially select the first to m-th word lines WL 1 to WLm in response to the first signal 51 .
- the row scan circuit 530 may apply an activation voltage (e.g., a positive voltage) to a selected word line and may apply a deactivation voltage (e.g., a ground voltage) to unselected word lines.
- an activation voltage e.g., a positive voltage
- a deactivation voltage e.g., a ground voltage
- the ramp circuit 540 may generate a gradually increasing (or decreasing) voltage in response to the second signal S 2 . Voltages generated by the ramp circuit 540 may be provided to the first to n-th comparators 551 to 55 n.
- Each of the first to n-th comparators 551 to 55 n may include a first node to which a corresponding voltage from the ramp circuit 540 is input, and a second node connected to a corresponding column of the columns of the pixels in the image sensor pixel array 510 through first to n-th bit lines BL 1 to BLn.
- Each of the first to n-th comparators 551 to 55 n may compare a voltage of the first node and a voltage of the second node. For example, each of the first to n-th comparators 551 to 55 n may output the high level (or the low level) when the voltage of the first node is greater than the voltage of the second node. Each of the first to n-th comparators 551 to 55 n may output the low level (or the high level) when the voltage of the first node is not greater than the voltage of the second node.
- a voltage of the first node of each of the first to n-th comparators 551 to 55 n gradually increases or decreases. Accordingly, a length of a period where an output signal of each of the first to n-th comparators 551 to 55 n is at the high level (or at the low level) varies with the voltage of the second node of each of the first to n-th comparators 551 to 55 n . That is, each of the first to n-th comparators 551 to 55 n may convert a voltage of a bit line to a pulse width.
- the gray code generator 560 may generate a gray code.
- the gray code generator 560 may include one of the gray code generators 200 , 200 a , and 200 b described with reference to FIGS. 2 to 12 .
- Gray bits generated by the gray code generator 560 may be provided to the first to n-th quantizers 571 to 57 n.
- the first to n-th quantizers 571 to 57 n may convert outputs of the first to n-th comparators 551 to 55 n to digital values.
- Each of the first to n-th quantizers 571 to 57 n may include first to fifth latches LAT 1 to LAT 5 , and a counter CNT.
- the first to fifth latches LAT 1 to LAT 5 may respectively receive the gray bits from the gray code generator 560 .
- Each of the first to fifth latches LAT 1 to LAT 5 may store a corresponding gray bit in synchronization with a rising edge (or a falling edge) of an output from a corresponding comparator.
- the counter CNT may start to count when the ramp circuit 540 starts to adjust (e.g., increase or decrease) an output voltage from an initial value. For example, the counter CNT may increase a count when values of the gray bits G 1 to G 5 circles from “00000” to “10000” as described with reference to FIGS. 5 and 6 .
- the counter CNT may generate upper bits of a quantization value of a corresponding quantizer.
- the first to fifth latches LAT 1 to LAT 5 may generate lower bits of a quantization value of a corresponding quantizer.
- the data latch 580 may receive and store quantized values from the first to n-th quantizers 571 to 57 n .
- the values stored in the data latch 580 may be used as a data image.
- an image sensing operation of the image sensing device 500 is at a standby state. Accordingly, as described with reference to FIGS. 2 to 12 , in the case where an operating speed of the gray code generator 560 is improved, a speed (e.g., a scanning interval or a scanning frequency) at which the image sensing device 500 senses an image may be improved, and the quality of image data may be improved.
- a speed e.g., a scanning interval or a scanning frequency
- the gray code generator 560 may be appropriate for a low-power environment. Accordingly, the image sensing device 500 may operate with a low power. Also, the gray code generator 560 suppresses a digital nonlinearity (DNL) that a speed varies with an input. Accordingly, the reliability of the image sensing device 500 may be improved.
- DNL digital nonlinearity
- FIG. 14 is a diagram illustrating a digital nonlinearity which occurs upon generating gray codes by using the first to fifth converter logical operators 131 to 135 as described with reference to FIG. 1 .
- a horizontal axis represents a value of the digital bits Q 1 to Q 5 input to the converter 130 .
- a vertical axis represents a change in a time taken for the converter 130 to perform conversion. Referring to FIG. 14 , a conversion time of the converter 130 varies with whether the digital bits Q 1 to Q 5 have any value (or pattern). Accordingly, the digital nonlinearity (DNL) occurs.
- DNL digital nonlinearity
- FIG. 15 is a diagram illustrating a digital nonlinearity which occurs upon generating gray codes by using the first to fourth converter flip-flops 231 to 234 and the pseudo converter flip-flop 235 as described with reference to FIG. 2 . Even though a value (or pattern) of the digital bits Q 1 to Q 5 varies, the conversion time is measured as being suppressed compared with FIG. 14 . That is, by using the gray code generator 200 , 200 a , or 200 b according to an example embodiment of the inventive concepts, the digital nonlinearity of the image sensing device 500 is suppressed, and the quality of image data is improved.
- block components according to example embodiments of the inventive concepts are referred to by using the term “block”.
- the “block” may be implemented with various hardware devices, such as an integrated circuit, an application specific IC (ASCI), a field programmable gate array (FPGA), and a complex programmable logic device (CPLD), software, such as firmware and applications driven in hardware devices, or a combination of a hardware device and software.
- ASCI application specific IC
- FPGA field programmable gate array
- CPLD complex programmable logic device
- block may include circuits or intellectual property (IP) implemented with semiconductor devices.
- the units and/or devices described above such as the components of the image sensing device (e.g., 500 ) including the gray code generator (e.g., 200 , 200 a , and 200 b ) as well as the sub-components thereof including elements of the counter (e.g., 210 , 210 a , 210 b ) such as the counter flip-flops (e.g., 211 to 215 ), the replica counter flip-flop (e.g., 216 ) and counter logical operators (e.g., 221 to 225 ) and elements of the converter (e.g., 230 and 230 a ) such as the converter flip-flops (e.g., 231 to 234 ) and the replica converter flip-flop (e.g., 235 ) may be implemented using hardware, a combination of hardware and software, or a non-transitory storage medium storing software that is executable to perform the functions of the same.
- the counter flip-flops e.g.
- Hardware may be implemented using processing circuitry such as, but not limited to, one or more processors, one or more Central Processing Units (CPUs), one or more controllers, one or more arithmetic logic units (ALUs), one or more digital signal processors (DSPs), one or more microcomputers, one or more field programmable gate arrays (FPGAs), one or more System-on-Chips (SoCs), one or more programmable logic units (PLUs), one or more microprocessors, one or more Application Specific Integrated Circuits (ASICs), or any other device or devices capable of responding to and executing instructions in a defined manner.
- processing circuitry such as, but not limited to, one or more processors, one or more Central Processing Units (CPUs), one or more controllers, one or more arithmetic logic units (ALUs), one or more digital signal processors (DSPs), one or more microcomputers, one or more field programmable gate arrays (FPGAs), one or more System-on-Chips (
- Software may include a computer program, program code, instructions, or some combination thereof, for independently or collectively instructing or configuring a hardware device to operate as desired.
- the computer program and/or program code may include program or computer-readable instructions, software components, software modules, data files, data structures, etc., capable of being implemented by one or more hardware devices, such as one or more of the hardware devices mentioned above.
- Examples of program code include both machine code produced by a compiler and higher level program code that is executed using an interpreter.
- a hardware device is a computer processing device (e.g., one or more processors, CPUs, controllers, ALUs, DSPs, microcomputers, microprocessors, etc.)
- the computer processing device may be configured to carry out program code by performing arithmetical, logical, and input/output operations, according to the program code.
- the computer processing device may be programmed to perform the program code, thereby transforming the computer processing device into a special purpose computer processing device.
- the processor becomes programmed to perform the program code and operations corresponding thereto, thereby transforming the processor into a special purpose processor.
- the hardware device may be an integrated circuit customized into special purpose processing circuitry (e.g., an ASIC).
- a hardware device such as a computer processing device, may run an operating system (OS) and one or more software applications that run on the OS.
- the computer processing device also may access, store, manipulate, process, and create data in response to execution of the software.
- OS operating system
- a hardware device may include multiple processing elements and multiple types of processing elements.
- a hardware device may include multiple processors or a processor and a controller.
- other processing configurations are possible, such as parallel processors.
- Software and/or data may be embodied permanently or temporarily in any type of storage media including, but not limited to, any machine, component, physical or virtual equipment, or computer storage medium or device, capable of providing instructions or data to, or being interpreted by, a hardware device.
- the software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion.
- software and data may be stored by one or more computer readable recording mediums, including tangible or non-transitory computer-readable storage media as discussed herein.
- Storage media may also include one or more storage devices at units and/or devices according to one or more example embodiments.
- the one or more storage devices may be tangible or non-transitory computer-readable storage media, such as random access memory (RAM), read only memory (ROM), a permanent mass storage device (such as a disk drive), and/or any other like data storage mechanism capable of storing and recording data.
- the one or more storage devices may be configured to store computer programs, program code, instructions, or some combination thereof, for one or more operating systems and/or for implementing the example embodiments described herein.
- the computer programs, program code, instructions, or some combination thereof may also be loaded from a separate computer readable storage medium into the one or more storage devices and/or one or more computer processing devices using a drive mechanism.
- a separate computer readable storage medium may include a Universal Serial Bus (USB) flash drive, a memory stick, a Blu-ray/DVD/CD-ROM drive, a memory card, and/or other like computer readable storage media.
- the computer programs, program code, instructions, or some combination thereof may be loaded into the one or more storage devices and/or the one or more computer processing devices from a remote data storage device via a network interface, rather than via a computer readable storage medium.
- the computer programs, program code, instructions, or some combination thereof may be loaded into the one or more storage devices and/or the one or more processors from a remote computing system that is configured to transfer and/or distribute the computer programs, program code, instructions, or some combination thereof, over a network.
- the remote computing system may transfer and/or distribute the computer programs, program code, instructions, or some combination thereof, via a wired interface, an air interface, and/or any other like medium.
- the one or more hardware devices, the storage media, the computer programs, program code, instructions, or some combination thereof, may be specially designed and constructed for the purposes of the example embodiments, or they may be known devices that are altered and/or modified for the purposes of example embodiments.
- a frequency of a clock signal supplied to a gray code generator may be increased. Accordingly, the gray code generator having an improved operating speed is improved. Also, according to an example embodiment of the inventive concepts, the frequency of the clock signal supplied to the gray code generator may be decreased while maintaining the operating speed of the gray code generator. Accordingly, the gray code generator having reduced power consumption may be provided. Also, according to example embodiments of the inventive concepts, the gray code generator converts digital bits to gray bits by using flip-flops. Accordingly, the gray code generator having an improved linearity may be provided.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Analogue/Digital Conversion (AREA)
- Manipulation Of Pulses (AREA)
Abstract
Description
- This application claims priority under 35 U.S.C. § 119 to Korean Patent Application No. 10-2018-0033302 filed on Mar. 22, 2018, in the Korean Intellectual Property Office, the disclosure of which is incorporated by reference herein in its entirety.
- Example embodiments of the inventive concepts disclosed herein relate to a semiconductor circuit. For example, at least some example embodiments relate to a gray code generator.
- A gray code generator may generate a gray code which sequentially varies. The gray code generator may be used in various electronic devices. For example, the gray code generator may be used to convert an analog voltage obtained from an image sensor to a gray code being a digital value.
- There is a desire to reduce power consumption of electronic device while making an operating speed higher. Since the gray code generator performs a count operation during a time corresponding to a voltage, the operating speed and power consumption of the gray code generator may have a significant influence on the operating speed and power consumption of the electronic device including the gray code generator and the image sensor.
- Accordingly, there is an increasing demand for a gray code generator having an improved operating speed and reduced power consumption.
- Example embodiments of the inventive concepts provide a gray code generator having an improved operating speed, reduced power consumption and/or an improved linearity.
- According to an example embodiment, a gray code generator includes a converter configured to convert digital bits to gray bits, the digital bits including a first digital bit, a second digital bit, a third digital bit and a fourth digital bit, and the gray bits including a first gray bit, a second gray bit, a third gray bit and a fourth gray bit; and a counter configured to generate the digital bits by performing a counting operation in response to a clock signal, the counter including, a replica counter flip-flop configured to output the clock signal as the first digital bit, and a plurality of counter flip-flops including, a first counter flip-flop configured to output the second digital bit, in response to the clock signal, a second counter flip-flop configured to output a high level as the third digital bit in response to the clock signal when a second inverted digital bit corresponding to an inverted version of the second digital bit is different from a third inverted digital bit corresponding to an inverted version of the third digital bit, and a third counter flip-flop configured to output the high level as the fourth digital bit in response to the clock signal when a result of performing a NOR operation on the second inverted digital bit and the third inverted digital bit is different from a fourth inverted digital bit, the fourth inverted digital bit corresponding to an inverted version of the fourth digital bit.
- According to an example embodiment, a gray code generator includes a counter configured to generate digital bits by performing a counting operation in response to a clock signal, the digital bits including a first digital bit, a second digital bit, a third digital bit and a fourth digital bit; and a converter configured to convert the digital bits to gray bits, the gray bits including a first gray bit, a second gray bit, a third gray bit and a fourth gray bit, the converter including, a plurality of converter flip-flops including a first converter flip-flop, a second converter flip-flop and a third converter flip-flop, the plurality of converter flip-flops configured to convert respective ones of the first digital bit, the second digital bit and the third digital bit to respective ones of the first gray bit, the second gray bit and the third gray bit; and a replica converter flip-flop configured to convert the fourth digital bit to the fourth gray bit.
- According to an example embodiment, a gray code generator includes a counter configured to generate digital bits by performing a counting operation in response to a clock signal, the digital bits including a first digital bit, a second digital bit, a third digital bit and a fourth digital bit; the counter including, a first counter flip-flop configured to generate the second digital bit, in response to the clock signal; a second counter flip-flop configured to output a high level as the third digital bit in response to the clock signal when a second inverted digital bit corresponding to an inverted version of the second digital bit is different from a third inverted digital bit corresponding to an inverted version of the third digital bit; and a third counter flip-flop configured to output the high level as the fourth digital bit in response to the clock signal when a result of performing a NOR operation on the second inverted digital bit and the third inverted digital bit is same as a fourth inverted digital bit, the fourth inverted digital bit corresponding to an inverted version of the fourth digital bit; and a converter configured to convert the digital bits to gray bits, the converter including a first converter flip-flop, a second converter flip-flop and a third converter flip-flop configured to convert respective ones of the first digital bit, the second digital bit and the third digital bit to respective ones of a first gray bit, a second gray bit and a third gray bit included in the gray bits.
- The above and other objects and features of example embodiments of the inventive concepts will become apparent by describing in detail some example embodiments thereof with reference to the accompanying drawings.
-
FIG. 1 is a diagram illustrating a gray code generator according to an example embodiment of the inventive concepts. -
FIG. 2 is a diagram illustrating a gray code generator according to an example embodiment of the inventive concepts. -
FIGS. 3 and 4 are timing diagrams illustrating an example in which a gray code generator generates first to fifth digital bits. -
FIGS. 5 and 6 are timing diagrams illustrating an example in which a gray code generator converts first to fifth digital bits to first to fifth gray bits. -
FIG. 7 is a diagram illustrating a flip-flop according to an example embodiment of the inventive concepts. -
FIG. 8 is a diagram illustrating a first example of an inverter in a transmission block. -
FIG. 9 is a diagram illustrating a second example of an inverter in a transmission block. -
FIG. 10 a diagram illustrating a replica flip-flop according to an example embodiment of the inventive concepts. -
FIG. 11 is a diagram illustrating a gray code generator according to an application example of a gray code generator ofFIG. 2 . -
FIG. 12 is a diagram illustrating a gray code generator according to an application example of a gray code generator ofFIG. 11 . -
FIG. 13 is a block diagram illustrating an image processing device according to an example embodiment of the inventive concepts. -
FIG. 14 is a diagram illustrating a digital nonlinearity which occurs upon generating gray codes by using first to fifth converter logical operators as described with reference toFIG. 1 . -
FIG. 15 is a diagram illustrating a digital nonlinearity which occurs upon generating gray codes by using first to fourth converter flip-flops and a pseudo converter flip-flop as described with reference toFIG. 2 . - Below, example embodiments of the inventive concepts may be described in detail and clearly to such an extent that an ordinary one in the art easily implements the inventive concepts.
-
FIG. 1 is a diagram illustrating agray code generator 100 according to an example embodiment of the inventive concepts. - Referring to
FIG. 1 , thegray code generator 100 includes acounter 110 and aconverter 130. - The
counter 110 may count digital bits Q1 to Q5 constituting a binary code in response to a clock signal CK. For example, thecounter 110 may sequentially increase the digital bits Q1 to Q5. - The
counter 110 includes first to fifth flip-flops 111 to 115, and first to seventh counterlogical operators 121 to 127. Each of the flip-flops 111 to 115 may include a clock input to which the clock signal CK is input, an input Db, a positive output “Q”, and a negative output “Qb”. - Each of the flip-
flops 111 to 115 may invert a logical level (e.g., a high level or a low level) of the input Db in synchronization with a falling edge of the clock signal CK and may transmit a result of the inversion to the positive output “Q”. Each of the flip-flops 111 to 115 may transmit a logical level of the input Db to the negative output Qb in synchronization with the falling edge of the clock signal CK. - The input Db and the positive output “Q” of the first flip-
flop 111 may be connected to each other. The positive output “Q” of the first flip-flop 111 may output a first digital bit Q1. The negative output Qb of the first flip-flop 111 may output a first inverted digital bit Qb1. - The first counter
logical operator 121 may perform an exclusive NOR (XNOR) operation on the first inverted digital bit Qb1 and a second inverted digital bit Qb2. That is, the first counterlogical operator 121 may output the high level when the first and second inverted digital bits Qb1 and Qb2 are identical to each other, and may output the low level otherwise. - An output of the first counter
logical operator 121 may be provided to an input Db of the second flip-flop 112. A positive output “Q” of the second flip-flop 112 may output a second digital bit Q2. A negative output Qb of the second flip-flop 112 may output the second inverted digital bit Qb2. - The second counter
logical operator 122 may perform a NOR operation on the first inverted digital bit Qb1 and the second inverted digital bit Qb2. That is, the second counterlogical operator 122 may output the high level when the first and second inverted digital bits Qb1 and Qb2 are the low level, and may output the low level otherwise. - The third counter
logical operator 123 may perform an XOR operation on an output of the second counterlogical operator 122 and a third inverted digital bit Qb3. That is, the third counterlogical operator 123 may output the high level when the output of the second counterlogical operator 122 is identical to the third inverted digital bit Qb3, and may output the low level otherwise. - An output of the third counter
logical operator 123 may be provided to an input Db of the third flip-flop 113. A positive output “Q” of the third flip-flop 113 may output a third digital bit Q3. A negative output Qb of the third flip-flop 113 may output the third inverted digital bit Qb3. - The fourth counter
logical operator 124 may perform a NOR operation on the first to third inverted digital bits Qb1 to Qb3. The fifth counterlogical operator 125 may perform an XOR operation on an output of the fourth counterlogical operator 124 and a fourth inverted digital bit Qb4. - An output of the fifth counter
logical operator 125 may be provided to an input Db of the fourth flip-flop 114. A positive output “Q” of the fourth flip-flop 114 may output a fourth digital bit Q4. A negative output Qb of the fourth flip-flop 114 may output the fourth inverted digital bit Qb4. - The sixth counter
logical operator 126 may perform a NOR operation on the first to fourth inverted digital bits Qb1 to Qb4. The seventh counterlogical operator 127 may perform an XOR operation on an output of the sixth counterlogical operator 126 and a fifth inverted digital bit Qb5. - An output of the seventh counter
logical operator 127 may be provided to an input Db of the fifth flip-flop 115. A positive output “Q” of the fifth flip-flop 115 may output a fifth digital bit Q5. A negative output Qb of the fifth flip-flop 115 may output the fifth inverted digital bit Qb5. - The
converter 130 may convert the first to fifth digital bits Q1 to Q5 constituting a binary code to first to fifth gray bits G1 to G5 constituting a gray code. Theconverter 130 includes first to fourth converterlogical operators 131 to 135. - The first converter
logical operator 131 may perform an XOR operation on the first and second digital bits Q1 and Q2. An output of the first converterlogical operator 131 may be the first gray bit G1. The second converterlogical operator 132 may perform an XOR operation on the second and third digital bits Q2 and Q3. An output of the second converterlogical operator 132 may be the second gray bit G2. - The third converter
logical operator 133 may perform an XOR operation on the third and fourth digital bits Q3 and Q4. An output of the third converterlogical operator 133 may be the third gray bit G3. The fourth converterlogical operator 134 may perform an XOR operation on the fourth and fifth digital bits Q4 and Q5. An output of the fourth converterlogical operator 134 may be the fourth gray bit G4. - The fifth converter
logical operator 135 may perform an XOR operation on the fifth digital bit Q5 and a ground voltage VSS, that is, the low level. An output of the fifth converterlogical operator 135 may be the fifth gray bit G5. - During one cycle of the clock signal CK, the
counter 110 may increase a count of the first to fifth digital bits Q1 to Q5. That is, each of the first to fifth flip-flops 111 to 115 may transmit the input Db to the output “Q” during one cycle of the clock signal CK. - In the
counter 110, a signal path, which is used to generate the fifth digital bit Q5 through the first flip-flop 111, the sixth counterlogical operator 126, the seventh counterlogical operator 127, and the fifth flip-flop 115, from among signal paths used to generate the first to fifth digital bits Q1 to Q5 in response to the clock signal CK may be the longest. - The longest signal path may be a critical path. In the case where a time (e.g., a critical time) needed to generate the fifth digital bit Q5 through the critical path is shorter than one cycle of the clock signal CK, the
gray code generator 100 may count the first to fifth digital bits Q1 to Q5 without an error. - In the case where the critical time is identical to or longer than one cycle of the clock signal CK, the
gray code generator 100 may not count the first to fifth digital bits Q1 to Q5, in particular, the fifth digital bit Q5. That is, the critical time acts as a limitation on a frequency of the clock signal CK and acts as a limitation on an operating speed of thegray code generator 100. - In particular, a level of a power supply voltage of an electronic device including the
gray code generator 100 is decreasing as a low power continues to be required. In the case where the level of the power supply voltage decreases, a current per unit area consumed by the first to fifth flip-flops 111 to 115 or the first to seventh counterlogical operators 121 to 127 increases, and a voltage drop by a resistance becomes severe. - As such, the operating speed of the first to fifth flip-
flops 111 to 115 or the first to seventh counterlogical operators 121 to 127 may decrease. The decrease in the operating speed of the first to fifth flip-flops 111 to 115 or the first to seventh counterlogical operators 121 to 127 acts as a limitation in further suppressing the frequency of the clock signal CK or the operating speed of thegray code generator 100. - In addition, the
converter 130 converts the first to fifth digital bits Q1 to Q5 to the first to fifth gray bits G1 to G5 by using the first to fifth converterlogical operators 131 to 135. The first to fifth converterlogical operators 131 to 135 have a nonlinearity that an operating speed varies with a pattern of the first to fifth digital bits Q1 to Q5. - For example, it is assumed that a first node of each of the first to fifth converter
logical operators 131 to 135 has a specific value and a second node thereof toggles. According to this assumption, a speed at which each of the first to fifth converterlogical operators 131 to 135 outputs a result of its own operation may vary with whether a value of the first node is the high level or the low level. - For another example, a speed at which each of the first to fifth converter
logical operators 131 to 135 outputs a result of its own operation may vary with whether a voltage of the second node transitions from the high level to the low level or transitions from the low level to the high level. The variation of operating speed may cause a nonlinearity. -
FIG. 2 is a diagram illustrating agray code generator 200 according to another example embodiment of the inventive concepts. - Referring to
FIG. 2 , thegray code generator 200 includes acounter 210 and aconverter 230. - The
counter 210 may count the digital bits Q1 to Q5 constituting a binary code in response to a first clock signal CK1. For example, thecounter 210 may sequentially increase the digital bits Q1 to Q5. - The
counter 210 includes first to fifth counter flip-flops 211 to 215, a replica counter flip-flop 216, and the first to fifthlogical operators 221 to 225. Each of the first to fifth counter flip-flops 211 to 215 may include a clock input to which the clock signal CK is input, an input “D”, a positive output “Q”, and a negative output “Qb”. - Each of the second to fifth counter flip-
flops 212 to 215 may transmit a logical level (e.g., a high level or a low level) of the input “D” to the positive output “Q” in synchronization with a falling edge of a second clock signal CK2. Each of the second to fifth counter flip-flops 212 to 215 may invert a logical level of the input “D” in synchronization with the falling edge of the second clock signal CK2 and may transmit a result of the inversion to the negative output Qb. - The first clock signal CK1 may be input to a clock input of the first counter flip-
flop 211. The input “D” and the negative output Qb of the first counter flip-flop 211 may be connected to each other. A negative output Qb of the first counter flip-flop 211 may be output as the second clock signal CK2. - The first counter flip-
flop 211 may transmit the input “D” to the negative output Qb in synchronization with a rising edge or the falling edge of the first clock signal CK1. Since a level of the second clock signal CK2 transitions in synchronization with the falling edge of the first clock signal CK1, the period of the second clock signal CK2 may be two times the period of the first clock signal CK1. - That is, the frequency of the second clock signal CK2 may be half the frequency of the first clock signal CK1. The first counter flip-
flop 211 may be configured to divide the first clock signal CK1 and generate the second clock signal CK2, and may be called a “divider”. - The replica counter flip-
flop 216 may output the second clock signal CK2 as the first digital bit Q1. For example, a delay amount when the replica counter flip-flop 216 outputs the second clock signal CK2 as the first digital bit Q1 may be identical or substantially similar to a delay amount when the input “D” is transmitted to the output “Q” in each of the second to fifth counter flip-flops 212 to 215. - The input “D” and the negative output Qb of the second counter flip-
flop 212 may be connected to each other. A positive output “Q” of the second counter flip-flop 212 may output the second digital bit Q2. A negative output Qb of the second counter flip-flop 212 may output the second inverted digital bit Qb2. - The first
logical operator 221 may perform an XOR operation on the second inverted digital bit Qb2 and the third inverted digital bit Qb3. That is, the firstlogical operator 221 may output the high level when the second and third inverted digital bits Qb2 and Qb3 are different from each other, and may output the low level otherwise. - An output of the first
logical operator 221 may be provided to an input “D” of the third counter flip-flop 213. A positive output “Q” of the third counter flip-flop 213 may output the third digital bit Q3. A negative output Qb of the third counter flip-flop 213 may output the third inverted digital bit Qb3. - The second
logical operator 222 may perform a NOR operation on the second and third inverted digital bits Qb2 and Qb3. That is, the secondlogical operator 222 may output the high level when the second and third inverted digital bits Qb2 and Qb3 are at the high level, and may output the low level otherwise. - The third
logical operator 223 may perform an XNOR operation on an output of the secondlogical operator 222 and the fourth inverted digital bit Qb4. That is, the thirdlogical operator 223 may output the high level when the output of the secondlogical operator 222 and the fourth inverted digital bit Qb4 are identical to each other, and may output the low level otherwise. - An output of the third
logical operator 223 may be provided to an input “D” of the fourth counter flip-flop 214. A positive output “Q” of the fourth counter flip-flop 214 may output the fourth digital bit Q4. A negative output Qb of the fourth counter flip-flop 214 may output the fourth inverted digital bit Qb4. - The fourth
logical operator 224 may perform a NOR operation on the second to fourth inverted digital bits Qb2 to Qb4. The fifthlogical operator 225 may perform an XNOR operation on an output of the fourthlogical operator 224 and the fifth inverted digital bit Qb5. - An output of the fifth
logical operator 225 may be provided to an input “D” of the fifth counter flip-flop 215. A positive output “Q” of the fifth counter flip-flop 215 may output the fifth digital bit Q5. A negative output Qb of the fifth counter flip-flop 215 may output the fifth inverted digital bit Qb5. - The
converter 230 may convert the first to fifth digital bits Q1 to Q5 constituting a binary code to the first to fifth gray bits G1 to G5 constituting a gray code. Theconverter 230 may include first to fourth converter flip-flops 231 to 234 and a replica converter flip-flop 235. - Each of the first to fourth converter flip-
flops 231 to 234 may transmit a logical level (e.g., the high level or the low level) of the input “D” to the positive output “Q” in synchronization with a rising edge of a signal provided to a clock input. Each of the second to fourth converter flip-flops 231 to 234 may invert a logical level of the input “D” in synchronization with the rising edge of the signal provided to the clock input and may transmit a result of the inversion to the negative output Qb. - The first digital bit Q1 may be provided to a clock input of the first converter flip-
flop 231. An input “D” and a negative output Qb of the first converter flip-flop 231 may be connected to each other. A positive output “Q” of the first converter flip-flop 231 may output the first gray bit G1. - The second digital bit Q2 may be provided to a clock input of the second converter flip-
flop 232. An input “D” and a negative output Qb of the second converter flip-flop 232 may be connected to each other. A positive output “Q” of the second converter flip-flop 232 may output the second gray bit G2. - The third digital bit Q3 may be provided to a clock input of the third converter flip-
flop 233. An input “D” and a negative output Qb of the third converter flip-flop 233 may be connected to each other. A positive output “Q” of the third converter flip-flop 233 may output the third gray bit G3. - The fourth digital bit Q4 may be provided to a clock input of the fourth converter flip-
flop 234. An input “D” and a negative output Qb of the fourth converter flip-flop 234 may be connected to each other. A positive output “Q” of the fourth converter flip-flop 234 may output the fourth gray bit G4. - The replica converter flip-
flop 235 may output the fifth digital bit Q5 as the fifth gray bit G5. For example, a delay amount when the replica converter flip-flop 235 outputs the fifth digital bit Q5 as the fifth gray bit G5 may be identical or substantially similar to a delay amount when the input “D” is transmitted to the output “Q” in each of the first to fourth converter flip-flops 231 to 234. - The
gray code generator 100 ofFIG. 1 generates the first to fifth digital bits Q1 to Q5 in synchronization with the clock signal CK, and converts the first to fifth digital bits Q1 to Q5 to the first to fifth gray bits G1 to G5. Like thegray code generator 100, thegray code generator 200 generates the first to fifth digital bits Q1 to Q5 in synchronization with the first clock signal CK1, and converts the first to fifth digital bits Q1 to Q5 to the first to fifth gray bits G1 to G5. - The first to fifth flip-
flops 111 to 115 and the first to seventh counterlogical operators 121 to 127 of thegray code generator 100 ofFIG. 1 operate in synchronization with the clock signal CK. In contrast, the first to fifth counter flip-flops 211 to 215, the replica counter flip-flop 216, and the first to fifthlogical operators 221 to 225 of thegray code generator 200 operate in synchronization with the second clock signal CK2. - The
gray code generator 200 generates the first to fifth digital bits Q1 to Q5 and the first to fifth gray bits G1 to G5 in synchronization with the first clock signal CK1. However, the second counter flip-flop 212 and the fifth counter flip-flop 215 forming a critical path of thegray code generator 200 operate in synchronization with the falling edge of the second clock signal CK2. - That is, like the
gray code generator 100 ofFIG. 1 , thegray code generator 200 generates the first to fifth digital bits Q1 to Q5 and the first to fifth gray bits G1 to G5 every cycle of the clock signal CK1 or CK2. In this case, the critical time of thegray code generator 200 may be allowed by about two times the critical time of thegray code generator 100. - In the case where frequencies of the clock signal CK and the first clock signal CK1 are identically controlled, a time of one cycle of the second clock signal CK2 may be longer than a time of one cycle of the clock signal CK, for example, may be about two times the time of one cycle of the clock signal CK. In the case where frequencies of the clock signal CK and the second clock signal CK2 are identically controlled, a frequency of the first clock signal CK1 may be higher than a frequency of the clock signal CK, for example, may be about two times the frequency of the clock signal CK.
- That is, when the critical time of the
counter 210 is identical to the critical time of thecounter 110, thegray code generator 200 may operate in response to the first clock signal CK1, the frequency of which is higher than a frequency of the clock signal CK of thegray code generator 100. That is, the operating speed of thegray code generator 200 may be higher than the operating speed of thegray code generator 100. - The critical time of the
gray code generator 200 may be allowed to be longer than the critical time of thegray code generator 100. Accordingly, thegray code generator 200 may operate more appropriately for a low-power environment than thegray code generator 100. - When the frequency of the first clock signal CK1 is maintained identically to the frequency of the clock signal CK, the
counter 210 may generate the first to fifth digital bits Q1 to Q5 depending on the second clock signal CK2, the frequency of which is lower than the frequency of the clock signal CK. Accordingly, a power consumed for thecounter 210 to generate the first to fifth digital bits Q1 to Q5 may be reduced. - Compared with the
converter 130 ofFIG. 1 , theconverter 230 converts the first to fifth digital bits Q1 to Q5 to the first to fifth gray bits G1 to G5 by using the first to fourth converter flip-flops 231 to 234 and the replica converter flip-flop 235. Accordingly compared with theconverter 130, theconverter 230 has an improved linearity. -
FIGS. 3 and 4 are timing diagrams illustrating an example in which thegray code generator 200 generates the first to fifth digital bits Q1 to Q5. In an example embodiment, an example in which a binary value BV composed of the first to fifth digital bits Q1 to Q5 increases from “00000” to “11111” and again increases from “00000” to “10000” are illustrated inFIGS. 3 and 4 . - Referring to
FIGS. 2 to 4 , the replica counter flip-flop 216 outputs the second clock signal CK2 as the first digital bit Q1. That is, the first digital bit Q1 may have a waveform obtained by delaying the second clock signal CK2 by a first delay amount D1 at the replica counter flip-flop 216. - The second counter flip-
flop 212 may output the negative output Qb, that is, a level of the second inverted digital bit Qb2 as the second digital bit Q2 in synchronization with the falling edge of the second clock signal CK2. It may be understood that the second counter flip-flop 212 inverts an input in synchronization with the falling edge of the second clock signal CK2. The second digital bit Q2 may by delayed by a second delay amount D2 through the second counter flip-flop 212. - When the second and third inverted digital bits Qb2 and Qb3 are different from each other, that is, when the second and third digital bits Q2 and Q3 are different from each other, the third counter flip-
flop 213 may set the third digital bit Q3 to the high level in synchronization with the falling edge of the second clock signal CK2. - When the second and third inverted digital bits Qb2 and Qb3 are identical to each other, that is, when the second and third digital bits Q2 and Q3 are identical to each other, the third counter flip-
flop 213 may set the third digital bit Q3 to the low level in synchronization with the falling edge of the second clock signal CK2. The third digital bit Q3 may be delayed by a third delay amount D3 through the third counter flip-flop 213. - For example, the second clock signal CK2 falls when the binary value BV is “00001”. Since the second and third digital bits Q2 and Q3 are identical to each other, the third digital bit Q3 maintains the low level. The second clock signal CK2 falls when the binary value BV is “00011”. Since the second and third digital bits Q2 and Q3 are different from each other, the third digital bit Q3 maintains the high level.
- When the fourth inverted digital bit Qb4 is different from a result of performing the NOR operation on the second and third inverted digital bits Qb2 and Qb3, the fourth counter flip-
flop 214 may set the fourth digital bit Q4 to the high level in synchronization with the falling edge of the second clock signal CK2. - When the fourth inverted digital bit Qb4 is identical to the result of performing the NOR operation on the second and third inverted digital bits Qb2 and Qb3, the fourth counter flip-
flop 214 may set the fourth digital bit Q4 to the low level in synchronization with the falling edge of the second clock signal CK2. The fourth digital bit Q4 may be delayed by a fourth delay amount D4 through the fourth counter flip-flop 214. - For example, in the timing diagrams of
FIGS. 3 and 4 , in the case where a value of the second and third digital bits Q2 and Q3 is “11” when the second clock signal CK2 falls, the third digital bit Q3 may be inverted. - At the falling edge of the second clock signal CK2, when the binary value BV is “00111”, the fourth digital bit Q4 may transition to the high level. At the falling edge of the second clock signal CK2, when the binary value BV is “01111”, the fourth digital bit Q4 may transition to the low level.
- At the falling edge of the second clock signal CK2, when the binary value BV is “10111”, the fourth digital bit Q4 may transition to the high level. At the falling edge of the second clock signal CK2, when the binary value BV is “11111”, the fourth digital bit Q4 may transition to the low level.
- When the fifth inverted digital bit Qb5 is different from a result of performing the NOR operation on the second to fourth inverted digital bits Qb2 to Qb4, the fifth counter flip-
flop 215 may set the fifth digital bit Q5 to the high level in synchronization with the falling edge of the second clock signal CK2. - When the fifth inverted digital bit Qb5 is identical to the result of performing the NOR operation on the second to fourth inverted digital bits Qb2 to Qb4, the fifth counter flip-
flop 215 may set the fifth digital bit Q5 to the low level in synchronization with the falling edge of the second clock signal CK2. The fifth digital bit Q5 may be delayed by a fifth delay amount D5 through the fifth counter flip-flop 215. - For example, in the timing diagrams of
FIGS. 3 and 4 , in the case where a value of the second to fourth digital bits Q2 to Q4 is “111” when the second clock signal CK2 falls, the fifth digital bit Q5 may be inverted. - At the falling edge of the second clock signal CK2, when the binary value BV is “01111”, the fifth digital bit Q5 may transition to the high level. At the falling edge of the second clock signal CK2, when the binary value BV is “11111”, the fifth digital bit Q5 may transition to the low level.
-
FIGS. 5 and 6 are timing diagrams illustrating examples in which thegray code generator 200 converts the first to fifth digital bits Q1 to Q5 to the first to fifth gray bits G1 to G5. In an example embodiment, an example in which the binary value BV is converted to a gray value GV when the binary value BV composed of the first to fifth digital bits Q1 to Q5 increases from “00000” to “11111” and again increases from “00000” to “10000” are illustrated inFIGS. 5 and 6 . - Referring to
FIGS. 2, 5, and 6 , the first converter flip-flop 231 may invert the first gray bit G1 in synchronization with the rising edge of the first digital bit Q1. The second converter flip-flop 232 may invert the second gray bit G2 in synchronization with the rising edge of the second digital bit Q2. - The third converter flip-
flop 233 may invert the third gray bit G3 in synchronization with the rising edge of the third digital bit Q3. The fourth converter flip-flop 234 may invert the fourth gray bit G4 in synchronization with the rising edge of the fourth digital bit Q4. The replica converter flip-flop 235 may output the fifth digital bit Q5 as the fifth gray bit G5. - As illustrated in
FIGS. 5 and 6 , a gray value GV may be used as a gray code in which the first to fifth gray bits G1 to G5 differ in only one bit. -
FIG. 7 is a diagram illustrating a flip-flop 300 according to an example embodiment of the inventive concepts. For example, the flip-flop 300 may correspond to one of the first to fifth counter flip-flops 211 to 215 or the first to fourth converter flip-flops 231 to 234. - Referring to
FIG. 7 , the flip-flop 300 includes aninput block 310, afirst latch block 320, atransmission block 330, asecond latch block 340, and anoutput block 350. - The
input block 310 may be connected to the input “D” of the flip-flop 300. Theinput block 310 may include an inverter which inverts and outputs a signal of the input “D” in response to a third clock signal CK3 and a third inverted clock signal CK3 b. - The third clock signal CK3 may be the second clock signal CK2 or a corresponding digital bit of the first to fourth digital bits Q1 to Q4. The third inverted clock signal CK3 b may be an inverted version of the third clock signal CK3.
- The
first latch block 320 may include aNAND operator 321 and afirst latch inverter 322. TheNAND operator 321 may include a first input to which a reset signal RSTb is input and a second input to which an output of theinput block 310 is input. TheNAND operator 321 may perform a NAND operation on the output of theinput block 310 and the reset signal RSTb. - An output of the
NAND operator 321 may be an output of thefirst latch block 320. Thefirst latch inverter 322 may invert the output of theNAND operator 321 and may output a result of the inversion to the second input of theNAND operator 321. Thefirst latch block 320 may store an output signal of theinput block 310 and may invert and output the stored signal. - The
transmission block 330 may transmit an output of thefirst latch block 320 to thesecond latch block 340 in response to the third clock signal CK3 and the third inverted clock signal CK3 b. Thetransmission block 330 may include an inverter which inverts and outputs an output signal of thefirst latch block 320 in response to the third clock signal CK3 and the third inverted clock signal CK3 b. - For example, when the flip-
flop 300 is one of the second to fifth counter flip-flops 212 to 215, thetransmission block 330 may operate in response to the falling edge of the third clock signal CK3 or the rising edge of the third inverted clock signal CK3 b. - For example, when the flip-
flop 300 is one of the first to fourth converter flip-flops 231 to 234, thetransmission block 330 may operate in response to the rising edge of the third clock signal CK3 or the falling edge of the third inverted clock signal CK3 b. - For example, when the flip-
flop 300 is the first counter flip-flop 211, thetransmission block 330 may operate in response to the rising edge or the falling edge of the third clock signal CK3 or the rising edge or the rising edge of the third inverted clock signal CK3 b. - The
second latch block 340 may include second andthird latch inverters transistor 343. Thesecond latch inverter 341 may invert and output an output of thetransmission block 330 or an output of thethird latch inverter 342. Thethird latch inverter 342 may invert and output the output of thesecond latch inverter 341. - The
transistor 343 may reset thesecond latch block 340 in response to the reset signal RSTb. Thesecond latch block 340 may output a first signal transmitted through thetransmission block 330 and a second signal corresponding to an inverted version of the first signal. - The
output block 350 may output the first signal and the second signal of thesecond latch block 340 to the positive output “Q” and the negative output Qb. Theoutput block 350 includes first andsecond output inverters first output inverter 351 may invert the second signal of thesecond latch block 340 and may output a result of the inversion to the negative output Qb. Thesecond output inverter 352 may invert the first signal and may output a result of the inversion to the positive output “Q”. -
FIG. 8 is a diagram illustrating a first example of an inverter in thetransmission block 330. - Referring to
FIGS. 7 and 8 , aninverter 360 includes first tofourth transistors 361 to 364 which are connected in series between a power node to which a power supply voltage VDD is supplied and a ground node to which a ground voltage VSS is supplied. - The first and
second transistors fourth transistors first transistor 361 may operate in response to the third clock signal CK3, and thefourth transistor 364 may operate in response to the third inverted clock signal CK3 b. - The second and
third transistors third transistors - When the third clock signal CK3 transitions to the low level, the first and
fourth transistors third transistors inverter 360 may operate in synchronization with the falling edge of the third clock signal CK3. -
FIG. 9 is a diagram illustrating a second example of an inverter in thetransmission block 330. - Referring to
FIGS. 7 and 9 , aninverter 370 includes first tofourth transistors 371 to 374 which are connected in series between a power node to which the power supply voltage VDD is supplied and a ground node to which the ground voltage VSS is supplied. - The first and
second transistors fourth transistors first transistor 371 may operate in response to the third inverted clock signal CK3 b, and thefourth transistor 364 may operate in response to the third clock signal CK3. - The second and
third transistors third transistors - When the third clock signal CK3 transitions to the high level, the first and
fourth transistors third transistors inverter 370 may operate in synchronization with the rising edge of the third clock signal CK3. -
FIG. 10 is a diagram illustrating a replica flip-flop 400 according to an example embodiment of the inventive concepts. For example, the replica flip-flop 400 may be the replica counter flip-flop 216 or the replica converter flip-flop 235. - Referring to
FIGS. 2 and 10 , the replica flip-flop 400 may include atransmission block 410, alatch block 420, and anoutput block 430. - The
transmission block 410 may include an inverter which inverts and outputs a fourth clock signal CK4. The fourth clock signal CK4 may be the second clock signal CK2 or the fifth digital bit Q5. - The
latch block 420 may include first andsecond inverters transistor 423. Thefirst inverter 421 may invert and output an output of thetransmission block 410 or an output of thesecond inverter 422. Thesecond inverter 422 may invert and output an output of thefirst inverter 421 in response to the fourth clock signal CK4 and a fourth inverted clock signal CK4 b. - The
transistor 423 may reset thelatch block 420 in response to the reset signal RSTb. Thelatch block 420 may store a third signal output from thetransmission block 410 and may output a fourth signal corresponding to an inverted version of the third signal. Theoutput block 430 may transmit the third signal and the fourth signal of thelatch block 420 to the positive output “Q” and the negative output Qb, respectively. - The
output block 430 includes first andsecond output inverters first output inverter 431 may invert the fourth signal of thelatch block 420 and may output a result of the inversion to the negative output Qb. Thesecond output inverter 432 may invert the third signal of thelatch block 420 and may output a result of the inversion to the positive output “Q”. In an example embodiment, in the case where the negative output Qb is not used in the replica flip-flop 400, the negative output Qb may be omitted. - The flip-
flop 300 described with reference toFIG. 7 outputs a signal stored in thefirst latch block 320 through thetransmission block 330, thesecond latch block 340, and theoutput block 350 in response to the falling edge or the rising edge of the third clock signal CK3. The flip-flop 400 described with reference toFIG. 10 outputs the fourth clock signal CK4 through thetransmission block 410, thelatch block 420, and theoutput block 430. - In the case where the structure or size of the
transmission block 330, thesecond latch block 340, and theoutput block 350 of the flip-flop 300 is identical to the structure or size of thetransmission block 410, thelatch block 420, and theoutput block 430 of the replica flip-flop 400, the transmission delay of the flip-flop 300 may be identical to the transmission delay of the replica flip-flop 400. Accordingly, the replica flip-flop 400 may compensate for or match the transmission delay of the flip-flop 300. -
FIG. 11 is a diagram illustrating agray code generator 200 a according to an application example of thegray code generator 200 ofFIG. 2 . - Referring to
FIG. 11 , thegray code generator 200 a includes acounter 210 a and theconverter 230. - The
converter 230 has the same structure as described with reference toFIG. 2 and operates the same manner as described with reference toFIG. 2 . Thus, additional description will be omitted to avoid redundancy. - The
counter 210 a includes the second to fifth flip-flops 212 to 215, the replica counter flip-flop 216, and the first to fifthlogical operators 221 to 225. Compared with thecounter 210 ofFIG. 2 , thecounter 210 a does not include the first counter flip-flop 211. - The second to fifth flip-
flops 212 to 215 and the replica counter flip-flop 216 may operate in response to a fifth clock signal CK5 provided from the outside. Thegray code generator 200 a may perform count and conversion in a period where the fifth clock signal CK5 is at the high level, and may further perform the count and conversion in a period where the fifth clock signal CK5 is at the low level. -
FIG. 12 is a diagram illustrating agray code generator 200 b according to an application example of thegray code generator 200 a ofFIG. 11 . - Referring to
FIG. 12 , thegray code generator 200 b includes acounter 210 b and aconverter 230 a. - Compared with the
counter 210 a ofFIG. 11 , thecounter 210 b does not include the replica counter flip-flop 216. Compared with theconverter 230 ofFIG. 11 , theconverter 230 a does not include the replica converter flip-flop 235. - For example, in the case where a delay amount by the second to fifth converter flip-
flops 212 to 215 and a delay amount by the first to fourth converter flip-flops 231 to 234 does not cause an operation error of thegray code generator 200 b, the replica counter flip-flop 216 and the replica converter flip-flop 235 may be omitted. - In an example embodiment, as the first counter flip-
flop 211 is positioned in thecounter 210 b as described with reference toFIG. 2 , the replica counter flip-flop 216 and the replica converter flip-flop 235 may be omitted. -
FIG. 13 is a block diagram illustrating animage sensing device 500 according to an example embodiment of the inventive concepts. - Referring to
FIG. 13 , theimage sensing device 500 includes an imagesensor pixel array 510, atiming controller 520, arow scan circuit 530, aramp circuit 540, first to n-th comparators 551 to 55 n, agray code generator 560, first to n-th quantizers 571 to 57 n, and adata latch 580. - The image
sensor pixel array 510 may include image sensor pixels arranged in rows and columns. The imagesensor pixel array 510 may generate image data in a way to sequentially scan the rows of the image sensor pixels. Image sensor pixels in a selected row may convert the amount of incident light in the form of a voltage. That is, the imagesensor pixel array 510 may convert the amount of light to a voltage. - The
timing controller 520 may provide a first signal 51 to therow scan circuit 530 and may provide a second signal S2 to thegray code generator 560. Thetiming controller 520 may control the first and second signals 51 and S2 such that therow scan circuit 530, theramp circuit 540, and thegray code generator 560 operate at appropriate timings. - The
row scan circuit 530 is connected to rows of the pixels in the imagesensor pixel array 510 through first to m-th word lines WL1 to WLm. Therow scan circuit 530 may sequentially select the first to m-th word lines WL1 to WLm in response to the first signal 51. Therow scan circuit 530 may apply an activation voltage (e.g., a positive voltage) to a selected word line and may apply a deactivation voltage (e.g., a ground voltage) to unselected word lines. - The
ramp circuit 540 may generate a gradually increasing (or decreasing) voltage in response to the second signal S2. Voltages generated by theramp circuit 540 may be provided to the first to n-th comparators 551 to 55 n. - Each of the first to n-
th comparators 551 to 55 n may include a first node to which a corresponding voltage from theramp circuit 540 is input, and a second node connected to a corresponding column of the columns of the pixels in the imagesensor pixel array 510 through first to n-th bit lines BL1 to BLn. - Each of the first to n-
th comparators 551 to 55 n may compare a voltage of the first node and a voltage of the second node. For example, each of the first to n-th comparators 551 to 55 n may output the high level (or the low level) when the voltage of the first node is greater than the voltage of the second node. Each of the first to n-th comparators 551 to 55 n may output the low level (or the high level) when the voltage of the first node is not greater than the voltage of the second node. - A voltage of the first node of each of the first to n-
th comparators 551 to 55 n gradually increases or decreases. Accordingly, a length of a period where an output signal of each of the first to n-th comparators 551 to 55 n is at the high level (or at the low level) varies with the voltage of the second node of each of the first to n-th comparators 551 to 55 n. That is, each of the first to n-th comparators 551 to 55 n may convert a voltage of a bit line to a pulse width. - The
gray code generator 560 may generate a gray code. For example, thegray code generator 560 may include one of thegray code generators FIGS. 2 to 12 . Gray bits generated by thegray code generator 560 may be provided to the first to n-th quantizers 571 to 57 n. - The first to n-
th quantizers 571 to 57 n may convert outputs of the first to n-th comparators 551 to 55 n to digital values. Each of the first to n-th quantizers 571 to 57 n may include first to fifth latches LAT1 to LAT5, and a counter CNT. The first to fifth latches LAT1 to LAT5 may respectively receive the gray bits from thegray code generator 560. Each of the first to fifth latches LAT1 to LAT5 may store a corresponding gray bit in synchronization with a rising edge (or a falling edge) of an output from a corresponding comparator. - The counter CNT may start to count when the
ramp circuit 540 starts to adjust (e.g., increase or decrease) an output voltage from an initial value. For example, the counter CNT may increase a count when values of the gray bits G1 to G5 circles from “00000” to “10000” as described with reference toFIGS. 5 and 6 . - For example, the counter CNT may generate upper bits of a quantization value of a corresponding quantizer. The first to fifth latches LAT1 to LAT5 may generate lower bits of a quantization value of a corresponding quantizer.
- The data latch 580 may receive and store quantized values from the first to n-
th quantizers 571 to 57 n. The values stored in the data latch 580 may be used as a data image. - As described above, while the
gray code generator 560 performs a count operation, an image sensing operation of theimage sensing device 500 is at a standby state. Accordingly, as described with reference toFIGS. 2 to 12 , in the case where an operating speed of thegray code generator 560 is improved, a speed (e.g., a scanning interval or a scanning frequency) at which theimage sensing device 500 senses an image may be improved, and the quality of image data may be improved. - Also, as described with reference to
FIGS. 2 to 12 , thegray code generator 560 may be appropriate for a low-power environment. Accordingly, theimage sensing device 500 may operate with a low power. Also, thegray code generator 560 suppresses a digital nonlinearity (DNL) that a speed varies with an input. Accordingly, the reliability of theimage sensing device 500 may be improved. - When the gray code generator performs counting, the digital nonlinearity (DNL) may occur.
FIG. 14 is a diagram illustrating a digital nonlinearity which occurs upon generating gray codes by using the first to fifth converterlogical operators 131 to 135 as described with reference toFIG. 1 . - In
FIG. 14 , a horizontal axis represents a value of the digital bits Q1 to Q5 input to theconverter 130. A vertical axis represents a change in a time taken for theconverter 130 to perform conversion. Referring toFIG. 14 , a conversion time of theconverter 130 varies with whether the digital bits Q1 to Q5 have any value (or pattern). Accordingly, the digital nonlinearity (DNL) occurs. -
FIG. 15 is a diagram illustrating a digital nonlinearity which occurs upon generating gray codes by using the first to fourth converter flip-flops 231 to 234 and the pseudo converter flip-flop 235 as described with reference toFIG. 2 . Even though a value (or pattern) of the digital bits Q1 to Q5 varies, the conversion time is measured as being suppressed compared withFIG. 14 . That is, by using thegray code generator image sensing device 500 is suppressed, and the quality of image data is improved. - An example of a gray code generator which counts the first to fifth digital bits Q1 to Q5 and converts the first to fifth digital bits Q1 to Q5 to the first to fifth gray bits G1 to G5 is described in the above example embodiments. However, the numbers of digital bits and gray bits which the gray code generator according to example embodiments of the inventive concepts generates is not limited thereto.
- In the above-described example embodiments, components according to example embodiments of the inventive concepts are referred to by using the term “block”. The “block” may be implemented with various hardware devices, such as an integrated circuit, an application specific IC (ASCI), a field programmable gate array (FPGA), and a complex programmable logic device (CPLD), software, such as firmware and applications driven in hardware devices, or a combination of a hardware device and software. Also, “block” may include circuits or intellectual property (IP) implemented with semiconductor devices.
- For example, the units and/or devices described above, such as the components of the image sensing device (e.g., 500) including the gray code generator (e.g., 200, 200 a, and 200 b) as well as the sub-components thereof including elements of the counter (e.g., 210, 210 a, 210 b) such as the counter flip-flops (e.g., 211 to 215), the replica counter flip-flop (e.g., 216) and counter logical operators (e.g., 221 to 225) and elements of the converter (e.g., 230 and 230 a) such as the converter flip-flops (e.g., 231 to 234) and the replica converter flip-flop (e.g., 235) may be implemented using hardware, a combination of hardware and software, or a non-transitory storage medium storing software that is executable to perform the functions of the same.
- Hardware may be implemented using processing circuitry such as, but not limited to, one or more processors, one or more Central Processing Units (CPUs), one or more controllers, one or more arithmetic logic units (ALUs), one or more digital signal processors (DSPs), one or more microcomputers, one or more field programmable gate arrays (FPGAs), one or more System-on-Chips (SoCs), one or more programmable logic units (PLUs), one or more microprocessors, one or more Application Specific Integrated Circuits (ASICs), or any other device or devices capable of responding to and executing instructions in a defined manner.
- Software may include a computer program, program code, instructions, or some combination thereof, for independently or collectively instructing or configuring a hardware device to operate as desired. The computer program and/or program code may include program or computer-readable instructions, software components, software modules, data files, data structures, etc., capable of being implemented by one or more hardware devices, such as one or more of the hardware devices mentioned above. Examples of program code include both machine code produced by a compiler and higher level program code that is executed using an interpreter.
- For example, when a hardware device is a computer processing device (e.g., one or more processors, CPUs, controllers, ALUs, DSPs, microcomputers, microprocessors, etc.), the computer processing device may be configured to carry out program code by performing arithmetical, logical, and input/output operations, according to the program code. Once the program code is loaded into a computer processing device, the computer processing device may be programmed to perform the program code, thereby transforming the computer processing device into a special purpose computer processing device. In a more specific example, when the program code is loaded into a processor, the processor becomes programmed to perform the program code and operations corresponding thereto, thereby transforming the processor into a special purpose processor. In another example, the hardware device may be an integrated circuit customized into special purpose processing circuitry (e.g., an ASIC).
- A hardware device, such as a computer processing device, may run an operating system (OS) and one or more software applications that run on the OS. The computer processing device also may access, store, manipulate, process, and create data in response to execution of the software. For simplicity, one or more example embodiments may be exemplified as one computer processing device; however, one skilled in the art will appreciate that a hardware device may include multiple processing elements and multiple types of processing elements. For example, a hardware device may include multiple processors or a processor and a controller. In addition, other processing configurations are possible, such as parallel processors.
- Software and/or data may be embodied permanently or temporarily in any type of storage media including, but not limited to, any machine, component, physical or virtual equipment, or computer storage medium or device, capable of providing instructions or data to, or being interpreted by, a hardware device. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. In particular, for example, software and data may be stored by one or more computer readable recording mediums, including tangible or non-transitory computer-readable storage media as discussed herein.
- Storage media may also include one or more storage devices at units and/or devices according to one or more example embodiments. The one or more storage devices may be tangible or non-transitory computer-readable storage media, such as random access memory (RAM), read only memory (ROM), a permanent mass storage device (such as a disk drive), and/or any other like data storage mechanism capable of storing and recording data. The one or more storage devices may be configured to store computer programs, program code, instructions, or some combination thereof, for one or more operating systems and/or for implementing the example embodiments described herein.
- The computer programs, program code, instructions, or some combination thereof, may also be loaded from a separate computer readable storage medium into the one or more storage devices and/or one or more computer processing devices using a drive mechanism. Such separate computer readable storage medium may include a Universal Serial Bus (USB) flash drive, a memory stick, a Blu-ray/DVD/CD-ROM drive, a memory card, and/or other like computer readable storage media. The computer programs, program code, instructions, or some combination thereof, may be loaded into the one or more storage devices and/or the one or more computer processing devices from a remote data storage device via a network interface, rather than via a computer readable storage medium. Additionally, the computer programs, program code, instructions, or some combination thereof, may be loaded into the one or more storage devices and/or the one or more processors from a remote computing system that is configured to transfer and/or distribute the computer programs, program code, instructions, or some combination thereof, over a network. The remote computing system may transfer and/or distribute the computer programs, program code, instructions, or some combination thereof, via a wired interface, an air interface, and/or any other like medium.
- The one or more hardware devices, the storage media, the computer programs, program code, instructions, or some combination thereof, may be specially designed and constructed for the purposes of the example embodiments, or they may be known devices that are altered and/or modified for the purposes of example embodiments.
- According to an example embodiment of the inventive concepts, a frequency of a clock signal supplied to a gray code generator may be increased. Accordingly, the gray code generator having an improved operating speed is improved. Also, according to an example embodiment of the inventive concepts, the frequency of the clock signal supplied to the gray code generator may be decreased while maintaining the operating speed of the gray code generator. Accordingly, the gray code generator having reduced power consumption may be provided. Also, according to example embodiments of the inventive concepts, the gray code generator converts digital bits to gray bits by using flip-flops. Accordingly, the gray code generator having an improved linearity may be provided.
- While example embodiments of the inventive concepts have been described with reference to some example embodiments thereof, it will be apparent to those of ordinary skill in the art that various changes and modifications may be made thereto without departing from the spirit and scope of example embodiments of the inventive concepts as set forth in the following claims.
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180033302A KR102593926B1 (en) | 2018-03-22 | 2018-03-22 | Gray code generator |
KR10-2018-0033302 | 2018-03-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
US10419003B1 US10419003B1 (en) | 2019-09-17 |
US20190296745A1 true US20190296745A1 (en) | 2019-09-26 |
Family
ID=67909229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/209,195 Active US10419003B1 (en) | 2018-03-22 | 2018-12-04 | Gray code generator |
Country Status (3)
Country | Link |
---|---|
US (1) | US10419003B1 (en) |
KR (1) | KR102593926B1 (en) |
CN (1) | CN110299920B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112702043A (en) * | 2021-03-24 | 2021-04-23 | 上海海栎创科技股份有限公司 | Bidirectional deburring circuit |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6753985B2 (en) * | 2018-08-10 | 2020-09-09 | シャープ株式会社 | Analog-to-digital converter and solid-state image sensor |
JP7227777B2 (en) * | 2019-02-04 | 2023-02-22 | キヤノン株式会社 | Imaging device |
US10659056B1 (en) * | 2019-06-13 | 2020-05-19 | Omnivision Technologies, Inc. | Gray code counting signal distribution system |
US11256283B2 (en) | 2020-01-07 | 2022-02-22 | Apple Inc. | Hybrid asynchronous gray counter with non-gray zone detector for high performance phase-locked loops |
US11431936B2 (en) * | 2020-04-21 | 2022-08-30 | Omnivision Technologies, Inc. | Image sensor with shared gray code generator and parallel column arithmetic logic units |
US11632512B2 (en) * | 2021-02-19 | 2023-04-18 | Omnivision Technologies, Inc. | Arithmetic logic unit design in column analog to digital converter with shared gray code generator for correlated multiple samplings |
CN116153362B (en) * | 2023-04-20 | 2023-08-25 | 浙江力积存储科技有限公司 | Delay feedback method and delay feedback storage structure for read latency counter |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1028048A (en) | 1996-07-11 | 1998-01-27 | Fuji Electric Co Ltd | Counter circuit for pulse width measurement |
JP2002111482A (en) | 2000-10-02 | 2002-04-12 | Nikon Corp | Cray code counter |
JP2003283331A (en) * | 2002-03-25 | 2003-10-03 | Oki Electric Ind Co Ltd | Gray code counter |
CN1622464A (en) * | 2003-11-27 | 2005-06-01 | 华为技术有限公司 | Method for outputting Gray code count and counter thereof |
US6931091B2 (en) * | 2003-12-11 | 2005-08-16 | Drs Sensors & Targeting Systems, Inc. | Gray code counter |
US7149275B1 (en) | 2004-01-29 | 2006-12-12 | Xilinx, Inc. | Integrated circuit and method of implementing a counter in an integrated circuit |
KR100595385B1 (en) | 2004-05-22 | 2006-06-30 | 엠텍비젼 주식회사 | Gray code counter |
US7596201B2 (en) | 2007-03-15 | 2009-09-29 | Epson Imaging Devices Corporation | Gray code counter and display device therewith |
JP4386118B2 (en) | 2007-08-31 | 2009-12-16 | ソニー株式会社 | Imaging circuit |
JP5243352B2 (en) | 2009-06-17 | 2013-07-24 | シャープ株式会社 | AD converter, solid-state imaging device, and electronic information device |
EP2383891A1 (en) * | 2010-04-29 | 2011-11-02 | Dialog Semiconductor GmbH | A modular low power gray code counter |
JP5799531B2 (en) | 2010-04-30 | 2015-10-28 | ソニー株式会社 | A / D converter, A / D conversion method, solid-state imaging device, and camera system |
CN102497198B (en) * | 2011-12-15 | 2014-02-12 | 电子科技大学 | Double-edge-triggered Gray code counter |
CN203457135U (en) * | 2013-07-24 | 2014-02-26 | 上海华力创通半导体有限公司 | Gray code counter device |
US9621169B2 (en) | 2014-02-26 | 2017-04-11 | Taiwan Semiconductor Manufacturing Company Limited | Gray code counter |
-
2018
- 2018-03-22 KR KR1020180033302A patent/KR102593926B1/en active IP Right Grant
- 2018-12-04 US US16/209,195 patent/US10419003B1/en active Active
-
2019
- 2019-03-21 CN CN201910216470.4A patent/CN110299920B/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112702043A (en) * | 2021-03-24 | 2021-04-23 | 上海海栎创科技股份有限公司 | Bidirectional deburring circuit |
Also Published As
Publication number | Publication date |
---|---|
KR20190111314A (en) | 2019-10-02 |
CN110299920A (en) | 2019-10-01 |
US10419003B1 (en) | 2019-09-17 |
CN110299920B (en) | 2023-07-21 |
KR102593926B1 (en) | 2023-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10419003B1 (en) | Gray code generator | |
US9654093B2 (en) | Electronic device having a delay locked loop, and memory device having the same | |
US9191015B2 (en) | Temperature controlled oscillator and temperature sensor including the same | |
US9336838B1 (en) | Semiconductor memory apparatus and system including the same | |
US10609317B2 (en) | Time detection circuit, AD conversion circuit, and solid-state imaging device | |
US10673420B2 (en) | Electronic circuit including flip-flop using common clock | |
KR101045070B1 (en) | Semiconductor memory device and semiconductor system including semiconductor memory device and operating method for the same | |
JP2009246482A (en) | Priority encoder and time digital converter using it, and test device | |
US9590602B2 (en) | System and method for a pulse generator | |
TWI719861B (en) | Gray code counting signal distribution system | |
US11031056B2 (en) | Clock generation circuitry for memory device to generate multi-phase clocks and output data clocks to sort and serialize output data | |
EP3236470B1 (en) | Apparatus and method for read time control in ecc-enabled flash memory | |
US20140245088A1 (en) | Semiconductor test device and semiconductor test method | |
US9450587B2 (en) | Test circuit and test method of semiconductor apparatus | |
US10763835B2 (en) | Semiconductor apparatus | |
US10901454B2 (en) | Clock buffering to reduce memory hold time | |
KR102002466B1 (en) | Digital counter | |
US9406372B2 (en) | Secure non-volatile memory | |
US20130342245A1 (en) | Reset signal generation apparatus | |
KR102230446B1 (en) | Electronic device and electronic system with the same | |
US9659612B1 (en) | Semiconductor memory apparatus | |
US11483510B2 (en) | Digital serial read-out architecture | |
CN111835318B (en) | Pulse generating circuit | |
KR102049093B1 (en) | Timing-error tolerant flip-flop using modified clock | |
KR20150144187A (en) | Electronic device and electronic system with the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KIM, SUNGYONG;REEL/FRAME:047681/0366 Effective date: 20180831 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |