WO2023064729A1 - Réglage dynamique et ajustement de temps de maintien pour mémoires - Google Patents

Réglage dynamique et ajustement de temps de maintien pour mémoires Download PDF

Info

Publication number
WO2023064729A1
WO2023064729A1 PCT/US2022/077850 US2022077850W WO2023064729A1 WO 2023064729 A1 WO2023064729 A1 WO 2023064729A1 US 2022077850 W US2022077850 W US 2022077850W WO 2023064729 A1 WO2023064729 A1 WO 2023064729A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
recited
adjuster
version
arrival
Prior art date
Application number
PCT/US2022/077850
Other languages
English (en)
Inventor
John J. Wuu
Jaroslaw Kuszczak
Gaurav Singla
Original Assignee
Advanced Micro Devices, Inc.
Ati Technologies Ulc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US17/564,747 external-priority patent/US20230112432A1/en
Application filed by Advanced Micro Devices, Inc., Ati Technologies Ulc filed Critical Advanced Micro Devices, Inc.
Priority to CN202280068513.9A priority Critical patent/CN118103908A/zh
Publication of WO2023064729A1 publication Critical patent/WO2023064729A1/fr

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells

Definitions

  • a variety of types of sequential circuits receive an input clock signal and additionally a data signal. These types of sequential circuits synchronize the processing of data, signals in a pipelined fashion. Examples of these sequential circuits are latches, flip-flops, word line drivers, bit line drivers, data storage memory cells in random access memory, and so on.
  • sequential circuits have an associated overhead including a setup time and a hold time. When either tlie setup time or the hold time is violated, the signals within the sequential circuit and an associated output value become metastable, or unpredictable. If tire output value settles to an incorrect value, data corruption occurs. However, even if the output value settles to a correct value, power consumption has increased. Additionally, the latency increases for the circuitry of the subsequent combinatorial logic that receives the output value.
  • a system management unit determines the value of a power supply voltage and an operating clock frequency for a power-performance state of an integrated circuit while transitioning the integrated circuit between different operating modes or states. Examples of the operating modes are an awake state, an idle state, and a sleep state. Each operating mode is associated with one or more power-performance states. Using different power supply voltages and operating clock frequencies serves to balance tradeoffs between performance, power consumption, and stability of the integrated circuit. With the demand for increasing clock speeds for many integrated circuits, balancing setup and hold time requirements of sequential circuits for different operating conditions has become a challenge.
  • FIG. 1 is a generalized diagram of timing paths for efficiently capturing data by sequential circuits across multiple operating conditions.
  • FIG. 2 is a generalized diagram of timing paths for efficiently capturing data by sequential circuits across multiple operating conditions.
  • FIG. 3 is a generalized diagram of timing paths for capturing data by sequential circuits across multiple operating conditions.
  • FIG. 4 is a generalized diagram of one implementation of a method for efficiently capturing data by sequential circuits across multiple operating conditions.
  • FIG. 5 is a generalized diagram of one implementation of a method for efficiently capturing data by sequential circuits across multiple operating conditions.
  • FIG. 6 is a generalized diagram of a computing sy stem w ith timing paths for capturing data by sequential circuits across multiple operating conditions.
  • an integrated circuit includes multiple signal arrival adjusters both at its I/O boundaries and across its die.
  • the signal arrival adjuster includes two internal timing paths, each with a respective latency.
  • Tire signal arrival adjuster receives an input signal, and generates an output signal from a selected one of the first timing path and the second timing path.
  • the signal arrival adjuster sends the output signal to a sequential circuit.
  • the input signal and the output signal correspond to a data value to be stored by the sequential circuit.
  • the input signal and the output signal correspond to a clock signal to be used by the sequential circuit.
  • the signal arrival adjuster also receives a setup/hold selector control signal (or control signal).
  • a control unit generates the control signal based on a variety of operating conditions.
  • the signal arrival adjuster (or adjuster) selects a first timing path with a first latency when the adjuster determines the control signal has a first state or value.
  • the adjuster selects a second timing path with a second latency greater than tire first latency when the adjuster determines the control signal is associated with a second state different than the first state.
  • the second timing path includes one or more delay elements which increase the latency of a signal through the path when compared to the first timing path.
  • the timing of the first timing path and the second timing path is less than or equal to a single clock cycle.
  • the adjuster is placed in the signal path of the data signal or the clock signal of a sequential circuit to adjust the corresponding arrival time at the sequential circuit in order to satisfy both the setup time and the hold time requirements for particular operating conditions.
  • Examples of the operating conditions are the operating temperature, tire multiple powerperformance states (P-states), the operating power supply voltage, a monitored activity level, and so on.
  • the current values of one or more of these conditions change the latencies of signals on the die.
  • the operating conditions are capable of affecting the resistive and capacitive (RC) parasitic effects of signal routes and the transistor threshold voltages.
  • the change in latency of a particular signal is further based on whether its signal path includes more of a long signal route (e.g., a long wire) than transistors or includes more transistors providing multiple levels of combinatorial logic than long signal routes. Therefore, the change m latency of a data signal arriving at a sequential circuit can be different than a change in latency of a clock signal arriving at the sequential circuit.
  • the signal arrival adjuster is used on the path of the data signal to remove the hold time limitation.
  • the signal arrival adjuster is used on the path of the clock signal to remove the setup time limitation. The selection between the two timing paths within the signal arrival adjuster aids satisfying the setup and hold time requirements of the sequential circuit.
  • An integrated circuit includes multiple signal arrival adjusters such as the signal arrival adjuster 120.
  • the integrated circuit is capable of using the signal arrival adjuster (or ‘"signal arrival adjustment unit”) 12.0 at its mput/output (I/O) boundaries and across its die.
  • the signal arrival adjuster 120 (or adjuster 120) receives the input data 102 and the setup/hold selector control signal 104.
  • the adjuster 120 generates the intermediate data 128, and sends it to the sequential circuit 140.
  • the sequential circuit 140 receives the intermediate data 128 and the intermediate clock 132.
  • the clock tree 130 receives the input clock 106 and generates the intermediate clock 132.
  • the sequential circuit also uses the power supply voltage level indicated as “VDD” 142 and the ground reference voltage level indicated as “VSS” 144.
  • VDD 142 and VSS 144 are set by a currently used powerperformance state (P-state).
  • the adjuster 12.0 also uses the same values of VDD 142 and VSS 144.
  • the operating frequency of one or more of the input clock 106 and the intermediate clock 132 are based on the P-state.
  • the sequential circuit 140 generates the output data 150.
  • the sequential circuit 140 is representative of a variety of sequential data storage elements. Examples of the sequential circuit 140 are latches, flip-flops, word line drivers, bit line drivers, data storage memory bit cells in random access memory, and so on. Generally, the sequential circuit 140 has an associated overhead including setup time and hold time requirements.
  • the adjuster 120 includes two timing paths, each with a respective latency.
  • the adjuster 120 includes tire data generators 122 and 124. A first timing path receives the input data 102, and uses the data generator 122 and the multiplexer (mux) 126 to generate the intermediate data 128. A second timing path receives the input data 102, and uses the data generator 124 and the multiplexer (mux) 126 to generate the intermediate data 128.
  • the select, line of the multiplexer 126 receives the setup/hold selector 104.
  • the adjuster 120 includes another number of timings paths using another number of data generators. In such implementations, the number of multiplexers and the number of control signals increase.
  • the data generator 122 has a latency less than a latency of the second data generator 124.
  • the data generator 122 uses a wire delay and no logic gate delays, whereas, the data generator 124 uses an even number of inverters (i.e., 2, 4, 6, etc.) connected in a serial manner to send a delayed, non-in verted, value of the input data 102 to the multiplexer 126.
  • the data generators provide inverted values to the multiplexer 126, and an additional inverter is used on the output of the multiplexer 126.
  • Tire multiplexer 126 selects the first timing path that uses the data generator 122 when the setup/hold selector 104 indicates that the "‘0” input of the multiplexer 126 is to be selected.
  • An control unit (which may be external to the apparatus) sets the setup/hold selector 104.
  • Hie control unit sets the setup/hold selector 104 to a value that indicates that the da ta generator 122 should be selected when the control unit determines current operating conditions cause a difference to be less than a time threshold between an arrival time at the sequential circuit of the input data 102 and an arrival time at the sequential circuit of the intermediate clock 132. Therefore, the setup and hold time requirements of the sequential circuit 140 are able to be met by these arrival times due to prior tuning during a design cycle.
  • the multiplexer 126 selects the second timing path that uses the data generator 124, which has a latency greater than a latency of the data generator 122, when the setup/hold selector 104 indicates that the “1” input of the multiplexer 126 is to be selected.
  • Hie control unit sets the setup/hold selector 104 to a value that indicates that the data generator 124 should be selected when the control unit determines current particular operating conditions cause the arrival time of the intermediate clock 132 to lag behind the arrival time of the input data 102 by at least the time threshold. Therefore, the hold time requirement of the sequential circuit 140 is unable to be met during these particular operating conditions.
  • the data generator 124 aids satisfying the hold time requirement of the sequential circuit 140 under these particular conditions.
  • the latency of the data generator 124 causes the difference of the arrival times of the intermediate data 128 and the intermediate clock 132 to be less than a time threshold. Accordingly, the hold time requirement of the sequential circuit 140 is met.
  • Examples of the operating conditions monitored by the control unit are the operating temperature, the multiple power-performance states (P-states), the operating voltage, a monitored activity level, and so on.
  • the current values of one or more of these conditions change the latencies of signals on the die such as the arrival times of input data 102 and intermediate clock 132.
  • the operating conditions are capable of affecting the resistive and capacitive (RC) parasitic effects of signal routes and the transistor threshold voltages.
  • the combination of particular operating conditions is known that cause the arrival time of the intermediate clock 132 to lag behind the arrival time of the input data 102 by at least the time threshold.
  • the control unit sets the setup/hold selector 104 to a value that indicates to the multiplexer 126 to select the data generator 12.4.
  • the control unit includes hardware, such as circuitry, that receives indications of operating conditions and determines when the one or more combinations occur that cause a hold time violation for the sequential circuit 140.
  • a power manager or other management unit provides the selected P-states.
  • One or more of a variety of types of temperature sensors provide an indication of the operating temperature, fire hardware of the control unit that generates the setup/hold selector 104 for the sequential circuit 140 is particular to this sequential circuit 140.
  • control unit maintains a configurable table in hardware or firmware that identifies the combination of one or more operating conditions that cause a hold time violation for the sequential circuit 140.
  • the control unit sends the setup/hold selector 104 as an output of this table to one or more signal arrival adjusters such as the adjuster 120.
  • the placement of the signal arrival adjuster 120 is based on which signal (e.g., input data signal 102 and intermediate clock signal 132) arrives later at the sequential circuit 140 when the difference between the arrival times at the sequential circuit 140 of the input data 102 and of the intermediate clock 132 is equal to or greater than a time threshold.
  • the adjuster 120 is placed in the signal path of input data 102, since under particular operating conditions, the arrival time of the intermediate clock 132 lags behind the arrival time ofthe input data 102 by at least the time threshold.
  • the control unit sets the setup/hold selector 104 to select the data generator 124, which further delays the arrival time of the intermediate clock 132. Accordingly, in these cases, the setup time requirement is now satisfied, since the difference of the arrival times of the input data 102 and the intermediate clock 132 is less than the time threshold.
  • the timing paths 200 include similar components as shown for timing paths 100 (of FIG. 1).
  • the clock generator 210 receives an input clock signal input clock 206 and generates the clock signal 216, which is received by the local clock buffering circuitry’ 218 (or circuitry’ 218).
  • the output of circuitry- 218 is the intermediate clock signal 232, which is received by the sequential circuit 240.
  • the clock generator 210 uses the clock buffering circuitry 212 (or circuitry' 212), which includes one or more Boolean combinatorial logic gates and complex gates. Other control signals used by tlie circuitry 212 are not shown for ease of illustration.
  • the inverter 214 is a global clock buffer that sends the clock signal 216 to various types of circuits.
  • the placement of the signal arrival adjuster 220 is based on which signal (e.g., input data signal 202 and intermediate clock signal 232) arrives later at the sequential circuit 140 when the difference of the arrival times of the input data 202 and the intermediate clock 232 is equal to or greater than a time threshold.
  • the adjuster 220 is placed in the signal path between the input data signal 202 and tlie sequential circuit 240, since under particular operating conditions, the arrival time of the intermediate clock 232 lags behind the arrival time of the input data 202 by at least the time threshold , Therefore, under these particular operating conditions, the hold time requirement of the sequential circuit 240 is unable to be met without the use of the adjuster 220.
  • Tire adjuster 220 generates tlie intermediate data signal 230, which is received by the sequential circuit 240.
  • the adjuster 220 includes two timing paths.
  • a first timing path includes a wire delay with no logic gate additional delay, whereas, a second timing path includes a series of inverters that buffer and delay the input data signal.
  • a control unit 250 asserts tlie setup/hold selector 204 signal based on determining when a particular combination of operating conditions occur that cause the arrival time of the intermediate clock 232 to lag behind the arrival time of the input data 202 by at least the time threshold.
  • the control unit 250 may be part of power management circuitry, receive information from power management circuitry, or otherwise. Otherwise, the control unit negates the setup/hold selector 204 signal.
  • the setup/hold selector 204 signal is negated, the multiplexer 226 of the adjuster 220 selects tlie first timing path that uses only the wire delay. The wire delay of tlie first timing path aids in satisfying the setup time requirement of the sequential circuit 240.
  • the multiplexer 226 of the adjuster 220 selects the second timing path that uses the inverter 222 and the data generator 224.
  • the data generator 224 uses a series of inverters to add delay. Tlie series of inverters aids in satisfying the hold time requirement of the sequential circuit 240.
  • the adjuster 2.20 includes another number of timings paths using another number of data generators. In such implementations, the number of multiplexers and the number of control signals increase for the adjuster 220.
  • the circuitry shown for timing paths 200 leverages the typical, existing infrastructure for selecting different modes for the peripheral circuitry' of synchronous random access memories (SRAMs) such as the registers that store the write data.
  • SRAMs synchronous random access memories
  • dynamically satisfying the setup requirements and the hold requirements for the sequential circuits becomes challenging. For example, methods that allow signals to satisfy the hold time requirements within sequential circuits without using the adjuster 220 would incur a setup penalty 7 under certain operating conditions. Similarly, methods that allow signals to satisfy the setup requirements within sequential circuits without using the adjuster 220 would incur a hold time penalty under certain operating conditions.
  • the adjuster 2.20 uncouples these conflicting requirements, allowing both the hold time requirements and the setup time requirements to be met during a wide range of operating conditions.
  • timing paths 300 includes similar components as shown for timing paths 200 (of FIG. 2). Circuits and signals described earlier are numbered identically.
  • the signal arrival adjuster 320 replaces the signal arrival adjuster 220. No selection of timing paths is performed. Accordingly, satisfying the setup and hold time requirements of the sequential circuit 240 becomes difficult as the operating parameters change as the operating mode changes.
  • FIG. 4 one implementation of a method 400 is shown for efficiently capturing data by sequential circuits across multiple operating conditions.
  • the steps in this implementation are shown in sequential order. However, in other implementations some steps occur in a different order than shown, some steps are performed concurrently, some steps are combined with other steps, and some steps are absent.
  • An integrated circuit includes multiple signal arrival adjuster both at its I/O boundaries and within its die.
  • one or more of the signal arrival adjusters utilize the components of the signal arrival adjuster 120 (of FIG. 1) and the signal arrival adjuster 22.0 (of FIG. 2).
  • a sequential circuit receives an input clock signal (block 402). Examples of the sequential circuit are latches, flip-flops, word line drivers, bit line drivers, data storage memory cells in random access memory 7 , and so on. Generally, the sequential circuit has an associated overhead including setup time and hold time requirements. The sequential circuit receives a power supply 7 voltage (block 404).
  • a signal arrival adjuster receives an input data signal (block 406).
  • the signal arrival adjuster receives an indication of a setup/hold selector control signal (block 408),
  • a control unit identifies the combination of one or more operating conditions that cause a hold time violation for the sequential circuit. For example, a difference is greater than a time threshold between an arrival time at the sequential circuit of the input clock signal and an arrival time at the sequential circuit of the input data signal.
  • the sequential circuit is ‘‘hold time limited.” If the state of the control signal indicates the sequential circuit is hold time limited (“hold time limited” branch of the conditional block 410), then the signal arrival adjuster generates an output data signal based on the input signal through a first timing path with a first latency greater than a second latency (block 412). For example, the first latency of the first timing path within the signal arrival adjuster is greater than a second latency of a second timing path with the signal arrival adjuster.
  • the control unit also identifies the combination of one or more operating conditions that cause a setup time violation for the sequential circuit. For example, a difference is greater than a time threshold between an arrival time at the sequential circuit of the input data signal and an arrival time at the sequential circuit of the input clock signal. In such cases, the sequential circuit is “setup time limited.” If the state of the control signal indicates the sequential circuit is setup time limited (“setup time limited” branch of the conditional block 410), then the signal arrival adjuster generates an output data signal based on the input signal through a second timing path with a second latency less than a first latency of the first timing path of the signal arrival adjuster (block 414).
  • Hie signal arrival adjuster conveys the output data signal to the sequential circuit (block 416).
  • the sequential circuit receives the output data signal as its input data signal. Due to the received state of the control signal, the adjuster provides a difference between the arrival times at the sequential circuit of the output data signal and of the clock signal to be less than a time threshold. Therefore, both the setup time and the hold time requirements of the sequential circuit are met.
  • FIG. 5 one implementation of a method 500 is shown for efficiently capturing data by sequential circuits across multiple operating conditions.
  • the steps in this implementation are shown m sequential order. However, in other implementations some steps occur in a different order than shown, some steps are performed concurrently, some steps are combined with other steps, and some steps are absent.
  • An integrated circuit includes multiple signal arrival adjuster both at its I/O boundaries and within its die.
  • one or more of the signal arrival adjusters utilize the components of the signal arrival adjuster 120 (of FIG . 1) and the signal arrival adjuster 220 (of FIG. 2).
  • a sequential circuit receives an input data signal (block 502). Examples of the sequential circuit are latches, flip-flops, word line drivers, bit line drivers, data storage memory cells in random access memory’, and so on. Generally, the sequential circuit has an associated overhead including setup time and hold time requirements. The sequential circuit receives a power supply voltage (block 504).
  • a signal arrival adjuster receives an input clock signal (block 506).
  • the signal arrival adjuster receives an indication of a setup/hold selector control signal (block 508).
  • a control unit identifies the combination of one or more operating conditions that cause a setup time violation for the sequential circuit. If the state of the control signal indicates the sequential circuit is setup time limited (“setup time limited” branch of the conditional block 510), then the signal arrival adjuster generates an output clock signal based on the input signal through a first timing path with a first latency greater than a second latency (block 512). For example, the first latency of the first timing path within the signal arrival adjuster is greater than a second latency of a second timing path with the signal arrival adjuster.
  • the signal arrival adjuster generates an output clock signal based on the input signal through a second timing path with a relatively a second latency less than a first latency of the first timing path of the signal arrival adjuster (block 514).
  • the signal arrival adjuster conveys the output clock signal to the sequential circuit (block 516).
  • the sequential circuit receives the output clock signal as its hiput clock signal. Due to the received state of the control signal, the adjuster provides a difference between the arrival times at the sequential circuit of the output data signal and of the clock signal to be less than a time threshold. 'Therefore, both the setup time and the hold time requirements of the sequential circuit are met.
  • FIG. 6 a generalized block diagram is shown of computing system 600 with timing paths for capturing data by sequential circuits across multiple operating conditions.
  • the computing system 600 includes the processor 610 and the memory’ 630. Interfaces, such as a memory’ controller, a bus or a communication fabric, one or more phased locked loops (PLLs) and other clock generation circuitry, a power management unit, and so forth, are not shown for ease of illustration. It is understood that in other implementations, the computing system 600 includes one or more of other processors of a same type or a different, type than processor 610, one or more peripheral devices, a network interface, one or more other memory devices, and so forth.
  • PLLs phased locked loops
  • the functionality’ of the computing sy stem 600 is incorporated on a system on chip (SoC). In other implementations, the functionality of the computing system 600 is incorporated on a peripheral card inserted in a motherboard.
  • SoC system on chip
  • the computing system 600 is used in any of a variety of computing devices such as a desktop computer, a tablet computer, a laptop, a smartphone, a smartwatch, a gaming console, a personal assistant device, and so forth.
  • the processor 610 includes hardware such as circuitry’.
  • the processor 610 includes at least one integrated circuit 620, which utilizes sequential circuits 622, signal arrival adjusters 624 (or adjusters 624), and control unit 626.
  • the control unit generates the setup/hold selector signals 628 and sends them to the adjusters 624.
  • the integrated circuit 620 includes the sequential circuits 622 and the corresponding adjusters 624 both at its I/O boundaries and within its die.
  • One or more of the adjusters 624 utilize the circuitry and functionality of the adjusters 120 (of FIG. I) and the adjusters 220 (of FIG. 2). It is contemplated that the integrated circuit 620 includes any’ number of adjusters.
  • each of the adjusters 624 receives a respective signal of the setup/hold selector signals 628. In other implementations, two or more of the adjusters 624 share a particular signal of the setup/liold selector signals 628. One or more of the adjusters 624 are used on a data signal path of corresponding ones of the sequential circuits 622. Other adjusters 624 are used on a clock signal path of corresponding ones of the sequential circuits 622.
  • the control unit 626 determines the values of the setup/hold selector signals 628 based on which combinations of operating conditions cause arrival times of data and clock signals at the sequential circuits 622 to deviate from one another by more than a time threshold.
  • examples of the operating conditions are the operating temperature, the multiple power-performance states (P- states), the operating power supply voltage, a monitored activity level, and so on.
  • the current values of one or more of these conditions change the latencies of signals on the die. Due to the values of the setup/hold selector signals 628 generated by the control unit 626, each of the adjusters 624 provides a difference between the arrival times at a corresponding one of die sequential circuits 622 of the data signal and of the clock signal to be less than a time threshold. Therefore, both the setup time and the hold time requirements of the sequential circuits 622 are met.
  • the processor 610 includes one or more processing units.
  • each of the processing units includes one or more processor cores capable of general-purpose data processing, and an associated cache memory' subsystem.
  • the processor 610 is a central processing unit (CPU).
  • the processing cores are compute units, each with a highly parallel data microarchitecture with multiple parallel execution lanes and an associated data storage buffer.
  • die processor 610 is a graphics processing unit (G PU), a digital signal processor (DSP), or other.
  • the memory 630 includes one or more of a hard disk drive, a solid-state disk, other types of flash memory, a portable solid-state drive, a tape drive and so on.
  • the memory' 630 stores an operating system (OS) 632, one or more applications represented bycode 634, and at least source data 636.
  • OS operating system
  • Memory 630 is also capable of storing intermediate result data and final result data generated by the processor 610 when executing a particular application of code 634, A lthough a single operating system 632. and a single instance of code 634 and source data 636 are shown, in other implementations, another number of these software components are stored in memory 630.
  • the operating system 632 includes instructions for initiating the boot up of the processor 610, assigning tasks to hardware circuitry-, managing resources of the computing system 600 and hosting one or more virtual environments.
  • Each of the processor 610 and the memory 630 includes an interface unit for communicating with one another as well as any other hardware components included in the computing system 600.
  • the interface units include queues for servicing memory requests and memory responses, and control circuitry for communicating with one another based on particular communication protocols, fire communication protocols determine a variety of parameters such as supply 7 voltage levels, power-performance states that determine an operating supply voltage and an operating clock frequency, a data rate, one or more burst modes, and so on.
  • a computer accessible storage medium includes any storage media accessible by' a computer during use to provide instructions and/or data to the computer.
  • a computer accessible storage medium includes storage media such as magnetic or optical media, e.g., disk (fixed or removable), tape, CD-ROM, or DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW, or Blu-Ray.
  • Storage media further includes volatile or non-volatile memory media such as RAM (e.g. synchronous dynamic RAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.) SDRAM, low-power DDR (LPDDR2, etc.) SDRAM, Rambus DRAM (RDRAM), static RAM (SRAM), etc.), ROM, Flash memoiy, nonvolatile memory 7 (e.g. Flash memory) accessible via a peripheral interface such as the Universal Serial Bus (USB) interface, etc.
  • SDRAM synchronous dynamic RAM
  • DDR double data rate SDRAM
  • LPDDR2, etc. low-power DDR
  • RDRAM Rambus DRAM
  • SRAM static RAM
  • ROM Flash memoiy
  • nonvolatile memory 7 e.g. Flash
  • program instructions include behavioral-level descriptions or register-transfer level (RIX) descriptions of the hardware functionality in a high level programming language such as C, or a design language (HDI .,) such as Verilog, VHDL, or database format such as GDS II stream format (GDSII).
  • RIX register-transfer level
  • HDI design language
  • HDII database format
  • GDSII GDS II stream format
  • the description is read by a synthesis tool, which synthesizes the description to produce a netlist including a list of gates from a synthesis library 7 .
  • the netlist includes a set of gates, which also represent the functionality of the hardware including the system.
  • the netlist is then placed and routed to produce a data set describing geometric shapes to be applied to masks.
  • the instructions on the computer accessible storage medium are the netlist (with or w'ithout the synthesis library 7 ) or the data set, as desired. Additionally, the instructions are utilized for purposes of emulation by a hardware based type emulator from such vendors as Cadence®, EVE®, and Mentor Graphics®.

Landscapes

  • Logic Circuits (AREA)

Abstract

L'invention concerne un système et un procédé de capture efficace de données par des circuits séquentiels dans de multiples conditions de fonctionnement. Dans divers modes de réalisation, un circuit intégré comprend de multiples dispositifs d'ajustement d'arrivée de signal à la fois au niveau de ses limites d'entrée/sortie et à travers sa puce. Le dispositif d'ajustement d'arrivée de signal comprend deux trajets de synchronisation interne, chacun avec une latence respective. Le dispositif d'ajustement d'arrivée de signal reçoit un signal d'entrée, et génère un signal de sortie à partir d'un trajet de synchronisation sélectionné parmi le premier trajet de synchronisation et le second trajet de synchronisation. Le dispositif d'ajustement d'arrivée de signal envoie le signal de sortie à un circuit séquentiel. Le circuit séquentiel utilise le signal de sortie comme l'un d'un signal de données d'entrée et d'un signal d'horloge d'entrée. La sélection entre les deux trajets de synchronisation à l'intérieur du dispositif d'ajustement d'arrivée de signal contribue à satisfaire aux exigences de réglage et de temps de maintien du circuit séquentiel.
PCT/US2022/077850 2021-10-12 2022-10-10 Réglage dynamique et ajustement de temps de maintien pour mémoires WO2023064729A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202280068513.9A CN118103908A (zh) 2021-10-12 2022-10-10 存储器的动态设置时间和保持时间调节

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163254873P 2021-10-12 2021-10-12
US63/254,873 2021-10-12
US17/564,747 US20230112432A1 (en) 2021-10-12 2021-12-29 Dynamic setup and hold times adjustment for memories
US17/564,747 2021-12-29

Publications (1)

Publication Number Publication Date
WO2023064729A1 true WO2023064729A1 (fr) 2023-04-20

Family

ID=84329435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/077850 WO2023064729A1 (fr) 2021-10-12 2022-10-10 Réglage dynamique et ajustement de temps de maintien pour mémoires

Country Status (1)

Country Link
WO (1) WO2023064729A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020178427A1 (en) * 2001-05-25 2002-11-28 Cheng-Liang Ding Method for improving timing behavior in a hardware logic emulation system
US20030223278A1 (en) * 2002-05-30 2003-12-04 Gomm Tyler J. Dynamically centered setup-time and hold-time window
US20130249612A1 (en) * 2012-03-26 2013-09-26 Rambus Inc. Method and apparatus for source-synchronous signaling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020178427A1 (en) * 2001-05-25 2002-11-28 Cheng-Liang Ding Method for improving timing behavior in a hardware logic emulation system
US20030223278A1 (en) * 2002-05-30 2003-12-04 Gomm Tyler J. Dynamically centered setup-time and hold-time window
US20130249612A1 (en) * 2012-03-26 2013-09-26 Rambus Inc. Method and apparatus for source-synchronous signaling

Similar Documents

Publication Publication Date Title
JP5819027B2 (ja) メモリアクセス遅延トレーニングのための方法および装置
US9851744B2 (en) Address and control signal training
US20120284576A1 (en) Hardware stimulus engine for memory receive and transmit signals
US8880831B2 (en) Method and apparatus to reduce memory read latency
KR20130028013A (ko) 동적 데이터 스트로브 검출
KR20130129270A (ko) 버스 상호접속부를 위한 버스 클록 주파수 스케일링 및 관련 디바이스들, 시스템들 및 방법들
KR101887319B1 (ko) 전용 회로 및 메모리를 제어하기 위한 동적 마진 튜닝
TWI796748B (zh) 使用替代結果之記憶體子系統校準
US9672882B1 (en) Conditional reference voltage calibration of a memory system in data transmisson
WO2009105295A1 (fr) Pipeline ajustable dans un circuit mémoire
US10649922B2 (en) Systems and methods for scheduling different types of memory requests with varying data sizes
US11683149B2 (en) Precise time management using local time base
US10572183B2 (en) Power efficient retraining of memory accesses
US10331196B2 (en) Reduced setup time clock gating circuit
US20230112432A1 (en) Dynamic setup and hold times adjustment for memories
US11226752B2 (en) Filtering memory calibration
US11860685B2 (en) Clock frequency divider circuit
US10650112B1 (en) Multi-bit clock gating cell to reduce clock power
WO2023064729A1 (fr) Réglage dynamique et ajustement de temps de maintien pour mémoires
KR20240072272A (ko) 메모리에 대한 동적 셋업 및 홀드 시간 조정
US10304530B2 (en) Per-pin compact reference voltage generator
CN118103908A (zh) 存储器的动态设置时间和保持时间调节
US20230129642A1 (en) On-die power supply monitor design
US11955982B2 (en) Granular clock frequency division using dithering mechanism
US11929114B2 (en) Rapid tag invalidation circuit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22800973

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20247015216

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2022800973

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022800973

Country of ref document: EP

Effective date: 20240513