throbber
Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 1 of 13 PageID #: 48
`Case 2:21-cv-00076—JRG Document 1-3 Filed 03/05/21 Page 1 of 13 PageID #: 48
`
`
`
`
`EXHIBIT C
`EXHIBIT C
`
`
`
`
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 2 of 13 PageID #: 49
`camel'cv'ooom'me D°°“me“t 1"°”|llllilll‘fllflilIifll'flfilllllillfllillililIlllllllililfllilIllillll’9
`
`USOO7209401B2
`
`(12) Unlted States Patent
`(10) Patent No.:
`US 7,209,401 B2
`
`Norman et a].
`(45) Date of Patent:
`Apr. 24, 2007
`
`5,170,136 A * 12/1992 Yamakawa et al.
`5,379,230 A
`1/1995 Morikawa et al.
`5,440,520 A
`8/1995 Schutz et al.
`.........
`
`5,548,252 A *
`5,619,430 A
`5,739,728 A
`,
`,
`5 760 656 A *
`5,774,800 A *
`5,801,594 A
`5,912,595 A
`5,956,289 A
`6,002,627 A
`6,131,073 A
`6,154,099 A
`6,211,744 B1
`
`6,271,736 B1*
`6,442,500 B1
`
`
`
`......... 331/176
`..... 702/57
`
`365/226
`8/1996 Watanabe et al.
`........... 331/176
`
`4/1997 Nolan et al. ............. 364/557
`4/1998 Klm .................... 331/111
`
`
` .. 331/116 R
`utliff et al.
`6/1998 S
`.
`6/1998 Mori ................... 455/255
`
`...... 331/158
`9/1998 Muto et a1.
`.
`6/1999 Ma et a1.
`........
`.. 331/117 D
`9/1999 Norman et a1.
`.
`...... 365/233
`............... 365/212
`12/1999 Chevallier
`
`............... 702/107
`10/2000 Honda et al.
`11/2000 Suzuki et a1. ................. 331/57
`4/2001 Shin ..............
`331/57
`
`
`331/176
`8/2001 Kim
`8/2002 Kim ................. 702/132
`
`.................. 331/176
`11/2002 Cole et al.
`6,476,682 B1
`............... 327/512
`6,483,371 B1* 11/2002 Duthie et al.
`
`6,566,900 B2
`5/2003 Amick et al.
`...... 324/760
`6/2004 Pascalidis ..........
`6,744,376 B1*
`. 340/870.21
`
`........ 331/65
`6,850,125 B2 *
`2/2005 Norman et a1.
`..... 331/66
`6,853,259 B2
`2/2005 Norman et a1.
`
`7,079,775 B2 >x<
`7/2006 Amnson et 31.
`398/137
`............... 331/46
`2003/0034848 A1
`2/2003 Norman et a1.
`
`(54) RING OSCILLATOR DYNAMIC
`ADJUSTMENTS FOR AUTO CALIBRATION
`
`(76)
`
`Inventors: Robert D Norman, 9135 Chickadee
`Way, Blaine, WA (US) 98230; Dominik
`.
`J. Schmldt, 580 Arastradero Rd., Palo
`Altos CA (US) 94306
`,
`,
`,
`,
`Subjectto any dlsclalmers thetelm 0fth15
`Patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`,
`(*) Notlcei
`
`(21) Appl. No.: 11/415,771
`
`(22)
`
`Filed:
`
`May 2, 2006
`
`(65)
`
`Prior Publication Data
`
`US 2006/0197696 A1
`
`Sep. 7, 2006
`
`Related US. Application Data
`,
`,
`,
`,
`(63) Continuation of application No. 11/042,689, filed on
`Jan. 25, 2005, new Pat. No. 7,068,557, which is a
`continuation of application No. 09/930,822, filed on
`Aug. 15, 2001, now Pat. No. 6,853,259.
`
`(51)
`
`Int. Cl.
`(2006.01)
`GIIC 7/04
`(2006.01)
`GIIC 11/34
`(52) US. Cl.
`.......................
`365/212; 365/211; 331/176
`(58) Field of Classification Search ................. 331/176
`See application file for complete search history.
`_
`References C1ted
`U.S. PATENT DOCUMENTS
`
`(56)
`
`9/1970 GIOVeS ................... 331/116 R
`3,531,739 A
`3/1973 Pedum et 31~ ~~~~~~~~~~~~~~~ 310/315
`35719338 A
`4,308,492 A * 12/1981 Mori et a1.
`................... 322/28
`4,528,505 A
`7/1985 Peterson .............
`.. 324/765
`4,611,181 A
`9/1986 Fukumura et al.
`..
`331/66
`4,746,879 A
`5/1988 Ma et al.
`............
`331/44
`4,922,212 A
`5/1990 Roberts et al.
`.......... 331/176
`
`
`
`:1: cited by examiner
`
`Primary ExamineriKhai M. Nguyen
`
`(57)
`
`ABSTRACT
`
`An apparatus compensates for voltage and temperature
`variations on an integrated circuit with: a voltage sensor
`having a digital voltage output; a temperature sensor having
`a digital temperature output; a register coupled to the voltage
`sensor and the temperature sensor, the register adapted to
`concatenate the digital voltage output and the temperature
`output into an address output; and a memory device having
`an address input coupled to the address output of the register,
`the memory device being adapted to store one or more
`corrective vectors
`'
`
`19 Claims, 6 Drawing Sheets
`
`
`
`
`
`Combined Vfl‘ will: 1 AID
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 3 of 13 PageID #: 50
`Case 2:21-cv-OOO76-JRG Document 1—3 Filed 03/05/21 Page 3 of 13 PageID #: 50
`
`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 1 0f 6
`
`US 7,209,401 B2
`
`100
`
`/
`
`108
`
`En Saml
`
`Sync/sample —? Ring
`Oscillator
`
`Clock
`
`102
`
`10
`
`130
`
`Processor
`
`'
`
`Voltage sensor
`
`Fig. l - Combined Vl'll‘ with l AID
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 4 of 13 PageID #: 51
`Case 2:21-cv-OOO76-JRG Document 1-3 Filed 03/05/21 Page 4 of 13 PageID #: 51
`
`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 2 0f 6
`
`US 7,209,401 B2
`
`130
`
`
`
`Fig 2 - RC Timer
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 5 of 13 PageID #: 52
`Case 2:21-cv-OOO76-JRG Document 1-3 Filed 03/05/21 Page 5 of 13 PageID #: 52
`
`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 3 0f 6
`
`US 7,209,401 B2
`
`300
`
`02 /
`
`Start Ring Osc
`
`06
`
`Test VT Flag
`
`20
`
` En
`O4
`
`
`
`30
`
`SelTSW
`
`10
`
`SelVSW /
`/312
`
`Sample V
`
`LdVReg
`
`322
`
`\
`
`
`
`
`
`Toggle VT Flag
`
`\ M Set RESET
`
`41
`
`. M Clr RESET \
`
`334
`
`Fig 3 - SM Sequence
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 6 of 13 PageID #: 53
`Case 2:21-cv-OOO76-JRG Document 1-3 Filed 03/05/21 Page 6 of 13 PageID #: 53
`
`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 4 0f 6
`
`US 7,209,401 B2
`
`New Vector
`
`/108
`
`Update Hold
`
`
`
`Holding Register
`
`
`
`
`
`Comparator
`
`Not Equal
`
`Holding Register
`
`
`
`New Vector
`
`update Strobe
`
`Figure 4 - SYNC/Sample
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 7 of 13 PageID #: 54
`Case 2:21-cv-OOO76-JRG Document 1-3 Filed 03/05/21 Page 7 of 13 PageID #: 54
`
`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 5 0f 6
`
`US 7,209,401 B2
`
`500
`
`./
`
`502
`
`Not Compare
`
`504
`
`506
`
`Strobe 2nd Reg
`
`FIG 5 - Sync/Sample Sequence
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 8 of 13 PageID #: 55
`Case 2:21-cv-OOO76-JRG Document 1-3 Filed 03/05/21 Page 8 of 13 PageID #: 55
`
`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 6 0f 6
`
`US 7,209,401 B2
`
`600
`
`
` Elements
`
`elyelfl
`614
`616
`618 620
`622
`
`
`606 608
`
`604
`
`
`
`
`Blockb
`
`
`
`Fig 6 - Adjustable Ring Oscillator
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 9 of 13 PageID #: 56
`Case 2:21-cv-OOO76-JRG Document 1—3 Filed 03/05/21 Page 9 of 13 PageID #: 56
`
`US 7,209,401 B2
`
`1
`RING OSCILLATOR DYNAMIC
`ADJUSTMENTS FOR AUTO CALIBRATION
`
`This application is a continuation of US. patent applica-
`tion Ser. No. 11/042,689, which was filed on Jan. 25, 2003
`is now a US. Pat. No. 7,068,557, which in turn is a
`continuation of US. patent application Ser. No. 09/930,822
`filed Aug. 15, 2001, which is now US. Pat. No. 6,853,259
`issued Feb. 8, 2005, and are incorporated by reference in
`their entirety.
`
`BACKGROUND
`
`The present invention relates to systems and methods
`using ring oscillators.
`To address the ever-increasing need to increase the speed
`of computers and electronic appliances to process ever
`increasing amounts of data, designers have increased the
`clock frequency of a computers central processing unit
`and/or utilized parallel processing. Many electrical and
`computer applications and components have critical timing
`requirements that require clock waveforms that are precisely
`synchronized with a reference clock waveform.
`One type of clock generator is a ring oscillator. Ring
`oscillators are widely used in electronic equipment such as
`computers, televisions, videocassette recorders (VCRs) and
`the like. Typically, a ring oscillator includes a series of
`discrete
`components
`including transistors,
`capacitors,
`among others. As discussed in US. Pat. No. 6,211,744 to
`Shin; US. Pat. No. 6,154,099 to Suzuki, et al.; and US. Pat.
`No. 6,160,755 to Norman, et al., a conventional ring oscil-
`lator can be formed by connecting an odd number of
`inverters in a ring shape. In such a configuration, if Y is the
`state (signal level) at a connection point, the Y signal is
`inverted to Y by the next-stage inverter, and the Y is further
`inverted to Y by the second next-stage inverter. The signal
`level is sequentially inverted, and becomes Y at the connec-
`tion point through one round because an odd number of
`inverters are connected. Through one more round, the signal
`level becomes the original Y. In this manner,
`the ring
`oscillator self-oscillates. An oscillation output is obtained
`from the output node of an arbitrary inverter.
`Another conventional ring oscillator can use a NAND
`gate circuit for controlling start/stop of oscillation is inserted
`in a ring formed by connecting a plurality of even number
`of inverters. The start/stop of oscillation is controlled by
`externally inputting a high “H”-or a low “L”-level control
`signal CNT to the NAND gate circuit. That is, the control
`signal CNT is first set at “L” level and then changed to “H”
`level to start oscillation. When the control signal CNT is at
`“L” level, an output signal from the NAND gate circuit is
`fixed at “H” level. Outputs from the odd-numbered inverters
`change to “L” level, outputs from the even-numbered invert-
`ers change to “H” level, and the initial states of the output
`levels of the respective inverters are determined. In this
`state, the ring oscillator does not oscillate. When the control
`signal CNT changes to “H” level, the NAND gate circuit
`substantially operates as an inverter, and the ring oscillator
`oscillates in the above manner where an odd number of
`
`inverters are connected in a ring shape.
`The frequency of the oscillation signal from the conven-
`tional ring oscillator depends on the number of stages of
`inverters and a wiring delay. Hence, the lower oscillation
`frequency is obtained by increasing the number of stages of
`inverters and the length of the signal line. This increases the
`circuit size. Further, although the voltage-controlled oscil-
`lators have an identical circuit configuration,
`they have
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`different oscillation frequencies due to certain factors of the
`production process. For example, the process can affect the
`gate delay time that can affect the precision of the oscillator.
`The gate delay value (gate delay time) per inverter as a
`constituent unit has conventionally been obtained by mea-
`suring the oscillation frequency of a ring oscillator having
`the above arrangements. Since the constituent unit is a static
`gate inverter, the gate delay value obtained by measuring the
`oscillation frequency includes only delay information of the
`static gate, and delay information of a dynamic gate requir-
`ing pre-charge cannot be obtained. Additionally, for a pre-
`determined combination of stages, a conventional ring oscil-
`lator produces a fixed frequency. That is, once assembled,
`the frequency of the oscillating signal generated by a ring
`oscillator cannot be adjusted to compensate for temperature
`or voltage fluctuations.
`Many applications in electronics can use simple ring
`oscillators if the operating characteristics can be made to
`operate in a tighter range of frequency variation. In an
`integrated circuit there are 3 major causes of shifts in the
`operating frequency. They are Process, Temperature and
`Voltage. Process variations occur during manufacturing,
`while temperature and voltage variations occur during
`operation. For example, flash memory systems can use a
`ring oscillator to provide a flash memory system clock.
`Large performance variations, however, can be seen by the
`system as the ring oscillator output varies over process
`differences, voltage variations and temperature excursions.
`In most cases the resultant wide range of operating param-
`eter frequencies can adversely affect the speed and/or reli-
`ability of the flash memory system.
`
`SUMMARY
`
`In one embodiment, the present invention includes an
`apparatus including a first storage to store incoming com-
`pensation data; a second storage coupled to the first storage
`to store the incoming compensation data and to output the
`incoming compensation data when an update signal
`is
`activated; an oscillator coupled to the second storage to
`receive the incoming compensation data therefrom,
`the
`oscillator configured to vary a frequency of the oscillator
`using the incoming compensation data; and a controller
`coupled to the first and second storages and the oscillator,
`the controller to hold an output of the oscillator when a value
`of the incoming compensation data in the first and second
`storages differs. The signal level is sequentially inverted,
`and becomes Y at the connection point through one round
`because an odd number of inverters are connected. Through
`one more round, the signal level becomes the original Y. In
`this manner, the ring oscillator self-oscillates. An oscillation
`output is obtained from the output node of an arbitrary
`inverter.
`
`Another conventional ring oscillator can use a NAND
`gate circuit for controlling start/stop of oscillation is inserted
`in a ring formed by connecting a plurality of even number
`of inverters. The start/stop of oscillation is controlled by
`externally inputting a high “H”-or a low “L”-level control
`signal CNT to the NAND gate circuit. That is, the control
`signal CNT is first set at “L” level and then changed to “H”
`level to start oscillation. When the control signal CNT is at
`“L” level, an output signal from the NAND gate circuit is
`fixed at “H” level. Outputs from the odd-numbered inverters
`change to “L” level, outputs from the even-numbered invert-
`ers change to “H” level, and the initial states of the output
`levels of the respective inverters are determined. In this
`state, the ring oscillator does not oscillate. When the control
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 10 of 13 PageID #: 57
`Case 2:21-cv-OOO76-JRG Document 1—3 Filed 03/05/21 Page 10 of 13 PageID #: 57
`
`US 7,209,401 B2
`
`3
`signal CNT changes to “H” level, the NAND gate circuit
`substantially operates as an inverter, and the ring oscillator
`oscillates in the above manner where an odd number of
`
`inverters are connected in a ring shape.
`The frequency of the oscillation signal from the conven-
`tional ring oscillator depends on the number of stages of
`inverters and a wiring delay. Hence, the lower oscillation
`frequency is obtained by increasing the number of stages of
`inverters and the length of the signal line. This increases the
`circuit size. Further, although the voltage-controlled oscil-
`lators have an identical circuit configuration,
`they have
`different oscillation frequencies due to certain factors of the
`production process. For example, the process can affect the
`gate delay time that can affect the precision of the oscillator.
`The gate delay value (gate delay time) per inverter as a
`constituent unit has conventionally been obtained by mea-
`suring the oscillation frequency of a ring oscillator having
`the above arrangements. Since the constituent unit is a static
`gate inverter, the gate delay value obtained by measuring the
`oscillation frequency includes only delay information of the
`static gate, and delay information of a dynamic gate requir-
`ing pre-charge cannot be obtained. Additionally, for a pre-
`determined combination of stages, a conventional ring oscil-
`lator produces a fixed frequency. That is, once assembled,
`the frequency of the oscillating signal generated by a ring
`oscillator cannot be adjusted to compensate for temperature
`or voltage fluctuations.
`Many applications in electronics can use simple ring
`oscillators if the operating characteristics can be made to
`operate in a tighter range of frequency variation. In an
`integrated circuit there are 3 major causes of shifts in the
`operating frequency. They are Process, Temperature and
`Voltage. Process variations occur during manufacturing,
`while temperature and voltage variations occur during
`operation. For example, flash memory systems can use a
`ring oscillator to provide a flash memory system clock.
`Large performance variations, however, can be seen by the
`system as the ring oscillator output varies over process
`differences, voltage variations and temperature excursions.
`In most cases the resultant wide range of operating param-
`eter frequencies can adversely affect the speed and/or reli-
`ability of the flash memory system.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The accompanying drawings, which are incorporated in
`and from a part of this specification, illustrate embodiments
`of the invention and, together with the description, server to
`explain the principles of the invention:
`FIG. 1 shows an exemplary auto calibration system.
`FIG. 2 shows one implementation of an exemplary timer.
`FIG. 3 illustrates an exemplary state machine sequence.
`FIG. 4 shows an exemplary sync/sample module.
`FIG. 5 illustrates an exemplary sync/sample sequence.
`FIG. 6 shows one embodiment of an adjustable ring
`oscillator.
`
`DETAILED DESCRIPTION
`
`FIG. 1 shows an exemplary auto-calibration system 100
`with combined voltage and temperature detectors. A proces-
`sor 102 has address and data lines. The data lines of the
`
`processor 102 drives the upper address line inputs of a
`memory or register file 104. The address lines of the
`processor 102 is provided to one input of a multiplexer 106.
`The second input of the multiplexer 106 is connected to the
`output of a register 114. The register 114 can be enabled by
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`a voltage enable (enV) signal or a temperature enable (enT)
`signal. The register 114 in turn receives the output of an
`analog to digital converter (ADC) 112. The ADC 112
`receives a reference voltage from a source 110. The ADC
`112 also receives control signals from a state machine 134
`as well as switches 136 and 138. The state machine 134 also
`controls the switches 136 and 138. The switch 136 is
`
`connected to a current source 140 and to a temperature
`sensor 142. The switch 138 in turn is connected to a voltage
`divider having a first resistor 144 and a second resistor 146
`in series between voltage and ground. The state machine 134
`in turn is driven by a resistor-capacitor (RC) timer 130 and
`a small ring oscillator 132. The RC oscillator 130 receives
`a timer enable (EnTimer) signal from a master controller or
`the processor block 102 (not shown). The state machine 134
`generates a reset signal that is provided to the RC timer 130,
`and the RC timer 130 is used to clock the small ring
`oscillator 132.
`
`The output of the memory or register file 104 drives a
`sync/sample module 108, which in turn drives a ring oscil-
`lator 120. The ring oscillator 120 generates a system clock
`and a control signal that is provided to the sync/sample
`module 108. More details on the sync/sample module 108
`and the ring oscillator 120 are shown below.
`The dynamic operation of the ring oscillator 120 is
`discussed next. The circuit of FIG. 1 can adjust frequency
`drift, due to temperature and voltage variations. As the
`temperature and voltage of the system changes, the operat-
`ing characteristics of the circuits will speed up at lower
`temperatures, and slow down at higher temperatures. To
`adjust for this change and keep the system running at the
`ideal frequency, the temperature and voltage of the system
`needs to be monitored. The current source 140 is applied to
`the temperature sensor 142, which can be any device that
`changes value with changes in temperature. The simplest
`temperature sensor 142 that could be used is a resistor. The
`current source 140 is applied to the temperature sensor 142
`to get a voltage based on the impedance of the device. As the
`temperature changes the impedance also changes, causing
`the voltage of the connection node to increase and decrease.
`This voltage indicating temperature value and changes is
`applied to the ADC 112. The value applied is translated to a
`digital value, which represents a temperature vector. The
`output of the ADC 112 is registered and applied to the
`multiplexer 106, the other side being driven by an address
`from the processor 102. The output of the multiplexer 106 is
`applied to the memory 104 as the address input. At initial-
`ization time the multiplexer source is the processor 102. At
`initialization, the processor 102 writes adjustment values
`into the RAM or Register File 104. After these values are
`stored in the RAM 104 the multiplexer source is switched,
`allowing the temperature vectors to be applied to the RAM
`104 as the address. The output of the RAM 104 now acts as
`the adjustment vector that is applied to the ring oscillator
`120. This value applied selects the ring frequency; length-
`ening or shortening the ring delay to maintain the desired
`operating point. The adjustment vectors are determined by
`chip testing and characterization.
`The circuit of FIG. 1 compensates for changes in voltage
`as follows. The system voltage in question can be applied to
`a voltage divider formed by resistors 144 and 146 that is
`input to the ADC 112. As the voltage changes the input to the
`ADC 112 will change and the resultant output of the ADC
`112 is applied to the memory 104. This value is an address
`used to produce a table compensation vector that will be
`applied to the oscillator circuit 120 in the same manner as
`described above for temperature compensation. Like the
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 11 of 13 PageID #: 58
`Case 2:21-cv-OOO76-JRG Document 1—3 Filed 03/05/21 Page 11 of 13 PageID #: 58
`
`US 7,209,401 B2
`
`5
`temperature circuit the vector loaded in memory 104 is done
`at initialization time by the processor from data taken by
`testing and characterization.
`To be able to adjust for voltage and temperature change at
`the same time, the two sensing methods are combined in
`FIG. 1. The temperature and voltage inputs to the A/D are
`switched to give an alternate readout of the A/D. When the
`Temperature is sampled by the A/D its value is stored in a
`register. Likewise, when the voltage is sampled by the A/D
`its value is stored in a holding register. The two register
`values are combined to represent a concatenated address
`applied to the look-up table RAM or register File. While this
`method can be made to work, the value of the temperature-
`compensating sensor becomes critical. Anegative coefficient
`needs to be produced so that an increase in temperature will
`bias the design such that the oscillator will speed up or when
`temperature decreases the oscillator will be vectored to slow
`down. If this is not done the temperature and voltage
`components will add in the wrong direction giving the
`wrong results. To build the RAM vector table, extensive
`characterization must be done, by varying the voltage and
`temperature to produce a meaningful table.
`Process variations can be dialed out based on the correc-
`tion table vector loaded. The table should produce a desired
`center frequency that operates as close as possible to the
`desired frequency when operating at nominal temperature
`and voltage. To assure the table values are correct; means for
`testing the oscillator and adjusting it to dial in the desired
`frequency need to be assured. This can be done by outputting
`the clock to the outside for monitoring with test equipment
`or in injecting a wide pulse that allows a counter to count
`with the oscillator. The count reached from this enable pulse
`will be a direct correlation to the operating frequency. This
`count can be used by the processor in setting the proper
`vectors,
`for the starting point from which voltage and
`temperature can be adjusted.
`Referring now to FIG. 2, details of one implementation of
`an RC timer 130 is shown. The timer 130 has an OR-gate
`200 that receives a Power-on reset signal and a state machine
`reset signal. The output of the OR gate 200 is connected to
`an FET transistor 202 and, during reset, the OR gate 200
`clamps the output of the transistor 202 to ground. The output
`of the transistor 202 is connected to a resistor-capacitor
`network having a resistor 204 connected in series with a
`capacitor 206. The junction between the resistor-capacitor
`network drives a comparator 210 which compares the RC
`signal with a predetermined reference voltage Rer. The
`output of the comparator 210 is provided to a gate 212. The
`gate 212 also receives a timer enable (EnTimer) signal. The
`output of the gate 212 is a sequence enable (EnSeq) signal.
`FIG. 2 shows on method for implementing a “Dead Man”
`timer. In this circuit an RC time constant charges up until the
`voltage value going to the Comparator reaches the trip point.
`When the trip point is reached the EnSeq signal is activated,
`provided the processor has enabled the timer with the setting
`of the enable timer register. When this signal becomes active
`it starts a Ring Oscillator that is used to run a state machine.
`This state machine is used to sample the Voltage and
`Temperature readings and load the resultant values in the
`holding register. FIG. 3 shows a flow chart for a typical state
`machines functional operation. In this example only one
`vector, voltage or temperature is updated on a timer time out.
`As these parameters tend to be slow in changing only limited
`updating is done to meet the desired adjustment require-
`ments. If faster changes in temperature or voltage are
`anticipated, then the state machine may be altered to provide
`both vectors being updated in a sample cycle. At the end of
`the State Machines update sequence the State machine will
`set a register that drives the State Machine Reset (SMReset)
`signal. This signal will drive the RC timer to its Reset state,
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`arming it to go to its low voltage start state. After the signal
`has been applied for sufficient time, allowing for discharge,
`the SMReset signal is removed. When this is done the State
`Machine goes to its Halt, sleep state and the timer begins
`timing toward its trigger state, where the sequence will
`repeat.
`FIG. 3 illustrates an exemplary state machine sequence
`300. In this sequence, all devices are in a halt state (step
`302). Upon receipt of the EnSeq signal, the ring oscillator
`120 is started (step 304). The process 300 then checks a
`voltage/temperature (VT) flag (step 306). If the flag indi-
`cates that voltage is to be calibrated, the process 300 selects
`the voltage switch (step 310). The sample voltage input is
`taken (step 312), and the result is stored in a voltage register
`(step 314). Correspondingly, if the temperature has been
`selected, the process selects the temperature switch (step
`320). The sample temperature input is taken (step 312), and
`the result is stored in a temperature register (step 314). From
`either step 314 or 324, the VT flag is toggled (step 330).
`Next, the state machine 134 sets a reset signal (step 332) and
`then clears the reset signal (step 334) before looping back to
`the halt state in step 302.
`FIG. 4 shows an exemplary sync/sample module 108. A
`holding register 402 stores a new vector when an update
`strobe is asserted. The output of the holding register 402 is
`provided to a comparator 404 and a holding register 406.
`The comparator 404 also receives the output of the holding
`register 406. The comparator 404 compares the output of the
`holding registers 402 and 406, and if not equal, enables a
`sample state machine 410. The sample state machine 410
`generates an update hold signal and an update strobe for the
`holding register 406. The output of the holding register 406
`is a new vector.
`
`Whenever a calibration sequence occurs the output of the
`memory may change in value or remain the same. Whenever
`this sequence occurs the Sync/Sample has the job of deter-
`mining if there is a new value or the same value exists. If the
`same value exists the block and SM does nothing. If there is
`a new vector the state machine will be activated by the “not
`Compare” signal generated by comparing the old vector and
`the new vector. When this signal becomes active the state
`machine starts its sequence.
`FIG. 5 illustrates an exemplary sync/sample sequence
`500. The sequence 500 is initially in an idle condition (step
`502). The sequence 500 sets a hold signal (step 504) and
`strobes a second register (step 506). The sequence 500 then
`clears the hold signal (step 508) before looping back to the
`idle condition.
`
`In FIG. 5, the SM puts up a Hold signal that puts a hold
`on the output stage of the Ring Oscillator. The state machine
`then waits a few clocks to assure this has occurred and the
`strobes the second stage holding register to transfer the first
`and new vector into the second stage. When this new vector
`is loaded the output will then drive the input to the ring
`oscillator, which will cause the Ring Oscillator to select the
`delay value represented, by the new input select. As the new
`value is loaded the SM will see the not compare input
`change to a new value as they now compare. The SM will
`then drop the Hold signal, as the Ring Oscillator should have
`switched to the new value and should be stable. The drop-
`ping of the hold will allow the output stage to continue
`oscillating. It should be noted that any application that may
`have problems do to a stretched clock, because to do
`calibration it may require the temporary turning off of the
`calibration sequence until such timing changes will not
`cause problems. It is anticipated that such clock stretching
`will not cause problems in most applications as the clock
`will not glitch, but will just have a short temporary pause in
`the clock cycle.
`
`

`

`Case 2:21-cv-00076-JRG Document 1-3 Filed 03/05/21 Page 12 of 13 PageID #: 59
`Case 2:21-cv-OOO76-JRG Document 1—3 Filed 03/05/21 Page 12 of 13 PageID #: 59
`
`US 7,209,401 B2
`
`7
`The Selection Vector picks which delay element will be
`used for the clock period and feedback element. The feed-
`back value is inverted and fed to the delay input. The same
`vale is used to clock a flip-flop, which in turn drives a divide
`by 2 signal to produce the system clock used to run the
`system. The flip-flop is used to produce a 50% duty cycle
`clock and produce a better (square) shaped signal. The
`Holdb signal is used to temporarily halt the FF from toggling
`while the delay elements are switched. This halt is required
`to prevent the clock from glitching as the delay path is
`switched FIG. 6 shows one embodiment of an adjustable
`ring oscillator 600. The oscillator 600 has a delay select
`logic 602, which receives outputs from delay elements 604,
`606, 608, 610, 612, 614, 616, 618, 620 and 622. The delay
`select logic 602 in turn drives an inverter 630. The output of
`the inverter 630 is provided as an input to the delay element
`604. The output of the inverter 630 is also used to clock a
`flip-flop 640. The output of the flip-flop 640 is looped back
`to the D-input of the flip-flop 640. The output of the flip-flop
`640 is also provided to a buffer 650 that provides a plurality
`of clock signals, each of which can be used to clock a portion
`of the chip to prevent clock degradation due to too much
`load on the chip.
`In the above description a RAM was used to load the
`correction vectors to be applied. If the process is stable then
`the RAM may be substituted for a ROM for cost reduction.
`If this method is selected some potential adjustments for
`process may be lost but a more cost effective solution would
`be possible. In such a system the processor would not be
`required to load the RAM so the muxing of the processor
`and A/D would not be required. The Voltage/Temperature
`compensation would then run totally independent of the
`processor, except for enables/disables a designer may still
`which to invoke.
`invention has been described with
`While the present
`respect to a limited number of embodiments, those skilled in
`the art will appreciate numerous modifications and varia-
`tions therefrom. It
`is intended that the appended claims
`cover all such modifications and variations as fall within the
`true spirit and scope of this present invention.
`What is claimed is:
`
`1. An integrated circuit comprising:
`a voltage sensor having a voltage output;
`a temperature sensor having a temperature output;
`an analog-to-digital convener (ADC) coupled to the volt-
`age sensor and the temperature sensor, the ADC to
`convert the voltage output and the temperature output
`to digital values; and
`a storage coupled to receive an input address based upon
`at least one of the voltage output and the temperature
`output, the storage configured to store compensation
`data.
`
`2. The integrated circuit of claim 1, further comprising:
`a processor; and
`a multiplexer having a first input coupled to the processor
`and a second input coupled to the ADC and an output
`coupled to the storage, the multiplexer configured to
`provide the input address to the storage.
`3. The integrated circuit of claim 2, wherein the multi-
`plexer is configured to receive addresses from the processor
`during initialization and to receive the input address from
`the ADC during operation.
`4. The integrated circuit of claim 1, further comprising a
`register coupled to the ArC, the register configured to form
`the input address from the at least one of the volta

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket