WO2023056709A1 - 流水线时钟驱动电路、计算芯片、算力板和计算设备 - Google Patents
流水线时钟驱动电路、计算芯片、算力板和计算设备 Download PDFInfo
- Publication number
- WO2023056709A1 WO2023056709A1 PCT/CN2021/140016 CN2021140016W WO2023056709A1 WO 2023056709 A1 WO2023056709 A1 WO 2023056709A1 CN 2021140016 W CN2021140016 W CN 2021140016W WO 2023056709 A1 WO2023056709 A1 WO 2023056709A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- clock
- driving circuit
- signal
- pipeline
- clock driving
- Prior art date
Links
- 230000003111 delayed effect Effects 0.000 claims abstract description 16
- 230000000630 rising effect Effects 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 12
- 239000013256 coordination polymer Substances 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
Definitions
- the present disclosure relates to circuits for performing hash algorithms. More specifically, it relates to a pipeline clock drive circuit, and a computing chip, a hash board and a computing device including the pipeline clock drive circuit.
- a mining machine chip used to generate cryptocurrency usually adopts a pipeline structure including multiple computing stages.
- the operation logic is divided into several operation stages, each of which has a similar function design and operation structure.
- the latch in each operation stage requires an operating clock (ie, a pulse clock). Therefore, for each computing stage, a pulse clock is input to it through the corresponding primary clock driving circuit.
- the working clock for each operation stage comes from the same clock source, and the clock signal generated by the clock source is transmitted stage by stage through the pipeline clock driving circuit.
- the basic principle of generating the working clock for the latch for each operation stage is to input both the input clock signal of the clock drive circuit of this stage and the delayed input clock signal to the gate circuit (such as NOR gate, NAND gate etc.) to generate a pulse clock, wherein the delayed input clock signal is generated after the input clock signal passes through the delay module.
- the width of the pulse clock is basically determined by the delay time of the delay module.
- the width of the pulse clock needs to meet the minimum pulse width requirements of the pipeline. That is, when the pulse clock is valid, the state (high level or low level) of the input clock signal of the clock driving circuit of this stage needs to remain unchanged, so as to maintain the state of the generated pulse clock for a time above the minimum pulse width. Therefore, the duty cycle of the input clock signal of each stage of the clock driving circuit needs to meet certain requirements.
- One of the objects of the present disclosure is to provide an improved pipeline clock driving circuit.
- a pipeline clock driving circuit which is used to provide a pulse clock signal for a pipeline including multiple operation stages.
- the pipeline clock driving circuit includes: a multi-stage clock driving circuit, wherein each stage clock The driving circuit is used to provide a pulsed clock signal for a corresponding one of the multiple operation stages of the pipeline; and a clock source, coupled to the input of the first-stage clock drive circuit, is used to provide a basic clock signal, wherein the multi-stage clock
- the inputs of the clock driving circuits at other levels except the first-level clock driving circuit are coupled to the output of the upper-level clock driving circuit, and each level of clock driving circuit includes: a flip-flop coupled to the clock of the current level The input of the drive circuit; the delay module, coupled to the output of the flip-flop, the delay module is used to delay the pulse signal output by the flip-flop, feed back the delayed pulse signal to the flip-flop and output it to the next A level clock drive circuit; and a combinatorial logic module, coupled
- a computing chip which includes one or more pipeline clock driving circuits as described above.
- a hashboard which includes one or more computing chips as described above.
- a computing device which includes one or more hash boards as described above.
- FIG. 1 shows a schematic diagram of a related art pipeline clock driving circuit.
- FIG. 2A shows a schematic diagram of a pipeline clock driving circuit according to some embodiments of the present disclosure.
- FIG. 2B shows a timing diagram of pulsed clock signals generated by the pipeline clock driving circuit according to some embodiments of the present disclosure.
- FIG. 3A shows a schematic diagram of a pipeline clock driving circuit according to other embodiments of the present disclosure.
- FIG. 3B shows a timing diagram of a pulse clock signal generated by a pipeline clock driving circuit according to other embodiments of the present disclosure.
- Fig. 4 shows a schematic diagram of a pipeline clock driving circuit according to some other embodiments of the present disclosure.
- FIG. 1 shows a schematic diagram of a related art pipeline clock driving circuit 100 .
- the pipeline clock driving circuit 100 is used to provide a pulse clock signal for the pipeline 101 including a plurality of operation stages 101-1, . . . , 101-(N-1), 101-N.
- the pipeline clock driving circuit 100 includes a clock source 110 and multi-stage clock driving circuits 120 - 1 , 120 - 2 , . . . , 120 -N.
- the clock source 110 is coupled to the input of the first-stage clock driving circuit 120-1 for providing a basic clock signal.
- Each stage of clock driving circuits in the multi-stage clock driving circuits 120-1, 120-2, ..., 120-N is used to provide multiple operation stages 101-N, 101-(N-1), ..., 101- A corresponding one of the arithmetic stages in 1 provides a pulse clock signal.
- each stage of clock driving circuits 120-1, 120-2, ..., 120-N includes delay modules 130-1, 130-2, ..., 130-N and combinational logic modules 140-1, 140-2, ..., 140-N (such as NOR gate, NAND gate, etc.).
- the delay modules 130-1, 130-2, . . . , 130-N are used to delay the input clock signals of the clock driving circuits 120-1, 120-2, . . . , 120-N.
- Combination logic modules 140-1, 140-2, ..., 140-N are used for input clock signals to the clock driving circuits 120-1, 120-2, ..., 120-N of the stage and the delay modules 130-1, 130-2, ..., 130-N delays the input clock signal to perform logical operations (such as NOR, NAND, etc.), and outputs the result of the operation as the output pulse clock signal of the clock drive circuit 120-1, 120-2,..., 120-N, For supplying to a corresponding one of the operation stages 101-N, 101-(N-1), . . . , 101-1 of the pipeline 101.
- logical operations such as NOR, NAND, etc.
- the basic clock signal generated by the clock source has a duty cycle of 0.5.
- the duty cycle will get worse and worse.
- the main reason for the deterioration of the duty cycle of the clock signal is the accumulation of manufacturing errors of combinational logic devices.
- combinational logic devices such as buffers and inverters. Due to the manufacturing process, there is an error in the performance parameters of these combinational logic devices, and this error makes the clock duty cycle deviate.
- the influence caused by the parameter error of the combinational logic device in the clock driving circuit of each level is continuously accumulated, so the deviation of the clock duty cycle gradually increases. Therefore, the farther away from the clock source the worse the duty cycle of the input clock signal of the clock driving circuit, the worse the pulse clock generated accordingly, so that it may not be able to meet the minimum pulse width requirement of the corresponding operation stage.
- the duty cycle of the clock signal will deviate.
- this deviation of the duty cycle will gradually accumulate, making the farther away from the clock source 110
- the present disclosure proposes an improved pipeline clock driving circuit, wherein the pulse width of the pulse clock signal generated by the clock driving circuit at each stage has nothing to do with its input clock signal.
- FIG. 2A shows a schematic diagram of a pipeline clock driving circuit 200 according to some embodiments of the present disclosure.
- FIG. 2B shows a timing diagram of pulsed clock signals generated by the pipeline clock driving circuit 200 according to some embodiments of the present disclosure.
- the pipeline clock driving circuit 200 is used to provide a pulse clock signal for the pipeline 201 including a plurality of operation stages 201-1, . . . , 201-N.
- the pipeline clock driving circuit 200 includes a clock source 210 and multi-stage clock driving circuits 220 - 1 , . . . , 220 -N.
- the clock source 210 is coupled to the input of the first-stage clock driving circuit 220-1 for providing a basic clock signal.
- the duty ratio of the basic clock signal provided by the clock source 210 may be 0.5, and the frequency may be several hundred megahertz, for example, 400-700MHz.
- the inputs of the clock driving circuits at other levels except the first-level clock driving circuit 220-1 are coupled to the output of the upper-level clock driving circuit, and each The stage clock driving circuits 220 - 1 , .
- each stage of clock driving circuits 220-1,..., 220-N includes flip-flops 230-1,..., 230-N, delay modules 240-1,..., 240-N and combinational logic modules 250-1, ..., 250-N.
- the flip-flops 230-1, . . . , 230-N are coupled to the input of the clock driving circuit of the present stage. That is, the flip-flop 230-1 in the first-stage clock driving circuit 220-1 is coupled to the output of the clock source 210, while the flip-flops in the other stages of clock driving circuits are coupled to the output of the upper-stage clock driving circuit.
- the flip-flops 230-1, . . . , 230-N may be edge triggers.
- the type and connection mode of the flip-flops 230-1, . . . , 230-N can be configured as required.
- FIG. 2A An embodiment of flip-flops 230 - 1 , . . . , 230 -N as rising-edge D flip-flops is shown in FIG. 2A .
- the SET terminals of the flip-flops 230-1, ..., 230-N are coupled to the outputs of the delay modules 240-1, ..., 240-N, and the D terminals are fixed at low level (ie logic "0")
- the CP terminal is coupled to the output of the upper clock drive circuit
- the output terminal Q is coupled to the delay modules 240-1, . . . , 240-N as their input.
- the flip-flops 230-1, . . . , 230-N may be, for example, falling-edge flip-flops, and their connection manners may also be adjusted accordingly (details will be described in the embodiment shown in FIG. 3A below).
- the inputs of the delay blocks 240-1, . . . , 240-N are coupled to the outputs of the flip-flops 230-1, . . . , 230-N.
- the delay modules 240-1,...,240-N are used to delay the pulse signals output by the flip-flops 230-1,...,230-N, and feed back the delayed pulse signals to the flip-flops 230-1,... , 230-N and output to the next-level clock drive circuit.
- the delay modules 240-1, . . . , 240-N also invert the pulse signals output by the flip-flops 230-1, . . . , 230-N.
- the delay modules 240 - 1 , . . . , 240 -N can be realized by several buffers and/or inverters.
- the delay modules 240 - 1 , . . . , 240 -N may be composed of an odd number of inverters.
- the delay modules 240-1, . . . , 240-N may be composed of several buffers and an odd number of inverters.
- Combinational logic blocks 250-1, . . . , 250-N are coupled to the outputs of flip-flops 230-1, .
- Combination logic modules 250-1, ..., 250-N perform pulse signals output by flip-flops 230-1, ..., 230-N and delayed pulse signals output by delay modules 240-1, ..., 240-N
- the logic operations are combined to generate a pulsed clock signal to be provided to a corresponding one of the operation stages 201-N, . . . , 201-1 of the pipeline 201.
- the combinational logic modules 250-1,...,250-N can be composed of OR gates or OR A NOT gate is formed.
- the combinational logic modules 250-1, . . . , 250-N may be composed of AND gates or NAND gates (details will be described in the embodiment shown in FIG. 3A below).
- the direction in which the pulse signal is transmitted in the multi-stage clock driving circuit 220-1,..., 220-N is the same as that of the data signal in the multiple operation stages 201-1, ..., the direction passed in 201-N is reversed. That is, the first-stage clock driving circuit 220-1 is used to provide a pulse clock signal for the last computing stage 201-N, and the last-stage clock driving circuit 220-N is used to provide a pulse clock signal for the first computing stage 201-1 signal, and so on.
- Such an arrangement can more easily meet the requirements of the operation timing of each operation stage 201-1, . . . , 201-N.
- the timing of generating the pulse clock signal is described below by taking the first-stage clock driving circuit 220 - 1 as an example.
- the CP end of the flip-flop 230-1 receives the basic clock signal S201 from the clock source 210 as an input signal (correspondingly, the CP ends of the flip-flops of the following stages receive the output signal from the output of the delay module in the previous stage clock drive circuit respectively. S203 as the input signal), and the pulse signal S202 is provided at the output terminal Q to one input terminal of the delay module 240-1 and the combinational logic module 250-1 (NOR gate in this embodiment).
- the delay module 240-1 inverts and delays the pulse signal S202 to obtain the output signal S203, and provides the output signal S203 to the SET terminal of the flip-flop 230-1 and the other input terminal of the combinational logic module 250-1 respectively , and provide an input signal for the next-level clock drive circuit.
- the pulse signal S202 at the output terminal Q of the flip-flop 230-1 will be stable at a high level.
- the output signal S203 of the delay module 240-1 is stable at a low level, that is, the SET terminal of the flip-flop 230-1 is at a low level, and the input signal of the clock driving circuit of the next stage is also at a low level (similar to the first Corresponding to the input signal S201 of the primary clock driving circuit 220-1). Therefore, the input signals of the combinatorial logic module 250 - 1 (NOR gate) are respectively high level ( S202 ) and low level ( S203 ), and the output pulse clock signal S204 is low level.
- the clock source 210 starts to output the basic clock signal S201.
- the period of the basic clock signal S201 is T.
- the signal S201 changes from low level to high level
- the rising edge of the signal at the CP terminal of flip-flop 230-1 arrives, and the signal at the SET terminal (S203) is still at low level, so that flip-flop 230-1
- the signal S202 of the output terminal Q of 1 becomes the signal value of the D terminal, that is, low level. Therefore, the input signals of the combinational logic module 250 - 1 (NOR gate) are low level ( S202 ) and low level ( S203 ), respectively, and the pulse clock signal S204 outputted by it becomes high level.
- t 0 is the delay between the signal S203 and the signal S202, which is determined by the configuration of the delay module 240-1. In the embodiment shown in FIG. 2A , t 0 is the sum of delay times of multiple inverters in the delay module 240 - 1 .
- the SET terminal of the flip-flop 230-1 becomes high level, so that the signal S202 of the output terminal Q of the flip-flop 230-1 becomes high level.
- the input signals of the combinatorial logic module 250 - 1 are high level ( S202 ) and high level ( S203 ), respectively, and the pulse clock signal S204 outputted by it becomes low level.
- the output signal S203 of the delay module 240-1 becomes low level.
- the SET terminal of the flip-flop 230-1 becomes low level, but there is no signal rising edge coming at the CP terminal, so the signal S202 of the output terminal Q of the flip-flop 230-1 remains is high level.
- the input signals of the combinatorial logic module 250 - 1 are high level ( S202 ) and low level ( S203 ), respectively, and the output pulse clock signal S204 is still low level.
- the output signal S203 of the delay module 240-1 becomes high level.
- the SET terminal of the flip-flop 230-1 becomes high level, so that the signal S202 of the output terminal Q of the flip-flop 230-1 becomes high level.
- the pulse clock signal S204 at the output terminal of the combinational logic module 250-1 becomes low level.
- the output signal S203 of the delay module 240-1 becomes low level.
- the signal S202 at the output terminal Q of the flip-flop 230 - 1 remains at a high level
- the pulse clock signal S204 at the output terminal of the combinational logic module 250 - 1 remains at a low level.
- a pulse clock signal S204 with period T and pulse width t0 is generated at the output terminal of the combinational logic module 250-1.
- the pulsed clock signal S204 is provided to the corresponding operation stage 201-N as an operating clock.
- the output signal S203 is generated at the output terminal of the delay module 240-1, and the output signal S203 is simultaneously used as the input signal of the next-stage clock driving circuit (equivalent to the input signal S201 of the first-stage clock driving circuit 220-1) .
- the rising edge of the output signal S203 is used to trigger the flip-flop of the clock driving circuit of the next stage. As shown in FIG. 2B , the rising edge of the output signal S203 is delayed by t 0 from the rising edge of the input signal S201 . Similarly, the rising edge of the output signal generated by each stage of the clock driving circuit is delayed by t 0 from the rising edge of the input signal of the clock driving circuit, which meets the working requirements of each operation stage of the pipeline.
- the pulse width t 0 of the pulse clock signal generated by the clock driving circuit of each stage is only determined by the configuration of the clock driving circuit of this stage, and has nothing to do with the input signal of the clock driving circuit of this stage.
- the manufacturing errors of the combinational logic devices in the clock driving circuits at all levels may still cause deviations in the pulse widths of the input signals and output signals at all levels
- the pulse width of the pulse clock signals generated by each level of clock driving circuits is different from that of the input signals.
- the pulse width is independent, so this deviation in pulse width does not accumulate as the signal passes through the stages of the clock driver circuit.
- the possible deviation of the pulse width of the pulse clock signal generated by each level of clock driving circuit has nothing to do with the possible manufacturing errors of the combinational logic devices in the previous levels of clock driving circuits, but only with this level of clock driving circuit related to possible manufacturing errors of combinational logic devices in .
- Such manufacturing tolerances are usually small, and thus the resulting pulse width deviation is acceptable.
- FIG. 3A shows a schematic diagram of a pipeline clock driving circuit 300 according to other embodiments of the present disclosure.
- FIG. 3B shows a timing diagram of pulsed clock signals generated by the pipeline clock driving circuit 300 according to other embodiments of the present disclosure.
- the pipeline clock driving circuit 300 is used to provide a pulse clock signal for the pipeline 301 including a plurality of operation stages 301-1, . . . , 301-N. As shown in FIG. 3A , the pipeline clock driving circuit 300 includes a clock source 310 and multi-stage clock driving circuits 320 - 1 , . . . , 320 -N.
- the clock source 310 is coupled to the input of the first-stage clock driving circuit 320-1 for providing a basic clock signal.
- the inputs of the clock driving circuits at other levels except the first-level clock driving circuit 320-1 are coupled to the output of the upper-level clock driving circuit, and each The stage clock driving circuits 320 - 1 , .
- each stage of clock driving circuits 320-1,...,320-N includes flip-flops 330-1,...,330-N, delay modules 340-1,...,340-N and combinational logic modules 350-1, ..., 350-N.
- the flip-flops 330-1, . . . , 330-N are coupled to the input of the clock driving circuit of the present stage. That is, the flip-flop 330-1 in the first-stage clock driving circuit 320-1 is coupled to the output of the clock source 310, while the flip-flops in the other stages of clock driving circuits are coupled to the output of the upper-stage clock driving circuit.
- FIG. 3A An embodiment of flip-flops 330 - 1 , . . . , 330 -N as falling edge D flip-flops is shown in FIG. 3A .
- the RESET terminals of the flip-flops 330-1,..., 330-N are coupled to the outputs of the delay modules 340-1,..., 340-N, and the D terminals are fixed at a high level (ie logic "1")
- the CPN terminal is coupled to the output of the upper-level clock drive circuit
- the output terminal Q is coupled to the delay modules 340-1, . . . , 340-N as its input.
- the RESET terminal signal of the falling edge D flip-flop is low level, the output terminal Q is always low level.
- the signal at the RESET terminal is at a high level, whenever the falling edge of the signal at the CPN terminal arrives, the output terminal Q becomes the signal value at the D terminal.
- the inputs of the delay blocks 340-1, . . . , 340-N are coupled to the outputs of the flip-flops 330-1, . . . , 330-N.
- the delay modules 340-1,...,340-N are used to delay the pulse signals output by the flip-flops 330-1,...,330-N, and feed back the delayed pulse signals to the flip-flops 330-1,... , 330-N and output to the next level of clock drive circuit.
- the delay modules 340-1, . . . , 340-N also invert the pulse signals output by the flip-flops 330-1, . . . , 330-N.
- the delay modules 340 - 1 , . . . , 340 -N may be composed of an odd number of inverters.
- Combinational logic modules 350-1,...,350-N are coupled to the outputs of flip-flops 330-1,...,330-N and delay modules 340-1,...,340-N.
- Combination logic modules 350-1,...,350-N perform pulse signals output by flip-flops 330-1,...,330-N and delayed pulse signals output by delay modules 340-1,...,340-N
- the logic operations are combined to generate a pulse clock signal to be provided to a corresponding one of the operation stages 301-N, . . . , 301-1 of the pipeline 301.
- the combinational logic modules 350-1,...,350-N can be formed by NAND gates .
- the timing of generating the pulse clock signal is described below by taking the first-stage clock driving circuit 320 - 1 as an example.
- the CPN end of the flip-flop 330-1 receives the basic clock signal S301 from the clock source 310 as an input signal (correspondingly, the CPN ends of the flip-flops of the following stages receive the output signal from the output of the delay module in the previous stage of clock drive circuit respectively. S303 as the input signal), and the pulse signal S302 is provided at the output terminal Q to one input terminal of the delay module 340-1 and the combinational logic module 350-1 (in this embodiment, a NAND gate).
- the delay module 340-1 inverts and delays the pulse signal S302 to obtain the output signal S303, and provides the output signal S303 to the RESET terminal of the flip-flop 330-1 and the other input terminal of the combinational logic module 350-1 respectively , and provide an input signal for the next-level clock drive circuit.
- the pulse signal S302 at the output terminal Q of the flip-flop 330-1 will be stable at a low level.
- the output signal S303 of the delay module 340-1 is stable at a high level, that is, the RESET terminal of the flip-flop 330-1 is at a high level, and the input signal of the next-level clock drive circuit is also at a high level (similar to the first Corresponding to the input signal S301 of the primary clock driving circuit 320-1). Therefore, the input signals of the combinatorial logic module 350 - 1 (NAND gate) are respectively low level ( S302 ) and high level ( S303 ), and the pulse clock signal S304 outputted by it is high level.
- the clock source 310 starts to output the basic clock signal S301.
- the period of the basic clock signal S301 is T.
- the signal S301 changes from high level to low level
- the falling edge of the signal at the CPN terminal of flip-flop 330-1 arrives, and the signal at the RESET terminal (S303) is still at high level, so that flip-flop 330-1
- the signal S302 at the output terminal Q of 1 changes to the signal value at the D terminal, that is, a high level. Therefore, the input signals of the combinatorial logic module 350 - 1 (NAND gate) are respectively high level ( S302 ) and high level ( S303 ), and the pulse clock signal S304 outputted by it becomes low level.
- t 0 is the delay between the signal S303 and the signal S302, which is determined by the configuration of the delay module 340-1. In the embodiment shown in FIG. 3A , t 0 is the sum of delay times of multiple inverters in the delay module 340 - 1 .
- the RESET terminal of the flip-flop 330-1 becomes low level, so that the signal S302 of the output terminal Q of the flip-flop 330-1 becomes low level.
- the input signals of the combinational logic module 350 - 1 are low level ( S302 ) and low level ( S303 ), respectively, and the pulse clock signal S304 outputted by it becomes high level.
- the output signal S303 of the delay module 340-1 becomes high level.
- the RESET terminal of the flip-flop 330-1 becomes high level, but there is no signal rising edge coming at the CPN terminal, so the signal S302 of the output terminal Q of the flip-flop 330-1 remains is low level.
- the input signals of the combinatorial logic module 350 - 1 are low level ( S302 ) and high level ( S303 ), respectively, and the pulse clock signal S304 outputted by it is still high level.
- the output signal S303 of the delay module 340-1 becomes low level.
- the RESET terminal of the flip-flop 330-1 becomes low level, so that the signal S302 of the output terminal Q of the flip-flop 330-1 becomes low level.
- the pulse clock signal S304 at the output terminal of the combinational logic module 350-1 becomes high level.
- the output signal S303 of the delay module 340-1 becomes high level.
- the signal S302 at the output terminal Q of the flip-flop 330 - 1 remains at a low level
- the pulse clock signal S304 at the output terminal of the combinational logic module 350 - 1 remains at a high level.
- a pulse clock signal S304 with period T and pulse width t0 is generated at the output terminal of the combinational logic module 350-1.
- the pulsed clock signal S304 is provided to the corresponding operation stage 301-N as an operating clock.
- the output signal S303 is generated at the output terminal of the delay module 340-1, and the output signal S303 is also used as the input signal of the next-stage clock driving circuit (equivalent to the input signal S301 of the first-stage clock driving circuit 320-1) .
- the falling edge of the output signal S303 is used to trigger the flip-flop of the clock driving circuit of the next stage. As shown in FIG. 3B , the falling edge of the output signal S303 is delayed by t 0 from the falling edge of the input signal S301 . Similarly, the falling edge of the output signal generated by each stage of the clock driving circuit is delayed by t 0 from the falling edge of the input signal of the clock driving circuit, which meets the working requirements of each operation stage of the pipeline.
- the pulse width of the pulse clock generated by the pipeline clock driving circuit according to the present disclosure is determined by the time t0 delayed by the delay module.
- the delay module is composed of an inverter. The larger the number of inverters, the larger the pulse width of the generated pulse clock signal, and the lower the operating frequency of the pipeline. In engineering practice, it is generally desired to make the operating frequency of the pipeline as high as possible under the condition that the pulse width of the pulse clock can meet the requirements. For this reason, the present disclosure provides a further improved pipeline clock driving circuit, wherein the number of inverters constituting the delay module can be flexibly adjusted.
- FIG. 4 shows a schematic diagram of a pipeline clock driving circuit 400 according to still other embodiments of the present disclosure.
- the pipeline clock driving circuit 400 is used to provide a pulse clock signal for the pipeline. As shown in FIG. 4 , the pipeline clock driving circuit 400 includes a clock source 410 and a multi-stage clock driving circuit.
- the first-stage clock driving circuit 420-1 is used to provide a pulse clock signal for the last-stage operation stage 401-N of the pipeline.
- the first stage clock driving circuit 420-1 includes a flip-flop 430-1, a delay module 440-1 and a combinational logic module 450-1.
- the configuration mode of the flip-flop 430-1, the delay module 440-1 and the combinational logic module 450-1 is similar to the embodiment shown in FIG. 2A, and the timing of generating the pulse clock signal is similar to the timing shown in FIG. 2B. I won't repeat them here.
- the delay module 440 - 1 is composed of multiple inverters and one or more data selectors.
- the data selector is configured such that a plurality of inverters form a plurality of signal paths, and the number of inverters in each signal path is an odd number.
- the delay module 440-1 is composed of seven inverters and three data selectors, which form four signal paths, and these four signal paths include one, three, five and Seven inverters. Therefore, in the embodiment shown in FIG. 4, by switching the states of the three data selectors, the generated clock pulse signals can have four different pulse widths (that is, corresponding to one, three, and five pulse widths respectively). and the sum of the delay times of the seven inverters).
- the state of the data selector can be changed flexibly and conveniently according to the actual pulse width requirement, so that the operating frequency of the pipeline can be as high as possible, thereby improving the working efficiency of the chip.
- the configuration of the delay module 440-1 shown in FIG. 4 is only an example.
- the delay module 440-1 can be composed of any appropriate number of inverters and data selectors in any appropriate configuration to form multiple signal paths, so that each signal path includes an appropriate number of inverter.
- the number of inverters in each signal path is different.
- arithmetic circuit can be realized in various appropriate ways such as software, hardware, a combination of software and hardware.
- a computing chip may include one or more pipeline clock driving circuits described above.
- a hash board may include one or more computing chips.
- a computing device may include one or more hashboards. Multiple hash boards can perform computing tasks in parallel.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Power Sources (AREA)
- Pulse Circuits (AREA)
Abstract
Description
Claims (12)
- 一种流水线时钟驱动电路,用于为包括多个运算级的流水线提供脉冲时钟信号,其中所述流水线时钟驱动电路包括:多级时钟驱动电路,其中每一级时钟驱动电路用于为流水线的多个运算级中的相应一个运算级提供脉冲时钟信号;以及时钟源,耦合到第一级时钟驱动电路的输入,用于提供基本时钟信号,其中所述多级时钟驱动电路中的除第一级时钟驱动电路以外的其他各级时钟驱动电路的输入耦合到上一级时钟驱动电路的输出,并且其中每一级时钟驱动电路包括:触发器,耦合到本级时钟驱动电路的输入;延时模块,耦合到触发器的输出,所述延时模块用于对触发器输出的脉冲信号进行延时,将延时后的脉冲信号反馈到触发器并输出到下一级时钟驱动电路;以及组合逻辑模块,耦合到触发器和延时模块的输出,所述组合逻辑模块被配置为对触发器输出的脉冲信号和延时模块输出的延时后的脉冲信号进行组合逻辑运算来产生脉冲时钟信号以提供到流水线的相应一个运算级。
- 如权利要求1所述的流水线时钟驱动电路,其中所述触发器是上升沿触发器。
- 如权利要求2所述的流水线时钟驱动电路,其中所述组合逻辑模块是或门或者或非门。
- 如权利要求1所述的流水线时钟驱动电路,其中所述触发器是下降沿触发器。
- 如权利要求4所述的流水线时钟驱动电路,其中所述组合逻辑模块是与门或者与非门。
- 如权利要求1-5中任一项所述的流水线时钟驱动电路,其中所述延时模块由奇数个反相器构成。
- 如权利要求1-5中任一项所述的流水线时钟驱动电路,其中所述延时模块由多个反相器和一个或多个数据选择器构成,其中所述一个或多个数据选择器被配置为使得所述多个反相器形成多条信号通路,并且每条信号 通路中的反相器的数量均为奇数。
- 如权利要求7所述的流水线时钟驱动电路,其中所述每条信号通路中的反相器的数量均不同。
- 如权利要求1-5中任一项所述的流水线时钟驱动电路,其中脉冲信号在所述多级时钟驱动电路中传递的方向与数据信号在流水线的所述多个运算级中传递的方向相反。
- 一种计算芯片,其中包括一个或多个如权利要求1-9中任一项所述的流水线时钟驱动电路。
- 一种算力板,其中包括一个或多个如权利要求10所述的计算芯片。
- 一种计算设备,其中包括一个或多个如权利要求11所述的算力板。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020237015561A KR102575572B1 (ko) | 2021-10-09 | 2021-12-21 | 파이프라인 클럭 구동회로, 계산 칩, 계산 보드 및 계산 장치 |
US17/795,777 US20240313753A1 (en) | 2021-10-09 | 2021-12-21 | Pipeline clock driving circuit, computing chip, hashboard and computing device |
CA3165378A CA3165378A1 (en) | 2021-10-09 | 2021-12-21 | Pipeline clock driving circuit, computing chip, hashboard and computing device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111174118.2 | 2021-10-09 | ||
CN202111174118.2A CN113608575B (zh) | 2021-10-09 | 2021-10-09 | 流水线时钟驱动电路、计算芯片、算力板和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023056709A1 true WO2023056709A1 (zh) | 2023-04-13 |
Family
ID=78343409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/140016 WO2023056709A1 (zh) | 2021-10-09 | 2021-12-21 | 流水线时钟驱动电路、计算芯片、算力板和计算设备 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN113608575B (zh) |
TW (1) | TWI784864B (zh) |
WO (1) | WO2023056709A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737651A (zh) * | 2023-06-27 | 2023-09-12 | 无锡中微亿芯有限公司 | 一种低功耗的存算架构fpga |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081370B (zh) * | 2022-06-27 | 2024-10-01 | 东科半导体(安徽)股份有限公司 | 可灵活配置驱动能力的驱动单元 |
CN115543016B (zh) * | 2022-11-30 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 一种时钟架构及处理模组 |
CN116088635A (zh) * | 2023-02-02 | 2023-05-09 | 深圳比特微电子科技有限公司 | 流水线时钟驱动电路、计算芯片、算力板和计算设备 |
CN118520837A (zh) * | 2023-02-17 | 2024-08-20 | 华为技术有限公司 | 芯粒和电子设备 |
CN116938198B (zh) * | 2023-07-20 | 2024-06-21 | 上海奎芯集成电路设计有限公司 | 脉冲上升下降沿延迟电路及脉冲上升下降沿延迟芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6323688B1 (en) * | 1999-03-08 | 2001-11-27 | Elbrus International Limited | Efficient half-cycle clocking scheme for self-reset circuit |
CN111404550A (zh) * | 2019-01-03 | 2020-07-10 | 无锡华润上华科技有限公司 | 模数转换器及其时钟产生电路 |
CN112422116A (zh) * | 2019-08-23 | 2021-02-26 | 长鑫存储技术有限公司 | 多级驱动数据传输电路及数据传输方法 |
TW202131632A (zh) * | 2020-06-22 | 2021-08-16 | 大陸商深圳比特微電子科技有限公司 | 時鐘電路系統、計算晶片、算力板和資料處理設備 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539337A (en) * | 1994-12-30 | 1996-07-23 | Intel Corporation | Clock noise filter for integrated circuits |
CN101446843A (zh) * | 2008-12-30 | 2009-06-03 | 北京中星微电子有限公司 | 一种高频时钟发生器、时钟频率转换方法以及一种芯片 |
CN104021246B (zh) * | 2014-05-28 | 2017-02-15 | 复旦大学 | 一种应用于低功耗容错电路的自适应长度预测器 |
US9590602B2 (en) * | 2014-06-13 | 2017-03-07 | Stmicroelectronics International N.V. | System and method for a pulse generator |
CN109120257B (zh) * | 2018-08-03 | 2020-06-12 | 中国电子科技集团公司第二十四研究所 | 一种低抖动分频时钟电路 |
CN111510137A (zh) * | 2020-06-04 | 2020-08-07 | 深圳比特微电子科技有限公司 | 时钟电路、计算芯片、算力板和数字货币挖矿机 |
CN212160484U (zh) * | 2020-06-22 | 2020-12-15 | 深圳比特微电子科技有限公司 | 时钟电路系统、计算芯片、算力板和数字货币挖矿机 |
CN111651403B (zh) * | 2020-07-16 | 2024-10-01 | 深圳比特微电子科技有限公司 | 时钟树、哈希引擎、计算芯片、算力板和计算设备 |
-
2021
- 2021-10-09 CN CN202111174118.2A patent/CN113608575B/zh active Active
- 2021-12-21 WO PCT/CN2021/140016 patent/WO2023056709A1/zh active Application Filing
-
2022
- 2022-01-11 TW TW111101136A patent/TWI784864B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6323688B1 (en) * | 1999-03-08 | 2001-11-27 | Elbrus International Limited | Efficient half-cycle clocking scheme for self-reset circuit |
CN111404550A (zh) * | 2019-01-03 | 2020-07-10 | 无锡华润上华科技有限公司 | 模数转换器及其时钟产生电路 |
CN112422116A (zh) * | 2019-08-23 | 2021-02-26 | 长鑫存储技术有限公司 | 多级驱动数据传输电路及数据传输方法 |
TW202131632A (zh) * | 2020-06-22 | 2021-08-16 | 大陸商深圳比特微電子科技有限公司 | 時鐘電路系統、計算晶片、算力板和資料處理設備 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737651A (zh) * | 2023-06-27 | 2023-09-12 | 无锡中微亿芯有限公司 | 一种低功耗的存算架构fpga |
Also Published As
Publication number | Publication date |
---|---|
CN113608575B (zh) | 2022-02-08 |
CN113608575A (zh) | 2021-11-05 |
TWI784864B (zh) | 2022-11-21 |
TW202230074A (zh) | 2022-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023056709A1 (zh) | 流水线时钟驱动电路、计算芯片、算力板和计算设备 | |
TWI784457B (zh) | 時鐘電路系統、計算晶片、算力板和資料處理設備 | |
US6771100B2 (en) | Clock control circuit | |
WO2024160037A1 (zh) | 流水线时钟驱动电路、计算芯片、算力板和计算设备 | |
CN102664623B (zh) | 数字延迟装置 | |
CN101213749A (zh) | 多位可编程分频器 | |
TW202139027A (zh) | 時鐘樹電路、哈希引擎、計算晶片、算力板和資料處理設備 | |
US9287854B2 (en) | Pulse stretching circuit and method | |
US10009027B2 (en) | Three state latch | |
JP2002208844A (ja) | グリッチ除去回路 | |
US20230236622A1 (en) | Clock circuits, computing chips, hash boards and data processing devices | |
US20070159226A1 (en) | Clock generator | |
CN111930682A (zh) | 时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机 | |
CN212160484U (zh) | 时钟电路系统、计算芯片、算力板和数字货币挖矿机 | |
CN220154843U (zh) | 流水线时钟驱动电路、计算芯片、算力板和计算设备 | |
KR20220120652A (ko) | 클록 생성 회로 및 이를 사용하는 래치, 그리고 연산 장치 | |
TWI790088B (zh) | 處理器和計算系統 | |
CN111651403A (zh) | 时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机 | |
CN114884488A (zh) | 时钟电路、数据运算单元 | |
US20190173458A1 (en) | Shift register utilizing latches controlled by dual non-overlapping clocks | |
US6661864B2 (en) | Counter circuit for detecting erroneous operation and recovering to normal operation by itself | |
KR102575572B1 (ko) | 파이프라인 클럭 구동회로, 계산 칩, 계산 보드 및 계산 장치 | |
TW202431063A (zh) | 流水線時脈驅動電路、計算晶片、算力板和計算設備 | |
CN114978114A (zh) | 时钟电路、数据运算单元、芯片 | |
US7049864B2 (en) | Apparatus and method for high frequency state machine divider with low power consumption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 3165378 Country of ref document: CA Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 20237015561 Country of ref document: KR Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21959795 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21959795 Country of ref document: EP Kind code of ref document: A1 |