TIMING SEQUENCE GENERATION CIRCUIT
20230291395 · 2023-09-14
Inventors
Cpc classification
H03L7/0996
ELECTRICITY
G06F1/04
PHYSICS
International classification
Abstract
In accordance with an embodiment, a timing sequence generation circuit includes: a ring oscillator having a plurality of clock signal outputs configured to provide clock signals delayed in time with respect to one another; a first shift register comprising a flip-flop having a clock input coupled to a clock signal input of the first shift register and an output coupled to an output of the first shift register; and a first circuit configured to: select a clock signal from among the clock signals; and deliver the selected clock signal to the clock signal input of the first shift register
Claims
1. A timing sequence generation circuit comprising: a ring oscillator having a plurality of clock signal outputs configured to provide clock signals delayed in time with respect to one another; a first shift register comprising a flip-flop having a clock input coupled to a clock signal input of the first shift register and an output coupled to an output of the first shift register; and a first circuit configured to: select a clock signal from among the clock signals; and deliver the selected clock signal to the clock signal input of the first shift register.
2. The circuit according to claim 1, further comprising a second circuit configured to select the output of the flip-flop.
3. The circuit according to claim 1, wherein the flip-flop is a D-type flip-flop.
4. The circuit according to claim 1, further comprising a second shift register comprising a flip-flop having a clock input coupled to a clock signal input of the second shift register and an output coupled to an output of the second shift register, wherein the clock signal input of the second shift register is configured to receive a further selected clock signal selected from among the clock signals.
5. The circuit according to claim 4, wherein a data input of the flip-flop of the second shift register is configured to receive an output signal at the output of the flip-flop of the second shift register or an output signal at the output of the flip-flop of the first shift register.
6. The circuit according to claim 1, wherein a reset input of the flip-flop is coupled to the output of the first shift register.
7. The circuit according to claim 6, further comprising; a second shift register comprising a plurality of flip-flops comprising clock inputs coupled to a clock signal input of the second shift register and outputs coupled to outputs of the second shift register, wherein the clock signal input of the second shift register is configured to receive a further selected clock signal selected from among the clock signals; and a multiplexer having an output coupled to a data input of a first flip-flop of the plurality of flip-flops of the second shift register, the multiplexer configured to select from among a signal corresponding to a high level or an output signal of one of a second flip-flop of the plurality of flip-flops of the second shift register.
8. The circuit according to claim 1, further comprising a second shift register comprising a plurality of flip-flops, wherein: a first clock signal selected from the among the clocks signals is configured to be coupled to a clock input of a first flip-flop of the plurality of flip-flops of the second shift register; a second clock signal selected from the among the clocks signals is configured to be coupled to a clock input of a second flip-flop of the plurality of flip-flops of the second shift register; the second clock signal is different from the first clock signal; and the first flip-flop is different from the second flip-flop.
9. The circuit according to claim 1, wherein the first shift register further comprises: a first selection circuit having a first input coupled to the output of the flip-flop of the first shift register and a second input coupled to a power supply rail, the first selection circuit configured to couple a selected one of the first input and the second input to an input of a second flip-flop of the first shift register; and a second selection circuit having a third input coupled to the output of the second flip-flop of the first shift register and a fourth input coupled to the power supply rail, the second selection circuit configured to couple a selected one of the third input and the fourth input to an input of a third flip-flop of the first shift register.
10. The circuit according to claim 1, wherein the ring oscillator comprises an odd-number of logic gates coupled in series and configured to produce the clock signals.
11. A method of generating a timing sequence using a circuit comprising a ring oscillator having a plurality of clock signal outputs configured to provide clock signals delayed in time with respect to one another, and a first shift register, the method comprising: selecting a clock signal from among the clock signals; and delivering the selected clock signal to a clock signal input of the first shift register.
12. The method according to claim 11, further comprising selecting an output of one of a plurality of flip-flops of the first shift register.
13. The method according to claim 11, wherein: the circuit further comprises a second shift register; and the method further comprises: selecting a further clock signal from among the clock signals, and providing the selected clock signal to a clock signal input of the second shift register.
14. The method according to claim 13, wherein a reset input of a flip-flop of the second shift register is coupled to an input signal of a flip-flip of the first shift register.
15. The method according to claim 14, wherein: the second shift register comprises a plurality of flip-flops; and the method comprises selecting a signal from a high-level signal and an output signal from a first flip-flop of the plurality of flip-flops of the second shift register; and providing the selected signal to a data input of a second flip-flop of the plurality of flip-flops.
16. The method according to claim 13, further comprising receiving, by a data input of a flip-flop of the second shift register, an output signal of a flip-flop of the first shift register.
17. The method according to claim 16, wherein: the second shift register comprises a plurality of flip-flops; and the method further comprises: selecting a first clock signal of the clock signals, selecting a second clock signal of the clock signals different from the first clock signal, providing the selected first clock signal to a clock input of a first flip-flop of the plurality of flip-flops of the second shift register, and providing the selected second clock signal to a clock input of a second flip-flop of the plurality of flip-flops of the second shift register different from the first flip-flop.
18. The method according to claim 11, wherein: the first shift register comprises a plurality of flip-flops; and the method further comprises: selecting a first signal from among an output signal of a first flip-flop of the plurality of flip-flops of the first shift register and a power supply voltage, providing the selected first signal to an input of a second flip-flop of the plurality of flip-flops of the first shift register, selecting a second signal from among an output signal of the second flip-flop of the of the plurality of flip-flops of the first shift register and the power supply voltage, and providing the selected first signal to an input of a third flip-flop of the plurality of flip-flops of the first shift register.
19. A timing sequence generation circuit comprising: a ring oscillator comprising a plurality of clock outputs corresponding to different phases of the ring oscillator; a first multiplexer having inputs coupled to the plurality of clock outputs; a first shift register having a clock input coupled to an output out of the first multiplexer; and a second multiplexer having inputs coupled to outputs of a plurality of registers of the first shift register and an output configured to provide a first timing sequence.
20. The timing sequence generator of claim 19, further comprising: a third multiplexer having inputs coupled to the plurality of clock outputs; and a second shift register comprising a first register having a reset input coupled to an output of one of the plurality of registers of the first shift register and a clock input coupled to an output of the second multiplexer.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The foregoing features and advantages, as well as others, will be described in detail in the rest of the disclosure of specific embodiments given by way of illustration and not limitation with reference to the accompanying drawings, in which:
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0024] Like features have been designated by like references in the various figures. In particular, the structural and/or functional features that are common among the various embodiments may have the same references and may dispose identical structural, dimensional and material properties.
[0025] For the sake of clarity, only the steps and elements that are useful for an understanding of the embodiments described herein have been illustrated and described in detail.
[0026] Unless indicated otherwise, when reference is made to two elements connected together, this signifies a direct connection without any intermediate elements other than conductors, and when reference is made to two elements coupled together, this signifies that these two elements can be connected or they can be coupled via one or more other elements.
[0027] In the following disclosure, unless otherwise specified, when reference is made to absolute positional qualifiers, such as the terms “front”, “back”, “top”, “bottom”, “left”, “right”, etc., or to relative positional qualifiers, such as the terms “above”, “below”, “upper”, “lower”, etc., or to qualifiers of orientation, such as “horizontal”, “vertical”, etc., reference is made to the orientation shown in the figures.
[0028] Unless specified otherwise, the expressions “around”, “approximately”, “substantially” and “in the order of” signify within 10%, and preferably within 5%.
[0029] Some embodiments are directed to a timing sequence generation circuit. In some embodiments, the timing sequence generation circuit is advantageously easy to adjust, may be manufactured with moderate costs, and/or may limit the electric power consumption.
[0030]
[0031] According to the example of
[0032] Oscillator 102 is implemented, for example, by a loop formed of an odd number of logic gates. Even if in the example of
[0033] Output logic signals CK1 to CKN have edges exhibiting time delays with respect to one another, and by selecting one among these signals, it is thus possible to generate an edge with a given time delay.
[0034] Clock signals CK1, CK2, CK3, CKN−1, and CKN are for example coupled to the input of a multiplexer 104 configured to select one or a plurality of signal from among these clock signals. Multiplexer 104 is controlled by a selection signal SEL1 generated by a control unit CMD, 111. The output of multiplexer 104 supplies a clock signal input of a first shift register 110 with a clock signal CK(i) selected from among clock signals CK1 to CKN.
[0035] According to the example of output of the flip-flops. The D data input of the first flip-flop in the series SR1_FLIP_FLOP_1 is for example supplied with a voltage in the high state, noted 1.
[0036] The clock signal input of the first shift register 110 is coupled, for example, to the clock input, noted CK, of each of the flip-flops in the series.
[0037] The output signal of each of the flip-flops is for example coupled to a multiplexer 120 which enables to select one from among the Q output signals of the flip-flops to form an output signal SR1_OUTPUT of shift register 110. In the example of
[0038] In certain embodiments, the output signal of the first flip-flop, noted S1FP1Q, is directed towards a secondary circuit 122.
[0039] The reset inputs (RESET), noted R, of each of flip-flops SR1_FLIP_FLOP_1, SR1_FLIP_FLOP_2, SR1_FLIP_FLOP_3 are for example controlled by control unit CMD. Control unit CMD is for example configured to control these reset inputs so that the resetting of the flip-flops is performed before the starting of the timing sequence generation cycle.
[0040] The selection of one of the clock signals with the multiplexer 104 of the circuit of
[0041] The circuit 100 of
[0042]
[0043] Table 1 illustrates how, based on clock signals CK1, CK2, CK3, CKN−1, and CKN, the order of the clock signals is determined.
TABLE-US-00001 TABLE 1 Clock signal CK1 CK3 CKN CK2 CKN − 1 Signals delayed in CK(0) CK(1) CK(0.5*(N − 1)) CK(0.5*(N − 1) + 1) CK(N − 1) the order and renamed
[0044] According to the example of
[0045]
[0046] To determine the selection to be performed by the multiplexers 104 and 120 of
[0047] It is considered that a timing sequence starts at a time to, and that an edge to be generated is delayed with respect to time to by a time delay DELAY_TO_ACHIEVE.
[0048] A first parameter is the integer number of clock cycles NB_CKCYCLE comprised between time to and the edge of the timing sequence to be generated. Parameter NB_CKCYCLE depends on the number of time steps FINE_STEP of the oscillator forming time delay DELAY_TO_ACHIEVE. To convert time delay DELAY_TO_ACHIEVE, expressed in seconds, into a time delay expressed in number of time steps FINE_STEP, the time delay DELAY_TO_ACHIEVE expressed in seconds is multiplied by the number of logic gates of oscillator 102 and by the frequency of the oscillator expressed in seconds.sup.−1. Parameter NB_CKCYCLE is, for example, calculated by taking the integer portion of the ratio of the time delay DELAY_TO_ACHIEVE expressed in number of equal time steps to the number of logic gates of the oscillator.
[0049] A second parameter is the number NB_FINE_STEP of time steps FINE_STEP of the oscillator which, added to NB_CKCYCLE, is equal or approximately equal to time delay DELAY_TO_ACHIEVE. For example, number NB_FINE_STEP is selected as being that which corresponds to a time delay closest to time delay DELAY_TO_ACHIEVE. Parameter NB_FINE_STEP is for example determined by taking time delay DELAY_TO_ACHIEVE, expressed in number of time steps FINE_STEP, modulo the number N of logic gates of oscillator 102.
[0050] Once these parameters have been determined, for example, by a calculator, multiplexer 104 selects as an output the clock signal with CK(i)=CK(NB_FINE_STEP). Multiplexer 120 selects the output signal of one of the flip-flops which corresponds to NB_CKCYCLE, for example, the output of flip-flop SR1_FLIP_FLOP_1 if NB_CKCYCLE=0, SR1_FLIP_FLOP_2 if NB_CKCYCLE=1, SR1_FLIP_FLOP_3 if NB_CKCYCLE=2 etc.
[0051] In the example of
[0052]
[0053] According to the example of
[0054] According to the example of
[0055] The clock input of flip-flop SR2_FLIP_FLOP1 is coupled to the output of a multiplexer 408. Multiplexer 408 is, for example, configured to be controlled by a selection signal SEL3 generated by the control unit CMD of
[0056] The clock input of the other flip-flops of the second shift register receives, for example, clock signal CK(j).
[0057] According to the example of
[0058] The reset input R of flip-flop SR2_FLIP_FLOP_2 is coupled to a multiplexer 414, controlled by a signal SEL generated by control unit CMD, 111, configured to select a signal from among signal SRESET2 or the signal complementary to the output of flip-flop SR2_FLIP_FLOP_1 noted Q_SR2_FLIP_FLOP_1. The signal complementary to the output of flip-flop SR2_FLIP_FLOP1 is for example generated by an inverter which couples the output of flip-flop SR2_FLIP_FLOP1 to the input of multiplexer 414.
[0059] The output of flip-flop SR2_FLIP_FLOP_2, noted Q_SR2_FLIP_FLOP_2, is for example coupled to the D data input of flip-flop SR2_FLIP_FLOP_3.
[0060] The reset input of flip-flop SR2_FLIP_FLOP_3 receives, for example, signal SRESET2.
[0061] An additional multiplexer, similar to multiplexer 120 and not illustrated in
[0062] In an example, not illustrated, selection devices 408 and 410 may be combined to form a single multiplexer, the control signal of which will be generated by control unit 111 according to the relative values of i and j such as described in the following paragraphs.
[0063] According to the example of
[0064] In certain cases, multiplexer 408 is controlled to perform the selection of signal CK(i+2) instead of CK(j), for example, only when j=i or j=i+1. When j is different from j=i or j=i+1, multiplexer 408 is controlled to perform the selection of signal CK(j).
[0065] In certain cases, multiplexer 412 is controlled, for example, to select the voltage of high state “1” when j=i or j=i+1 or select, for example, signal Q_FLIP_FLOP2 when j is different from i and from i+1.
[0066] In certain cases, multiplexer 414 is controlled to select signal SRESET2 when j is different from i or to select, for example, the signal inverse to output Q_FLIP_FLOP2 when j=i.
[0067] The selections performed by multiplexers 408, 412 or 414 when j=i or j=i+1 enable to avoid functional risks if the delay introduced by the operation of the flip-flops and/or of the multiplexers and/or of the logic gates are close to the value of parameter FINE_STEP.
[0068] In certain cases, the number of logic gates of oscillator 102 is equal to or greater than 5, and the duration between the two edges of the timing sequence is at least 2 FINE_STEP and the number NB_FINE_STEP selected for the first edge implies that the output of flip-flop Q_SR2_FLIP_FLOP_X, which would be selected at the level of the second shift register, is at zero. In these cases, the flip-flop selected at the level of the second shift register is for example the next flip-flop Q_SR2_FLIP_FLOP_X+1. This helps avoid functional problems due to the high frequencies used.
[0069]
[0070]
[0071]
[0072]
[0073]
[0074] In certain cases, steps 602 and 604 are carried out prior to the method of
[0075] At a step 608 (FIRST SHIFT REGISTER CLOCK SELECTION CK(i) BASED ON NB_FINE_STEP CALCULATION) carried out after step 606, multiplexer 104 is controlled to select the clock signal as indicated in the example of
[0076] At a step 612 (TIME SEQUENCE GENERATION BASED ON NB_FINE_STEP AND ON CK(i)), the timing sequence having an edge is generated from the clock signal selected at step 608 by multiplexer 104, and from the output signal of the flip-flop selected at step 610.
[0077]
[0078] At a step 702 (SECOND SHIFT REGISTER CLOCK SELECTION CK(j) BASED ON NB_FINE_STEP AND (i) AND NUMBER OF INVERTERS OF OSCILLATOR), clock signal (j) is selected as explained in the example of
[0079]
[0080] In the example of
[0081] In the example of
[0082] In an example, not illustrated, a buffer is, for example, arranged in series between the Q output of flip-flop SR1_FLIP_FLOP_1 and input ‘1’ of selection device 802 and/or another buffer is for example arranged in series between the Q output of flip-flop SR1_FLIP_FLOP_2 and input “1” of selection device 804.
[0083] The general operation of the circuit of the example of
[0084] In the example of
[0085] In an example of operation, not illustrated, of the circuit of
[0086] Various embodiments and variants have been described. Those skilled in the art will understand that certain features of these various embodiments and variants may be combined, and other variants will occur to those skilled in the art. In particular, the signals generated in the example of
[0087] Those skilled in the art will be capable of adapting the type of D flip-flop according to the circuit. For example, the inverters of secondary circuit 122 are omitted in the case where D flip-flops with a low active reset signal are used to implement flip-flops SR2_FLIP_FLOP_1, SR2_FLIP_FLOP_2, and SR2_FLIP_FLOP_3. In another example, scanning D flip-flops are used to implement flip-flops SR2_FLIP_FLOP_1, SR2_FLIP_FLOP_2, and SR2_FLIP_FLOP_3, with the scanning function deactivated. In still another example, reset flip-flops with a high level and with a reset state which is high “1” for the Q output may be used. In this case, those skilled in the art may use the output if it is available or insert an inverter after the Q output. In the case where flip-flops with a low active reset signal and with an output state having a high state “1” are used, the complementary of the output should be used or generated and the inverters of secondary circuit 122 should be removed.
[0088] In secondary circuit 122, those skilled in the art may couple signal S1FP1Q to the D input of flip-flop SR2_FLIP_FLOP1 instead of the R input.
[0089] Finally, the practical implementation of the described embodiments and variations is within the abilities of those skilled in the art based on the functional indications given hereabove.