Initiating operation of a timing device using a read only memory (ROM) or a one time programmable non volatile memory (OTP NVM)

Information

  • Patent Grant
  • 9495285
  • Patent Number
    9,495,285
  • Date Filed
    Tuesday, September 16, 2014
    9 years ago
  • Date Issued
    Tuesday, November 15, 2016
    7 years ago
Abstract
The present invention provides a method and a programmable timing device that includes a timing device circuit for generating at least one timing signal, a static random access memory (SRAM) coupled to the timing device circuit, a read only memory (ROM) having a first timing device configuration stored therein, a one time programmable non volatile memory (OTP NVM) for storing a second timing device configuration and selection logic. The selection logic includes an output coupled to the SRAM, a first input coupled to the ROM and a second input coupled to the OTP NVM. The selection logic is operable to receive input indicating whether SRAM is to be loaded from the ROM or the OTP NVM, and operable to load either the first timing device configuration from the ROM or the second timing device configuration from the OTP NVM based on the input.
Description
BACKGROUND OF THE INVENTION

Programmable timing devices must have a basic set of configuration parameters at each power-on of the timing device in order to generate the required timing device output. Typically, at a power-on of a programmable timing device, typically referred to as a “power-on reset,” the timing device receives a configuration at data interface control circuits of the timing device such as an Inter-IC (I2C) interface or a system management bus (SMB) interface. This configuration is loaded into the timing device and is used to control the initial operation of the timing device.


In order to eliminate the need for receiving configuration data at each power-on reset, timing devices have been developed that are configured to be connected to external read only memory (ROM) that includes the required timing device configuration. At power-on reset the timing device configuration from the external ROM is loaded into the timing device to control the initial operation of the timing device.


Though use of a timing device configuration stored in an external ROM eliminates the need to program a configuration into the timing device through the data interface control circuits at each power-on reset, there may be a need to use a different configuration from the timing device configuration stored in the external ROM. Accordingly, there is a need for a method and apparatus that will allow for more flexibility in the configuration of the timing device and that will not require that the timing device receive a configuration through the data interface control circuits after each power-on reset.


SUMMARY OF THE INVENTION

The present invention provides a timing device that includes a timing device circuit for generating at least one timing signal, a static random access memory (SRAM) coupled to the timing device circuit, a read only memory (ROM) having a first timing device configuration stored therein, a one time programmable non volatile memory (OTP NVM) for storing a second timing device configuration and selection logic. The selection logic has an output coupled to the SRAM, a first input coupled to the ROM and a second input coupled to the OTP NVM. The selection logic is operable to receive input indicating whether SRAM is to be loaded from the ROM or the OTP NVM, and is operable to load either the first timing device configuration from the ROM or the second timing device configuration from the OTP NVM based on the input.


In one embodiment the timing device includes a timing device circuit for generating at least one timing signal, a mask ROM having a first timing device configuration stored therein, a OTP NVM for storing a second timing device configuration, and a SRAM coupled to the timing device circuit, the ROM, the OTP NVM and the configuration select input. The SRAM includes a SRAM array and a memory controller that is coupled to the SRAM array. The memory controller is operable to receive input indicating whether the SRAM is to be loaded from the ROM or the OTP NVM and is operable to load either the first timing device configuration from the ROM or the second timing device configuration from the OTP NVM into the SRAM memory array based on the input.


A method is disclosed that includes receiving an input at a timing device, the input indicating either ROM is to be loaded or OPT NVM is to be loaded into a SRAM of the timing device, storing a first timing device configuration in a ROM of the timing device and loading the first timing device configuration from the ROM into a SRAM of the timing device when the input indicates ROM is to be loaded. When a second timing device configuration is stored in a OTP NVM of the timing device and when the input indicates OTP NVM is to be loaded, the second timing device configuration is loaded from the OTP NVM into the SRAM, where the second timing device configuration is different from the first timing device configuration. The method further includes starting timing device operations using the loaded timing device configuration to generate output timing signals.


The methods and apparatus of the present invention allow for loading a configuration from either ROM or OTP NVM, providing the user of the timing device added flexibility as compared to timing devices that only allow for loading a timing device configuration from ROM and timing devices that only allow for loading of timing device configurations received at data interface control circuits.





BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 is an illustration of a timing device in accordance with an embodiment of the present invention.



FIG. 2 is a block diagram illustrating a timing device having a SRAM that is coupled to a latch, ROM and to OTP NVM in accordance with an embodiment of the present invention.



FIG. 3 is a block diagram illustrating a timing device having a SRAM that is coupled to a latch, ROM and to OTP NVM, with the OTP NVM coupled to the SRAM by a bus in accordance with an embodiment of the present invention.



FIG. 4 is a block diagram illustrating a timing device having a SRAM that is coupled to a latch, ROM and to OTP NVM, with both the ROM and the OTP NVM coupled to the SRAM by a bus in accordance with an embodiment of the present invention.



FIG. 5 is a block diagram illustrating a method for initiating operation of a timing device in accordance with an embodiment of the present invention.



FIG. 6 is a block diagram illustrating a method for initiating operation of a timing device that includes determining whether the OTP NVM has been burned and loading the timing device configuration from ROM when the OTP NVM has not been burned in accordance with an embodiment of the present invention.



FIG. 7 is a block diagram illustrating a method for initiating operation of a timing device that allows timing device configurations received at a data interface control circuit to be loaded into the SRAM in accordance with an embodiment of the present invention.





DESCRIPTION OF THE INVENTION

Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present invention.



FIG. 1 shows a timing device 1 that includes a timing device circuit 20 for generating timing signals at timing device outputs 28. Timing device 1 also includes inputs 29 that are coupled to a data interface control circuit 18 for providing external input to timing device 1. Data interface control circuit 18 is coupled to SRAM 13 and to timing device circuit 20 by internal data bus 19. Data interface control circuit 18 can be an Inter-IC (I2C) interface or a system management bus (SMB) interface that allows for coupling data to timing device 1 via inputs 29.


Timing device 1 includes one time programmable non volatile memory (OTP NVM) 11 and read only memory (ROM) 12 that are coupled to a static random access memory (SRAM) 13 by selection logic 14. More particularly, selection logic 14 has a first input coupled to ROM 12, a second input coupled to the OTP NVM 11, and an output couple to SRAM 13. Latch 15 is coupled to a configuration select input 16 and a power on reset input 17 and has an output coupled to selection logic 14. In the present embodiment ROM 12 is directly connected to selection logic 14 by one or more electrical pathway of timing device 2 such as one or more interconnect between the circuitry of ROM 12 and selection logic 14. Similarly, OTP NVM 11 is directly connected to selection logic 14 by one or more electrical pathway of timing device 2 such as one or more interconnect between the circuitry of ROM 12 and selection logic 14. In this embodiment one or more interconnect between selection logic 14 and SRAM 13 electrically connect the circuitry of selection logic 14 to the circuitry of SRAM 13.


Continuing with FIG. 1, a first timing device configuration is stored in ROM 12. In the present embodiment ROM 12 is a mask ROM with a default configuration stored in the mask ROM before timing device 1 is shipped to the customer.


OTP NVM allows the customer to store their own timing device configuration that can be used to control the operations of timing device 1 at power-on-reset of timing device 1. In the present embodiment OTP NVM is a non-volatile memory array that includes programmable fuses and/or antifuses that can be programmed for one-time-storage in the OTP NVM memory array. In the present embodiment OTP NVM 11 includes programming logic coupled to the programmable fuses that selectively applies a high voltage to the programmable fuses during programming so as to “burn” the data into OTP NVM 11, storing a second timing device configuration in OTP NVM 11, that can be referred to hereinafter as a “programmed timing device configuration.”


Selection logic 14 is operable to receive input indicating whether SRAM is to be loaded from the ROM or the OTP NVM. In the present embodiment, upon power-up reset, a logical high input is received at power on reset input 17. Input indicating whether the SRAM is to be loaded from the ROM or the OTP NVM is received at configuration select input 16 and is store in latch 15. The input may be, for example, a logical low indicating that SRAM is to be loaded from ROM 12 or a logical high indicating that SRAM is to be loaded from OTP NVM 11.


Selection logic 14 is operable to load either the default timing device configuration from the ROM or the programmed timing device configuration from the OTP NVM based on the input. In the previous example in which a logical low indicates that SRAM is to be loaded from ROM 12 and a logical high indicates that SRAM 13 is to be loaded from OTP NVM 11, if the input received at power on reset input 17 is a logical low SRAM 13 is loaded from ROM 12 and if the input is a logical high, SRAM 13 is loaded from OTP NVM 11.


The timing device configuration loaded into the SRAM, that is referred to hereinafter as the “loaded timing device configuration,” will either be the default configuration from ROM 12 or a programmed configuration burned into OTP NVM 11.


Accordingly, the customer can determine which configuration is used at power-on reset by providing input to configuration select input 16. In the event that no input is provided to configuration select input 16, the latch will register a logical low and the default configuration will be loaded into SRAM 13.


In one embodiment selection logic 14 is one or more multiplexer having an output coupled to the data input of the SRAM 13, a first input of the multiplexer(s) coupled to the data output of ROM 12 and a second input of the multiplexer(s) coupled to the data output of OTP NVM 11. In this embodiment the multiplexer(s) is operable to receive the input indicating whether SRAM is to be loaded from the ROM or the OTP NVM and is operable to load either the default timing device configuration from the ROM or the programmed timing device configuration from the OTP NVM based on the input. In the present embodiment, upon power-up reset, a logical high input is received at power on reset input 17. Input indicating whether the SRAM is to be loaded from the ROM or the OTP NVM is received at configuration select input 16 and is store in latch 15. The input may be, for example, a logical low indicating that SRAM is to be loaded from ROM 12 or a logical high indicating that SRAM is to be loaded from OTP NVM 11. If the input received at power on reset input 17 is a logical low, the multiplexer loads SRAM 13 from ROM 12 and if the input is a logical high the multiplexer loads SRAM 13 from OTP NVM 11.


In timing device 2 shown in FIG. 2, the output of latch 15 is electrically connected to SRAM 13 and latch 15 is coupled to configuration select input 16 for receiving the input indicating whether SRAM 13 is to be loaded from ROM 12 or OTP NVM 11. In the present embodiment ROM 12 is directly connected to SRAM 13 by one or more electrical pathway of timing device 2 such as one or more interconnect between the circuitry of ROM 12 and memory controller 35 of SRAM 13. Similarly, OTP NVM 11 is directly connected to SRAM 13 by one or more electrical pathway of timing device 2 such as one or more interconnect between the circuitry of ROM 12 and memory controller 35 of SRAM 13.


SRAM 13 includes a memory controller 35 and a SRAM array 34 that are operably coupled together for storing data in SRAM array 34 and reading data from SRAM array 34. Memory controller 35 is operable to receive the input indicating whether SRAM 13 is to be loaded from ROM 12 or OTP NVM 11 and is operable to load either the first timing device configuration from ROM 12 or the second timing device configuration from OTP NVM 11 into SRAM array 34 based on the input.


It is appreciated that ROM 12 and/or OTP NVM 11 could also be coupled to SRAM 15 through data bus 19. In the embodiment shown in FIG. 3, a timing device 3 is shown in which OTP NVM 11 is electrically connected to internal bus 19 and internal bus 19 is electrically connected to SRAM 13 for coupling data from OTP NVM to SRAM 13. In the embodiment shown in FIG. 4, a timing device 4 is shown in which both ROM 12 and OTP NVM 11 are electrically connected to internal bus 19 and internal bus 19 is electrically connected to SRAM 13 for coupling data from ROM 12 and OTP NVM to SRAM 13.


Timing devices 1-4 of the present invention allow the customer to determine which configuration is used at power-on reset by providing input to configuration select input 16. In the event that no input is provided to configuration select input 16, the latch will register a logical low and the default configuration will be loaded into SRAM 13.


In the embodiments shown in FIGS. 1-4, timing device circuit 20 is shown to include a crystal oscillator 10 and a controller 26 that is operable for controlling the operation of the timing device circuit. Crystal oscillator 10 is programmable and can be coupled to an external timing device crystal such as an inexpensive fundamental-mode quartz crystal to provide timing device frequency synthesis. Timing device circuit 20 includes input 27, phase lock loop circuits 23 that are individually programmable to provide up to seven different frequencies, frequency dividers 24 and output driver 25 for generating at each timing device output 28 an output timing signal. Timing device circuit 20 also includes a plurality of additional inputs 21 and an input reference selector 22 that is coupled to each of the plurality of additional inputs 21 for selecting one or more of additional inputs 21 for use in generating one or more of the output timing signals.


It is appreciated that timing device circuit 20 may or may not include all of the features shown in FIGS. 1-4, depending on the intended use of timing device circuit 20. In one embodiment, additional inputs 21 and input reference selector 21, phase lock loops circuits 23 and frequency dividers 24 are optional and may or may not be included in timing device circuit 20, depending on the required timing device output. Also, other programmable features and non-programmable features may be included in timing device circuit 20 that are known in the art such as, for example, clock synthesizer circuits for generating programmed output frequencies, dynamic phase adjustment circuits for controlling the phase of one or more of the output timing signals relative to an input sync signal that may be received at, for example input 27 or one of inputs 21, voltage controlled oscillator circuits, SAW oscillator circuits, programmable loop bandwidth circuits, programmable slew rate control circuits, divider programming with FEC and DFEC look-up tables, frequency tuning circuits for tuning single or multiple frequencies by a VIN control pin, etc. In one specific embodiment timing device circuit 20 includes non-PLL fan-out buffers, clock synthesizers and muxes, single-ended timing device input to programmable differential timing device outputs, zero-delay buffers, programmable PLL bandwidth for device cascading, and jitter attenuators.



FIG. 5 illustrates a method 100 for initiating operation of a timing device. In the present embodiment, prior to the power on reset of step 101, a first timing device configuration (e.g., a default timing device configuration) is stored in ROM and a second timing device configuration that is different from the first timing device configuration (e.g., a user-programmed timing device configuration) is stored OTP NVM 11.


Referring now to step 101, at power on reset of a timing device, input is received at the timing device indicating a loading source as shown by step 102. The input indicates either ROM is to be loaded or OPT NVM is to be loaded into a SRAM of the timing device. In the embodiment of FIGS. 1-4 the input is received at configuration select input 16 and is store in latch 15. The input may be, for example, a logical low indicating that SRAM is to be loaded from ROM 12 or a logical high indicating that SRAM 13 is to be loaded from OTP NVM 11.


As shown by steps 103-104 the timing device configuration from the ROM is loaded into a SRAM of the timing device when the input indicates ROM is to be loaded and the timing device configuration from the OTP NVM is loaded into the SRAM when the input indicates OTP NVM is to be loaded as shown by steps 103 and 105. More particularly, when the input indicates ROM is to be loaded, the default timing device configuration from ROM 12 is loaded into a SRAM 13 and when the input indicates OTP NVM is to be loaded the programmed timing device configuration from the OTP NVM is loaded into the SRAM 13.


Accordingly, only a single timing device configuration is loaded into SRAM 13 (the “loaded timing device configuration”). As shown by step 106 timing device operations are started using the loaded timing device configuration. In the present embodiment, operation of timing device circuit 20 is started using the loaded timing device configuration to generate output timing signals at timing device outputs 28.



FIG. 6 shows a method for initiating timing device operation that includes at step 201 determining whether the OTP NVM has been burned and loading the first timing device configuration from the ROM into the SRAM when the OTP NVM has not been burned as shown by step 104. In the embodiment shown in FIG. 1 selection logic 14 is operable to determine whether the OTP NVM 11 has been burned, and is operable to only load SRAM 13 from ROM 12 when OTP NVM 11 has not been burned. Thereby the customer is prevented from the failure that would result from selecting OTP NVM when OTP NVM 11 has not yet been burned. More particularly, if OTP NVM is selected and no configuration is stored in OTP NVM, no configuration would be stored in SRAM 13, causing a failure of timing device 1.


In the embodiment shown in FIGS. 2-4, memory controller 35 is operable to determine whether the OTP NVM 11 has been burned, and is operable to only load SRAM 13 from ROM 12 when OTP NVM 11 has not been burned. Thereby the customer is prevented from the failure that would result from selecting OTP NVM when OTP NVM 11 has not yet been burned.


At step 106 of FIGS. 4-6, timing device operation is started using the loaded timing device configuration. As previously discussed, the loaded timing device configuration may be the default timing device configuration or the programmed timing device configuration. The loaded timing device configuration includes parameters for controlling the operation of timing device circuit 20.


It is appreciated that programmable timing device circuit 20 can have any of a number of different designs and may be specialized for any of a number of different purposes. In one embodiment the loaded timing device configuration includes skew parameters for controlling skew of one or more of the plurality of output timing signals. The loaded timing device configuration can also include output frequency parameters for controlling the frequency of the plurality of output timing signals. Moreover, the loaded timing device configuration can include output format parameters for controlling the output format of the output timing signals. The output format parameters can indicate, for example LVPECL, LVDS, HCSL, CML, HSTL, or other selectable outputs. The loaded timing device configuration also includes parameters for controlling one or more of phase lock loop circuits 23, parameters for controlling one or more of frequency dividers 24 and parameters for selecting one or more of the additional inputs 21.


It is appreciated that there may be a need to load a different timing device configuration into SRAM from the timing device configuration stored in ROM 12 and OTP NVM or load changes to the loaded timing device configuration. FIG. 7 illustrates an embodiment in which a timing device configuration or changes to a loaded timing device configuration can be sent to the interface control circuit after power on reset for loading into the SRAM. As in the previous embodiments, as shown by steps 101-106 and 201, the timing device configuration from either the ROM or the from the OTP NVM is loaded into a SRAM of the timing device and timing device operations are started using the loaded timing device configuration. In the present embodiment, operation of timing device circuit 20 is started using the loaded timing device configuration to generate output timing signals at timing device outputs 28.


As shown by step 301-302, when timing device configuration input that includes a new timing device configuration is received at an interface control circuit immediately after power-on reset, the loaded timing device configuration (loaded in step 104 or 105) is replaced with the timing device configuration received at the data interface control circuit. The operation of the timing device circuit is then altered to correspond to the parameters in the timing device configuration received at the data interface control circuit as shown by step 303.


In the present embodiment, timing device 1 is an Application-Specific Integrated Circuit (ASIC) formed on a single semiconductor die. Accordingly, the timing device circuit 20, the SRAM 13, ROM 12, the OTP NVM 11 and selection logic 14 are disposed on a single semiconductor die. Also, in the present embodiment timing devices 2 and 3 are ASICS formed on a single semiconductor die.


As is known in the art, the methods and apparatus of the present invention may be implemented in a Field Programmable Gate Array (FPGA), an Application-Specific Integrated Circuit (ASIC) or a variety of other commonly known integrated circuit devices. The implementation of the invention may include both hardware and software components. For example processes, actions and steps described in the present application can be performed by instructions performed on controller 26 and/or memory controller 35 such as, for example, one or more of the steps of methods 100, 200 and 300. Similarly, one or more of the steps of methods 100, 200 or 300 could be preformed using instructions that are performed by memory controller 35.


The methods and apparatus of the present invention allow for loading a configuration from either ROM or OTP NVM, providing the user of the timing device added flexibility as compared to timing devices that only allow for loading a timing device configuration from ROM and timing devices that only allow for loading of timing device configurations received at data interface control circuits.


The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.

Claims
  • 1. A timing device comprising: a timing device circuit for generating at least one timing signal:a static random access memory (SRAM) coupled to the timing device circuit;a read only memory (ROM) having a first timing device configuration stored therein;a one time programmable non volatile memory (OTP NVM) for storing a second timing device configuration; andselection logic having an output coupled to the SRAM and having a first input coupled to the ROM and a second input coupled to the OTP NVM, the selection logic operable to receive input indicating whether the SRAM is to be loaded from the ROM or the OTP NVM, and operable to load either the first timing device configuration from the ROM or the second timing device configuration from the OTP NVM based on the input.
  • 2. The timing device of claim 1 wherein the selection logic is operable to determine whether the OTP NVM has been burned, the selection logic operable to only load the SRAM from the ROM when the OTP NVM has not been burned.
  • 3. The timing device of claim 2 wherein the ROM, the SRAM, the OTP NVM, the selection logic and the timing device circuit are formed on a single semiconductor die.
  • 4. The timing device of claim 3 wherein the second timing device configuration is stored in the OTP NVM by burning the OTP NVM, the selection logic operable to load the first timing device configuration from the ROM or the second timing device configuration from the OTP NVM into the SRAM based on the input.
  • 5. The timing device of claim 4 further comprising a data interface control circuit coupled to the SRAM and coupled to the timing device, the data interface control circuit operable to receive timing device configuration input that includes a third timing device configuration and operable upon receiving the timing device configuration input to replace the loaded timing device configuration with the third timing device configuration.
  • 6. The timing device of claim 4 wherein the timing device circuit includes a plurality of additional inputs and an input reference selector that is coupled to each of the plurality of additional inputs, the input reference selector operable for selecting one or more of the plurality of additional inputs in accordance with parameters specified in the loaded timing device configuration.
  • 7. The timing device of claim 3 wherein the timing device circuit includes a plurality of phase lock loop circuits that are controlled by parameters specified in the loaded timing device configuration and at least one frequency divider that is controlled by parameters specified in the loaded timing device configuration.
  • 8. The timing device of claim 1 wherein the selection logic comprises a multiplexer having an output coupled to the data input of the SRAM, a first input of the multiplexer coupled to the data output of the ROM and a second input of the multiplexer coupled to the data output of the OTP NVM.
  • 9. A method comprising: receiving an input at a timing device, the input indicating either read only memory (ROM) is to be loaded or one time programmable non volatile memory (OTP NVM) is to be loaded into a static random access memory (SRAM) of the timing device;storing a first timing device configuration in a ROM of the timing device;loading the first timing device configuration from the ROM into the SRAM of the timing device when the input indicates ROM is to be loaded;when a second timing device configuration is stored in a OTP NVM of the timing device and when the input indicates OTP NVM is to be loaded, loading the second timing device configuration from the OTP NVM into the SRAM, the second timing device configuration different from the first timing device configuration; andstarting timing device operations using the loaded timing device configuration to generate output timing signals.
  • 10. The method of claim 9 further comprising: determining whether the OTP NVM has been burned; andloading the first timing device configuration into the SRAM when the OTP NVM has not been burned.
  • 11. The method of claim 10 wherein the loaded timing device configuration includes skew parameters for controlling skew of one or more of the plurality of output timing signals.
  • 12. The method of claim 10 wherein, the loaded timing device configuration includes output frequency parameters for controlling the frequency of the plurality of output timing signals.
  • 13. The method of claim 10 wherein, the loaded timing device configuration includes output format parameters for controlling the output format of the output timing signals.
  • 14. The method of claim 10 further comprising: when timing device configuration input data is received at a data interface control circuit that includes a third timing device configuration replacing the loaded timing device configuration with the third timing device configuration.
  • 15. A timing device comprising: a timing device circuit for generating at least one timing signal:a read only memory (ROM) having a first timing device configuration stored therein;a one time programmable non volatile memory (OTP NVM) for storing a second timing device configuration; anda static random access memory (SRAM) coupled to the timing device circuit, the ROM, the OTP NVM and a configuration select input, the SRAM including a SRAM array and a memory controller that is coupled to the SRAM array, the memory controller operable to receive input indicating whether the SRAM is to be loaded from the ROM or the OTP NVM and operable to load either the first timing device configuration from the ROM or the second timing device configuration from the OTP NVM into the SRAM memory array based on the input.
  • 16. The timing device of claim 15 wherein the memory controller is operable to determine whether the OTP NVM has been burned, to load the first timing device configuration from the ROM when the OTP NVM has not been burned.
  • 17. The timing device of claim 16 further comprising a data interface control circuit coupled the SRAM and coupled to the timing device circuit, the data interface control circuit operable to receive timing device configuration input that includes a third timing device configuration and operable upon receiving the timing device configuration input to replace the loaded timing device configuration with the third timing device configuration.
  • 18. The timing device of claim 16 wherein the timing device circuit includes a plurality of phase lock loop circuits that are controlled by parameters specified in the loaded timing device configuration and at least one frequency divider that is controlled by parameters specified in the loaded timing device configuration.
  • 19. The timing device of claim 15 wherein the timing device circuit, the SRAM, the ROM and the OTP NVM are formed on a single semiconductor die.
  • 20. The timing device of claim 15 further comprising a latch coupled to the configuration select input for receiving the input indicating whether the SRAM is to be loaded from the ROM or the OTP NVM, the latch having an output coupled to the SRAM.
US Referenced Citations (109)
Number Name Date Kind
4862485 Guinea et al. Aug 1989 A
5663105 Yu et al. Sep 1997 A
5748949 Johnston et al. May 1998 A
5757240 Boerstler et al. May 1998 A
5903195 Lukes et al. May 1999 A
6219797 Liu Apr 2001 B1
6259327 Balistreri et al. Jul 2001 B1
6640311 Knowles et al. Oct 2003 B1
6643787 Zerbe et al. Nov 2003 B1
6650193 Endo et al. Nov 2003 B2
6683506 Ye et al. Jan 2004 B2
6727767 Takada et al. Apr 2004 B2
6768387 Masuda et al. Jul 2004 B1
6959066 Wang et al. Oct 2005 B2
7012476 Ogiso et al. Mar 2006 B2
7323916 Sidiropoulos et al. Jan 2008 B1
7405594 Xu et al. Jul 2008 B1
7434083 Wilson et al. Oct 2008 B1
7541848 Masuda et al. Jun 2009 B1
7545188 Xu et al. Jun 2009 B1
7573303 Chi et al. Aug 2009 B1
7586347 Ren et al. Sep 2009 B1
7590163 Miller et al. Sep 2009 B1
7671635 Fan et al. Mar 2010 B2
7737739 Bi et al. Jun 2010 B1
7741981 Wan et al. Jun 2010 B1
7750618 Fang et al. Jul 2010 B1
7786763 Bal et al. Aug 2010 B1
7816959 Isik et al. Oct 2010 B1
7907625 MacAdam et al. Mar 2011 B1
7928880 Tsukamoto Apr 2011 B2
7941723 Lien et al. May 2011 B1
8018289 Hu et al. Sep 2011 B1
8164367 Bal et al. Apr 2012 B1
8179952 Thurston et al. May 2012 B2
8188796 Zhu et al. May 2012 B2
8259888 Hua et al. Sep 2012 B2
8284816 Clementi et al. Oct 2012 B1
8305154 Kubena et al. Nov 2012 B1
8416107 Wan et al. Apr 2013 B1
8432231 Zhu et al. Apr 2013 B2
8436677 Kull et al. May 2013 B2
8456155 Tamura Jun 2013 B2
8471751 Wang Jun 2013 B2
8537952 Arora et al. Sep 2013 B1
8693557 Zhang et al. Apr 2014 B1
8704564 Hasegawa et al. Apr 2014 B2
8723573 Wang et al. May 2014 B1
8791763 Taghivand Jul 2014 B2
8896476 Harpe Nov 2014 B2
8933830 Jeon Jan 2015 B1
8981858 Grivna et al. Mar 2015 B1
9077386 Holden et al. Jul 2015 B1
9100232 Hormati et al. Aug 2015 B1
20020079937 Xanthopoulos et al. Jun 2002 A1
20020191727 Staszewski et al. Dec 2002 A1
20030042985 Shibahara et al. Mar 2003 A1
20030184350 Wang et al. Oct 2003 A1
20040136440 Miyata et al. Jul 2004 A1
20040165691 Rana et al. Aug 2004 A1
20060119402 Thomsen et al. Jun 2006 A1
20060197614 Roubadia et al. Sep 2006 A1
20060290391 Leung et al. Dec 2006 A1
20070149144 Beyer et al. Jun 2007 A1
20070247248 Kobayashi et al. Oct 2007 A1
20080043893 Nagaraj et al. Feb 2008 A1
20080104435 Pernia et al. May 2008 A1
20080129351 Chawla et al. Jun 2008 A1
20080246546 Ha et al. Oct 2008 A1
20090083567 Kim et al. Mar 2009 A1
20090140896 Adduci et al. Jun 2009 A1
20090184857 Furuta et al. Jul 2009 A1
20090231901 Kim et al. Sep 2009 A1
20090256601 Zhang et al. Oct 2009 A1
20090262567 Shin et al. Oct 2009 A1
20100007427 Tomita et al. Jan 2010 A1
20100052798 Hirai et al. Mar 2010 A1
20100090731 Casagrande et al. Apr 2010 A1
20100164761 Wan et al. Jul 2010 A1
20100194483 Storaska et al. Aug 2010 A1
20100323643 Ridgers et al. Dec 2010 A1
20110006936 Lin et al. Jan 2011 A1
20110032013 Nelson et al. Feb 2011 A1
20110234204 Tamura et al. Sep 2011 A1
20110234433 Aruga et al. Sep 2011 A1
20110285575 Landez et al. Nov 2011 A1
20110304490 Janakiraman Dec 2011 A1
20120013406 Zhu et al. Jan 2012 A1
20120161829 Fernald et al. Jun 2012 A1
20120200330 Kawagoe et al. Aug 2012 A1
20120262315 Kapusta et al. Oct 2012 A1
20120297231 Qawami Nov 2012 A1
20120317365 Elhamias et al. Dec 2012 A1
20120328052 Etemadi et al. Dec 2012 A1
20130002467 Wang Jan 2013 A1
20130162454 Lin Jun 2013 A1
20130194115 Wu et al. Aug 2013 A1
20130211758 Prathapan et al. Aug 2013 A1
20140029646 Foxcroft et al. Jan 2014 A1
20140210532 Jenkins et al. Jul 2014 A1
20140327478 Horng et al. Nov 2014 A1
20140347941 Jose et al. Nov 2014 A1
20150162921 Chen et al. Jun 2015 A1
20150180594 Chakraborty et al. Jun 2015 A1
20150200649 Trager et al. Jul 2015 A1
20160084895 Imhof Mar 2016 A1
20160119118 Shokrollahi Apr 2016 A1
20160162426 Benjamin et al. Jun 2016 A1
20160211929 Holden et al. Jul 2016 A1
Non-Patent Literature Citations (9)
Entry
“19-Output PCIE GEN 3 Buffer”, Si53019-A01A, Silicon Laboratories Inc., Rev. 1.1 May 2015, 34 Pages.
“NB3W1200L: 33 V 100/133 MHz Differential 1:12 Push-Pull Clock ZDB/Fanout Buffer for PCIe”, ON Semiconductor, http://onsemi.com, Aug. 2013, Rev. 0, 26 Pages.
Avramov, et al., “1.5-GHz Voltage Controlled Oscillator with 3% Tuning Bandwidth Using a Two-Pole DSBAR Filter”, Ultrasonics, Ferroelectrics and Frequency Control. IEEE Transactions on. vol. 58., May 2011, pp. 916-923.
Hwang, et al., “A Digitally Controlled Phase-Locked Loop with a Digital Ohase—Frequency Detector for Fast Acquisition”, IEEE Journal of Solid State Circuits, vol. 36, No. 10, Oct. 2001, pp. 1574-1581.
Kratyuk, et al., “Frequency Detector for Fast Frequency Lock of Digital PLLs”, Electronic Letters, vol. 43, No. 1, Jan. 4, 2007, pp. 1-2.
Mansuri, “Fast Frequency Acquisition Phase-Frequency Detectors for GSamples/s Phase-Locked Loops”, IEEE Journal of Solid-State Circuits, vol. 37 No. 10, Oct. 2002, pp. 1331-1334.
Niagaraju, “A Low Noise 1.5GHz VCO with a 3.75% Tuning Range Using Coupled FBAR's”, IEEE International Ultrasonics Symposium (IUS), Oct. 2012, pp. 1-4.
Watanabe, “An All-Digital PLL for Frequency Multilication by 4 to 1022 with Seven-Cycle Lock Time”, IEEE Journal of Solid-State Circuits, vol. 39 No. 2, Feb. 2003, pp. 198-204.
Texas Instruments “CDCEx913 Programmable 1-PLL VCXO Clock Synthesizer With 1.8-V, 2.5-V, and 3.3-V Outputs”, Apr. 2015, pp. 1-36, pp. 11, 20-22.
Related Publications (1)
Number Date Country
20160077958 A1 Mar 2016 US