WO2023184573A1 - Clock gating control circuit and chip test circuit - Google Patents

Clock gating control circuit and chip test circuit Download PDF

Info

Publication number
WO2023184573A1
WO2023184573A1 PCT/CN2022/086522 CN2022086522W WO2023184573A1 WO 2023184573 A1 WO2023184573 A1 WO 2023184573A1 CN 2022086522 W CN2022086522 W CN 2022086522W WO 2023184573 A1 WO2023184573 A1 WO 2023184573A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
clock gating
circuit
enable
control signal
Prior art date
Application number
PCT/CN2022/086522
Other languages
French (fr)
Chinese (zh)
Inventor
王泽坤
黄现
管逸
Original Assignee
上海韬润半导体有限公司
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
Application filed by 上海韬润半导体有限公司 filed Critical 上海韬润半导体有限公司
Publication of WO2023184573A1 publication Critical patent/WO2023184573A1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the invention relates to the field of electronic circuits, and in particular to a clock gating control circuit and a chip test circuit.
  • test method based on scan chain can be used in chip testability design, which is tested through the test vectors generated by the test vector generation tool.
  • test vectors generated by the test vector generation tool.
  • Clock gating technology is generally used to reduce the toggle rate and power consumption of the test circuit.
  • a clock gating circuit is added to the test circuit to turn off the clock of the sequential logic when some circuits are not working, which can reduce the clock path. And the power consumption caused by timing logic flipping.
  • too many clock gates are still open, causing the circuit to still have problems with toggle rate and excessive power consumption.
  • too many clock gates are still closed, and only a very small part of the logic to be tested in each test vector is tested, resulting in an excessive number of test vectors and resulting in excessive chip testing time. long.
  • the present invention aims to provide a clock gating control circuit.
  • the clock gating control circuit may include:
  • each of the M decoders receives N-bit binary input and decodes the received N-bit binary input, generates L-bit binary decoding and outputs an L-bit binary decoding corresponding to L decoding sub-signals of the code;
  • each clock gating circuit block of the plurality of clock gating circuit blocks being used to control a clock input of one or more circuit portions under test;
  • each of the L control modules enables or disables one or more clock gating circuit blocks according to the externally input enable control signal, M decoding sub-signals and functional logic signals, where , M decoding sub-signals are composed of each decoder in the M decoders providing a decoding sub-signal, and among them, M, N and L are all positive integers.
  • each of the L control modules generates a first control output according to the input M decoding sub-signals
  • the enable control signal may include a first instruction, a second instruction, a third instruction and a fourth instruction.
  • the control module is configured such that: when the enable control signal is the first instruction, the corresponding one or more clock gating circuit blocks are enabled or disabled according to the functional logic signal; when the enable control signal is When the second instruction is given, the corresponding one or more clock gating circuit blocks are enabled or disabled according to the logical OR result of the first control output and the functional logic signal; when the enable control signal is the third instruction, according to the first control output the logical AND result of the function logic signal to enable or disable the corresponding one or more clock gating circuit blocks; and when the enable control signal is the fourth instruction, enable or disable the corresponding clock gating circuit block according to the first control output One or more clock gating circuit blocks.
  • the enable control signal may include a first enable control signal and a second enable control signal, and when the first enable control signal and the second enable control signal are both set to 0, the enable control signal is the A command; when the first enable control signal is set to 1 and the second enable control signal is set to 0, the enable control signal is the second command; when the first enable control signal is set to 0 and the second enable control signal is set to 1
  • the enable control signal is the third instruction; and when the first enable control signal and the second enable control signal are both set to 1, the enable control signal is the fourth instruction.
  • the clock gating control circuit may also include a NOT gate circuit, which is used to perform a logical NOT operation on the second enable control signal before inputting the second enable control signal to the control module, and generate a second control output.
  • the control module also includes: a first OR gate circuit, which is used to perform a logical OR operation on the M decoding sub-signals to generate a first control output; a first AND gate circuit, which is used to perform a logical OR operation on the first control output and the first Enable a logical AND operation of the control signal to generate a third control output; a second OR gate circuit used to perform a logical OR operation on the first control output and the second control output to generate a fourth control output; the third OR a gate circuit for performing a logical OR operation on the third control output and the functional logic signal to generate a fifth control output; and a second AND gate circuit for performing a logical AND operation on the fourth control output and the fifth control output To generate a sixth control output, the sixth control output is connected to the enable terminal
  • the value of M can be 2.
  • the decoder can use a one-hot decoder, which generates L-bit binary one-hot decoding, and L can be equal to 2 N .
  • the value of N can be determined based on the flip rate of the chip test.
  • each decoder can be provided with N-bit binary input by M scan chains corresponding to M decoders one-to-one.
  • M scan chains can be connected to each other in series.
  • Another aspect of the present invention is a chip test circuit, which may include any of the previous clock gating control circuits.
  • the clock gating control circuit of the present invention by adding additional control modules on the basis of the original clock gating circuit block and functional logic circuit block, the clock gating control circuit can additionally open or close part of the clock gating circuit. block to alleviate or solve the problem of too many test vectors or too high a flip rate.
  • FIG. 1A is a schematic structural diagram showing a scan chain circuit 100 in the related art.
  • FIG. 1B is a timing diagram showing a scan enable signal and a clock signal input to the scan chain circuit in FIG. 1A .
  • FIG. 2 is a schematic structural diagram showing a clock gating control circuit 200 according to some embodiments of the present invention.
  • FIG. 3 is a schematic diagram showing a specific structure 300 of the clock gating control circuit in FIG. 2 according to other embodiments of the present invention.
  • Words such as “having” and “comprising” mean that in addition to having units (modules) and steps that are directly and explicitly stated in the description and claims, the technical solution of the present invention does not exclude having units (modules) and steps that are not directly or explicitly stated. The situation of other units (modules) and steps expressed.
  • FIG. 1A is a schematic structural diagram showing a scan chain circuit 100 in the related art.
  • the existing scan chain circuit 100 includes a plurality of scan flip-flops 110 connected in series through si and so ports.
  • Each scan flip-flop 110 is used to test a plurality of circuit parts 120 of the circuit under test. A portion of the circuit under test 120 .
  • Each scan flip-flop 110 includes a scan enable port se for inputting a scan enable signal (scan_en), a scan input port si for scan loading (scan_in) test vectors, a scan output port so for unloading test vectors, and Port clk used for input clock.
  • test vector generation module (for example, automatic test vector generation tool ATPG) loads and unloads test vectors for the scan chain circuit through scan_in and scan_out, and when scan_en is 0, each scan flip-flop is loaded and unloaded from The d port captures data of the corresponding circuit part under test 120 to test the circuit part under test 120 .
  • the entire process is controlled by inputting a unified clock from the clock input port clk.
  • FIG. 1B is a timing diagram showing a scan enable signal input and a clock input input to the scan chain circuit in FIG. 1A .
  • the scan enable signal input is 1, the scan chain circuit 100 is in a shift mode.
  • the test excitation data is input from each scan flip-flop 110 to each circuit part under test through a long series of low-speed clock pulses. 120, and output the tested responses from inside each tested circuit part 120 to each scan flip-flop 110. Due to the low clock frequency at this stage, even if the logic flip rate is high, there will be no voltage drop or power consumption problems.
  • the scan enable signal input is 0, the scan chain circuit 100 is in capture mode.
  • each tested circuit part 120 is tested through a number of full-speed clock pulses (usually 2 to 5). Due to the high clock frequency at this stage, it may lead to an excessively high logic flip rate, resulting in undesirable voltage drops and excessive power consumption.
  • Clock gating is a technology that reduces the flip rate and power consumption of digital circuits. It can turn off the clock of the sequential logic of some circuits when they are not working, so as to reduce the dynamic power caused by clock paths and sequential logic flips. Consumption. Clock gating technology will also be used in chip testing to only turn on an appropriate proportion of clock gating units to ensure that the number of test vectors generated and the logic flip rate during testing are at a reasonable level. However, when the control logic of clock gating is complex and makes it difficult to turn off most of the clock gating units, too many clock gating units are in the open state, causing the logic flip rate and power consumption in the test circuit to be too high, which may cause the chip to Test failed.
  • the present invention proposes a clock gating control circuit, which is used to control the clock input of multiple tested circuit parts of the tested circuit, thereby optimizing the clock gating control method.
  • FIG. 2 is a schematic structural diagram showing a clock gating control circuit 200 according to some embodiments of the present invention.
  • the clock gating control circuit 200 includes M decoders 210 (for simplicity, Figure 2 shows two decoders, but is not limited thereto), L control modules 220, and functional logic circuits. block 240 and a plurality of clock gating circuit blocks 230 .
  • Each decoder 220 receives an N-bit binary input and decodes it to generate an L-bit binary decode, and then the decoder 220 may output L decodes corresponding to the L-bit binary decode through L output pins.
  • each pin outputs a decoding sub-signal on a corresponding decoding bit in the L-bit binary decoding.
  • each pin outputs a decoded sub-signal (ie, a binary "0" or "1").
  • each decoder 220 inputs a decoding sub-signal output by it to a corresponding control module 230 .
  • the functional logic circuit block 240 outputs a functional logic signal for subsequent enabling or disabling of each of the plurality of clock gating circuit blocks.
  • the functional logic circuit block 240 is an original functional logic circuit block that has been set up by the test circuit itself to enable or disable the clock gating circuit. It generally uses a pair of digital signals with opposite potentials to enable. or disable, for example, a binary digital signal "1" indicates enablement, and a binary digital signal "0" indicates disabling.
  • each control module 220 of the L control modules 220 responds to an enable control signal and M decoding sub-signals from an external input (for simplicity, Figure 2 shows 2 decoding sub-signals, but not limited to this) and a functional logic signal to enable or disable one or more clock gating circuit blocks (for simplicity, the figure shows that one control module 220 corresponds to one clock gating circuit block, the same applies below, but is not limited to ), wherein each of the M decoders provides a decoding sub-signal to form M decoding sub-signals.
  • each control module 230 receives M decoding sub-signals from M decoders 210, and the second end 222 receives an enable control signal from the outside.
  • the third terminal 223 receives the functional logic signal from the functional logic circuit block, and the fourth terminal 224 is the output terminal of the control module 220 .
  • the control module 220 performs a series of logical operation operations based on the signal inputs from the above three input terminals, and outputs the operation results to one or more clock gating circuits through the fourth terminal 224 for controlling the one or more clock gating circuits.
  • the circuit is enabled or disabled.
  • each clock gating circuit block 230 is used to control the clock input of one or more circuit parts under test (not shown), for example, the enable terminal of the clock gating circuit block 240 inputs a digital Signal "1" indicates that the clock gating circuit block 240 is enabled so that one or more circuit portions under test it controls have a clock input, thereby increasing the number of circuit portions under test by one or more, which makes more Multiple test vectors can be tested, speeding up the testing process; and when the enable terminal of the clock gating circuit block 240 inputs a digital signal "0", it means that the clock gating circuit block 240 is disabled, causing a Or multiple circuit parts under test do not have clock inputs, so the number of circuit parts under test is reduced by one or more, which reduces the flip rate, voltage drop, and power consumption of the entire test circuit.
  • control module 220 of the present invention can be configured to select what kind of logical operation to perform on the inputs of the first terminal 221 and the third terminal 223 according to the enable control signal input content of the second terminal 222 and display the operation results. It is output through the fourth terminal 224, wherein the first terminal 221 can be configured to generate a first control output from the input M decoding sub-signals.
  • the enable control signal may have four types of instructions (a first instruction, a second instruction, a third instruction and a fourth instruction), and each control module 220 is configured to enable the enable input at the second terminal 222
  • the control signal input is the first instruction
  • the corresponding one or more clock gating circuit blocks 230 are enabled or disabled according to the functional logic signal (for simplicity, one is shown in the figure);
  • the enable control signal input is the When two instructions are issued, the corresponding one or more clock gating circuit blocks 230 (for simplicity, one is shown in the figure) are enabled or disabled according to the logical OR result of the first control output and the functional logic signal;
  • the corresponding one or more clock gating circuit blocks 230 are enabled or disabled according to the logical AND result of the first control output and the functional logic signal (for simplicity, one is shown in the figure.
  • the corresponding one or more clock gating circuit blocks 230 are enabled or disabled according to the first control output (for simplicity, one is shown in the figure).
  • the present invention is not limited thereto, and any number of types of instructions can be configured according to the design situation to cause the first terminal 221 input and the third terminal 223 input in the control module 220 to perform other types of logical operations, and The corresponding one or more clock gating circuit blocks are enabled or disabled through the logical operation result output ("1" or "0").
  • the enable control signal includes a first enable control signal and a second enable control signal, and these two signals can be input into the control module 230 through two input pins provided at the second end 222 .
  • the control module 230 can be further configured into the following four modes:
  • the first enable control signal is the first instruction, so that the control module 220 enables or disables the corresponding function according to the functional logic signal.
  • One or more clock gating circuit blocks 230 At this time, the enable input of the clock gating circuit block 230 only comes from the functional logic signal, and the clock gating control mode of the entire test circuit is still controlled by the original functional logic.
  • the first enable control signal is set to 1 and the second enable control signal is set to 0, the first enable control signal is the second instruction, so that the control module 220 will generate the M decoding sub-signals input therein
  • a logical OR operation is performed on the first control output and the functional logic signal, and the output of the logical OR operation is used to enable or disable the corresponding one or more clock gating circuit blocks 230 .
  • the functional logic input is 1
  • the corresponding clock gating circuit block 230 is enabled, and even when the functional logic input is 0, due to the existence of the first control output, the corresponding clock gating circuit block 230 is still enabled. is enabled.
  • the L control modules 220 can enable some of the clock gating circuit blocks 230 that are originally disabled, thereby enabling Alleviate or solve the problem of difficulty in enabling some clock gating circuit blocks.
  • the M decoding sub-signals can be composed of a decoding sub-signal of 0 and a decoding sub-signal of 1, and the decoding method can be controlled according to requirements to output two decoding sub-signals in a specific ratio. . Assume that the number of decoding sub-signals that are 1 is x, and the number of decoding sub-signals that are 0 is M-x.
  • the decoding method can be reasonably set so that the value of Number of circuit blocks required. For example, if it is only desired to enable a smaller number of clock gating circuit blocks 230 when some clock gating circuit blocks 230 are difficult to enable, the decoding method can be set so that the number of decoded sub-signal 1 in the decoding result is The number is small but the number of decoded sub-signal 0 is large.
  • the control module Through the logical operation of the control module, only a small number of binary 1s are logically ORed with the functional logic signal and the result is output to the use of the clock gating circuit block 230 enable terminal to enable a small number of clock gating circuit blocks. This mode can alleviate or solve the problem that some clock gating circuit blocks are difficult to enable, resulting in excessive test vector accumulation.
  • the first enable control signal is set to 0 and the second enable control signal is set to 1, so that the control module 220 will input the M decoding sub-signals and
  • the functional logic signals are logically ANDed, and the output of the logical AND operation is used to enable or disable the corresponding one or more clock gating circuit blocks 230 .
  • the corresponding clock gating circuit block 230 must be disabled, and even when the functional logic input is 1, due to the existence of the first control output, the corresponding clock gating circuit block 230 is still disabled. May be disabled.
  • the L control modules 230 can disable some of the clock gating circuit blocks 230 that are originally enabled, thereby easing the problem. Or solve the problem that some clock gating circuit blocks are difficult to disable.
  • the decoding method can be set appropriately so that the value of x meets the number of clock gating circuit blocks that need to be enabled or disabled. For example, if you want to disable a larger number of clock gating circuit blocks when some clock gating circuit blocks are difficult to disable, you can set the decoding method so that the number of decoded sub-signals 1 in the decoding result is smaller and the decoding result is smaller.
  • the first enable control signal is the fourth instruction, so that the control module 230 generates a signal based on the M decoding sub-signals input therein.
  • a first control output is used to enable or disable the corresponding one or more clock gating circuit blocks 230 .
  • the enable input of the clock gating circuit block 230 only depends on the first control output of the decoder, and the clock gating control mode of the entire test circuit is completely free from the original functional logic.
  • this mode can be used to avoid the original complex functional logic, thereby solving or alleviating the problem at the same time. There are problems such as too many test vectors and too high test flip rate.
  • the present invention is not limited to the above setting method of setting the enable control signal to 0 or 1, but any digital signal with opposite potential can be used to represent the above four instructions. Moreover, it can be further understood that the present invention is not limited to the above combination method of setting 0 and setting 1, but can also use other combination methods, for example, when the first enable control signal is set to 0 and the second enable control signal is set to 1 , the first enable control signal may also be the above-mentioned second instruction.
  • the N-bit binary input has 2 N possibilities (for example, the two-bit binary input has four possibilities: 00, 01, 10, and 11)
  • the L kinds can be represented by 2 N- bit binary one-hot decoding.
  • Possibility, and one-hot decoding can make only one code bit in the decoding result be 1, and the remaining code bits are all 0.
  • the one-hot decoder can encode the 3-bit binary input as shown in Table 1 below:
  • Table 1 3-bit input one-hot decoding example
  • one-hot decoding can make each binary input represented by a binary output including only one 1, thus controlling the number of decoding sub-signals that are 1.
  • Some clock gating circuits When a block is difficult to enable, only a small proportion of the clock gating circuit blocks are enabled. In this way, only a small part of the clock gating circuit blocks are enabled each time, which will not cause the test toggle rate and power consumption to suddenly increase a lot.
  • FIG. 3 is a schematic diagram showing a specific structure 300 of the clock gating control circuit in FIG. 2 according to other embodiments of the present invention.
  • the control module 220 in FIG. 2 may be, for example, a logic circuit combination of the control module 320 shown in FIG. 3
  • the clock gating control circuit 300 further includes a NOT gate circuit 350 for converting the second Before the enable control signal is input to the control module 320, a logical negation operation is performed on the second enable control signal and a second control output is generated.
  • the control module 320 includes: a first OR gate circuit 321, which is used to perform a logical OR operation on M decoding sub-signals to generate a first control output; a first AND gate circuit 322, which is used to combine the first control output and The input of the first enable control signal performs a logical AND operation to generate a third control output; the second OR gate circuit 323 is used to perform a logical OR operation on the first control output and the second control output to generate a fourth control output.
  • the third OR gate circuit 324 which is used to perform a logical OR operation on the input of the third control output and the functional logic signal to generate the fifth control output
  • the second AND gate circuit 325 which is used to perform a logical OR operation on the fourth control output and the third control output
  • the five control outputs perform a logical AND operation to generate a sixth control output, and the sixth control output is connected to the enable end of one or more clock gating circuit blocks 330 (one is shown in the figure).
  • M preferably takes a value of 2.
  • the appropriate value of N can be determined based on the flip rate of the test circuit.
  • the values of N are generally 4 (corresponding to a flip rate of 12.5%), 5 (corresponding to a flip rate of 7.25%) and 6 (corresponding to a flip rate of 3.125%). Assume that the flip rate requirement of the test circuit is 12.5%. Then you can set a 4-bit binary input.
  • M 2, N is 4, and a one-hot decoding method is used.
  • two one-hot decoders 310 each provide one decoding sub-signal to form two decoding sub-signals that are input to a corresponding control module 320.
  • the two decoding sub-signals are input
  • the control module 320 then enters the first OR gate circuit 321 and performs a logical OR operation to generate a first control output.
  • both the first enable control signal and the second enable control signal are set to 0 (that is, like the first instruction), no matter whether the first control output is 0 or 1, the third output generated by the first AND gate circuit 322 The control output is always 0, and the second control output generated by the second enable control signal after passing through the inverter 350 is always 1.
  • the functional logic signal input is 0, the fifth control output generated by the third OR gate circuit 324 is 0, and the sixth control output generated by the second AND gate circuit 325 is always 0; and if the functional logic signal input is 1, then the fifth control output generated by the third OR gate circuit 324 is 1, and since the second control output is always 1, no matter the first control output is 0 or 1, the fourth control output generated by the second OR gate circuit 323 is 1.
  • the control output is always 1, ultimately resulting in a sixth control output bit 1 generated by the second AND gate circuit 325 .
  • the functional logic signal input clock is consistent with the sixth control output, and the clock gating control method of the entire test circuit is still controlled by the original function. Logic signals to control.
  • the 2 first control outputs that are 1 among the 16 first control outputs of the 16 control modules 320 can be compared with The corresponding two functional logic signals perform a logical OR operation and output a sixth control output of 1, thereby enabling two more clock gating circuit blocks 330.
  • the clock gating circuit 330 with a ratio of 2/16 is enabled to provide clock input to 2/16 of the circuit under test to achieve the toggle rate requirement of 12.5% (2/16). This alleviates the problems of excessive test vector accumulation and long test time due to the difficulty in opening clock gating circuit blocks due to complex functional logic. Furthermore, only 2 clock gating circuit blocks are opened at a time, which does not affect the test circuit. has a huge impact on power consumption.
  • the 14 first control outputs of 0 among the 16 first control outputs of the 16 control modules 320 can be corresponding to The 14 functional logic signals perform a logical AND operation, and the output is a sixth control output of 0, thereby disabling 14 clock gating circuit blocks 320 .
  • the clock input of one or more circuit parts under test corresponding to the 14 clock gating circuit blocks 320 can be stopped, which can solve problems such as excessive toggle rate and excessive power consumption, thereby increasing the success rate of the test.
  • each control module 320 in Figure 3 The result of the sixth control output (ie, the enable terminal input of each clock gating circuit block 330) is only consistent with the first control output. In this way, when the test circuit has the problems of too high toggle rate and too many test vectors (and there are also problems that some clock gating circuit blocks are difficult to enable and disable), the test circuit can completely avoid the original functional logic control. Complexity issues, generate test vectors and perform testing more efficiently.
  • the first enable control signal can be set to 1 after the test vector generation is completed.
  • the control signal and the second enable control signal are both set to 0 (ie, like the first instruction), and a small amount of test vectors are additionally loaded to make up for the lost coverage.
  • any two clock gating circuit blocks can be opened for testing by independently controlling the two one-hot decoders. In this way, any two clock gating circuit blocks can be traversed For all combinations of circuits, the solution of the present invention will not cause coverage loss between any two clock gating logics. Based on this, it can be understood that in embodiments using other numbers of decoders with M>2, it can be guaranteed that coverage loss between any number of clock gating logics will not occur (for example, using 3 decoders) The coder is tested by turning on any three clock gating circuit blocks to ensure that there will be no loss of coverage between any three clock gating logic).
  • each decoder is provided with N-bit binary input by M scan chains corresponding one-to-one to the M decoders.
  • each scan chain circuit may be composed of N scan flip-flops connected in series.
  • Each scan chain circuit outputs N-bit binary test vectors to a corresponding decoder 210 through its N scan flip-flops.
  • the M scan chains are connected to each other in series.
  • the present invention also includes a chip test circuit using a clock gating control circuit as in any of the various embodiments described above.
  • the scan chain can be divided into M scan sub-chains (each including N scan flip-flops) and the M N-bit binary outputs are output to the above-mentioned clock gating control circuit respectively. , and then control the clock input of each circuit department under test in the chip test circuit.
  • M scan chains (each including N scan flip-flops) may also be connected in series, and each scan chain may be connected to each other in series.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

A clock gating control circuit (200) and a chip test circuit. The clock gating control circuit (200) is used for controlling clock inputs of a plurality of tested circuit parts of a tested circuit. The clock gating control circuit (200) comprises M decoders (210), a plurality of clock gating circuit blocks (230), a functional logic circuit block (240), which outputs a functional logic signal, and L control modules (220). Each decoder (210) receives and decodes an N-bit binary input, generates an L-bit binary code, and outputs L decoding sub-signals corresponding to the L-bit binary code; each clock gating circuit block (230) is used for controlling the clock input of one or more tested circuit parts; and each control module (220) enables or disables one or more clock gating circuit blocks (230) according to an externally input enable control signal, M decoding sub-signals and the functional logic signal, wherein the M decoding sub-signals are formed by means of each decoder (210) among the M decoders (210) providing one decoding sub-signal, and M, N and L are all positive integers.

Description

时钟门控控制电路及芯片测试电路Clock gating control circuit and chip test circuit 技术领域Technical field
本发明涉及电子电路领域,特别是涉及一种时钟门控控制电路以及芯片测试电路。The invention relates to the field of electronic circuits, and in particular to a clock gating control circuit and a chip test circuit.
背景技术Background technique
目前芯片可测性设计中可采用基于扫描链(Scan Chain)的测试方法,其通过测试向量生成工具产生的测试向量来进行测试。扫描链电路进行高速测试时,太高的时钟频率和逻辑翻转率可能会产生压降和功耗问题,进一步可能导致测试失败。Currently, the test method based on scan chain can be used in chip testability design, which is tested through the test vectors generated by the test vector generation tool. When the scan chain circuit is tested at high speed, too high clock frequency and logic flip rate may cause voltage drop and power consumption problems, which may further lead to test failure.
一般采用时钟门控(Clock Gating)技术来降低测试电路翻转率和功耗,在测试电路中加入时钟门控电路,以在部分电路不工作时将时序逻辑的时钟关断,这可以减少时钟路径及时序逻辑翻转带来的功耗。但是,当因为控制逻辑复杂而导致大部分时钟门控难以关闭时,过多的时钟门控仍处于打开状态,导致电路仍存在翻转率、功耗过高的问题,而当因为控制逻辑复杂而又导致大部分时钟门控难以打开时,过多的时钟门控仍处于关闭状态,每条测试向量中只有极少部分待测逻辑被测试,造成测试向量数目积多,从而导致芯片测试时间过长。Clock gating technology is generally used to reduce the toggle rate and power consumption of the test circuit. A clock gating circuit is added to the test circuit to turn off the clock of the sequential logic when some circuits are not working, which can reduce the clock path. And the power consumption caused by timing logic flipping. However, when most of the clock gates are difficult to turn off due to complex control logic, too many clock gates are still open, causing the circuit to still have problems with toggle rate and excessive power consumption. As a result, when most of the clock gates are difficult to open, too many clock gates are still closed, and only a very small part of the logic to be tested in each test vector is tested, resulting in an excessive number of test vectors and resulting in excessive chip testing time. long.
因而解决在因控制逻辑较复杂而导致的时钟门控难以打开和关闭并进而导致测试翻转率过高或测试向量积多成为要解决的问题,希望提出一种时钟门控控制电路及包含此电路的芯片测试电路。Therefore, it is a problem to be solved that the clock gating is difficult to open and close due to the complicated control logic, which in turn leads to an excessively high test flip rate or too many test vectors. We hope to propose a clock gating control circuit and a circuit containing this circuit. chip test circuit.
发明内容Contents of the invention
鉴于上述问题,本发明旨在提供一种时钟门控控制电路。In view of the above problems, the present invention aims to provide a clock gating control circuit.
本发明的一方面的一种时钟门控控制电路,其用于控制被测电路的多个被测电路部分的时钟输入,时钟门控控制电路可以包括:One aspect of the present invention is a clock gating control circuit, which is used to control clock inputs of multiple circuit parts under test. The clock gating control circuit may include:
M个译码器,M个译码器中的每个译码器接收N位二进制输入并对所接收的N位二进制输入进行译码,生成L位二进制译码并输出对应于L位二进制译码的L个译码子信号;M decoders, each of the M decoders receives N-bit binary input and decodes the received N-bit binary input, generates L-bit binary decoding and outputs an L-bit binary decoding corresponding to L decoding sub-signals of the code;
多个时钟门控电路块,多个时钟门控电路块中的每个时钟门控电路块用于控制一个或多个被测电路部分的时钟输入;a plurality of clock gating circuit blocks, each clock gating circuit block of the plurality of clock gating circuit blocks being used to control a clock input of one or more circuit portions under test;
功能逻辑电路块,功能逻辑电路块输出功能逻辑信号;以及a functional logic circuit block that outputs a functional logic signal; and
L个控制模块,L个控制模块中的每个控制模块根据外部输入的使能控制信号、M个译码子信号和功能逻辑信号来使能或禁用一个或多个时钟门控电路块,其中,M个译码子信号由M个译码器中的每个译码器各自提供一个译码子信号而组成,并且其中,M、N和L均为正整数。L control modules, each of the L control modules enables or disables one or more clock gating circuit blocks according to the externally input enable control signal, M decoding sub-signals and functional logic signals, where , M decoding sub-signals are composed of each decoder in the M decoders providing a decoding sub-signal, and among them, M, N and L are all positive integers.
可选地,L个控制模块中的每个控制模块根据输入的M个译码子信号产生第一控制输出,而使能控制信号可以包括第一指令、第二指令、第三指令和第四指令四种类型,该控制模块配置成使得:在使能控制信号为第一指令时,根据功能逻辑信号来使能或禁用对应的一个或多个时钟门控电路块;在使能控制信号为第二指令时,根据第一控制输出和功能逻辑信号的逻辑或结果来使能或禁用对应的一个或多个时钟门控电路块;在使能控制信号为第三指令时,根据第一控制输出和功能逻辑信号的逻辑与结果来使能或禁用对应的一个或多个时钟门控电路块;以及在使能控制信号为第四指令时,根据第一控制输出来使能或禁用对应的一个或多个时钟门控电路块。Optionally, each of the L control modules generates a first control output according to the input M decoding sub-signals, and the enable control signal may include a first instruction, a second instruction, a third instruction and a fourth instruction. There are four types of instructions, and the control module is configured such that: when the enable control signal is the first instruction, the corresponding one or more clock gating circuit blocks are enabled or disabled according to the functional logic signal; when the enable control signal is When the second instruction is given, the corresponding one or more clock gating circuit blocks are enabled or disabled according to the logical OR result of the first control output and the functional logic signal; when the enable control signal is the third instruction, according to the first control output the logical AND result of the function logic signal to enable or disable the corresponding one or more clock gating circuit blocks; and when the enable control signal is the fourth instruction, enable or disable the corresponding clock gating circuit block according to the first control output One or more clock gating circuit blocks.
可选地,使能控制信号可以包括第一使能控制信号和第二使能控制信号,并且在第一使能控制信号和第二使能控制信号都置0时,使能控制信号为第一指令;在第一使能控制信号置1而第二使能控制信号置0时,使能控制信号为第二指令;在第一使能控制信号置0而第二使能控制信号置1时,使能控制信号为第三指令;以及在第一使能控制信号和第二使能控制信号都置1时,使能控制信号为第四指令。Optionally, the enable control signal may include a first enable control signal and a second enable control signal, and when the first enable control signal and the second enable control signal are both set to 0, the enable control signal is the A command; when the first enable control signal is set to 1 and the second enable control signal is set to 0, the enable control signal is the second command; when the first enable control signal is set to 0 and the second enable control signal is set to 1 When, the enable control signal is the third instruction; and when the first enable control signal and the second enable control signal are both set to 1, the enable control signal is the fourth instruction.
可选地,时钟门控控制电路还可以包括非门电路,其用于在将第 二使能控制信号输入到控制模块之前对第二使能控制信号进行逻辑非操作,并产生第二控制输出,控制模块还包括:第一或门电路,其用于对M个译码子信号进行逻辑或操作以产生第一控制输出;第一与门电路,其用于对第一控制输出和第一使能控制信号的进行逻辑与操作,以产生第三控制输出;第二或门电路,其用于对第一控制输出和第二控制输出进行逻辑或操作以产生第四控制输出;第三或门电路,其用于对第三控制输出和功能逻辑信号进行逻辑或操作以产生第五控制输出;以及第二与门电路,其用于对第四控制输出和第五控制输出进行逻辑与操作以产生第六控制输出,第六控制输出连接到相应的一个或多个时钟门控电路块的使能端。Optionally, the clock gating control circuit may also include a NOT gate circuit, which is used to perform a logical NOT operation on the second enable control signal before inputting the second enable control signal to the control module, and generate a second control output. , the control module also includes: a first OR gate circuit, which is used to perform a logical OR operation on the M decoding sub-signals to generate a first control output; a first AND gate circuit, which is used to perform a logical OR operation on the first control output and the first Enable a logical AND operation of the control signal to generate a third control output; a second OR gate circuit used to perform a logical OR operation on the first control output and the second control output to generate a fourth control output; the third OR a gate circuit for performing a logical OR operation on the third control output and the functional logic signal to generate a fifth control output; and a second AND gate circuit for performing a logical AND operation on the fourth control output and the fifth control output To generate a sixth control output, the sixth control output is connected to the enable terminal of the corresponding one or more clock gating circuit blocks.
可选地,M取值可以为2。Optionally, the value of M can be 2.
可选地,译码器可以采用独热译码器,其生成的是L位二进制独热译码,且L可以等于2 NAlternatively, the decoder can use a one-hot decoder, which generates L-bit binary one-hot decoding, and L can be equal to 2 N .
可选地,可以根据芯片测试的翻转率来确定N的取值。Optionally, the value of N can be determined based on the flip rate of the chip test.
可选地,可以由与M个译码器一一对应的M条扫描链为每个译码器提供N位二进制输入。Optionally, each decoder can be provided with N-bit binary input by M scan chains corresponding to M decoders one-to-one.
可选地,M条扫描链可以彼此串联连接。Optionally, M scan chains can be connected to each other in series.
本发明的另一方面的一种芯片测试电路,其可以包含如前的任一种时钟门控控制电路。Another aspect of the present invention is a chip test circuit, which may include any of the previous clock gating control circuits.
如上,根据本发明的时钟门控控制电路,通过在原有时钟门控电路块和功能逻辑电路块的基础上增加额外的控制模块,使得时钟门控控制电路能够额外打开或关闭部分时钟门控电路块,以缓解或解决测试向量积多或翻转率过高的问题。As above, according to the clock gating control circuit of the present invention, by adding additional control modules on the basis of the original clock gating circuit block and functional logic circuit block, the clock gating control circuit can additionally open or close part of the clock gating circuit. block to alleviate or solve the problem of too many test vectors or too high a flip rate.
附图说明Description of drawings
图1A是表示现有技术的扫描链电路100的结构示意图。FIG. 1A is a schematic structural diagram showing a scan chain circuit 100 in the related art.
图1B是表示输入图1A中的扫描链电路的扫描使能信号和时钟信号的时序示意图。FIG. 1B is a timing diagram showing a scan enable signal and a clock signal input to the scan chain circuit in FIG. 1A .
图2是表示根据本发明的一些实施例的时钟门控控制电路200 的结构示意图。FIG. 2 is a schematic structural diagram showing a clock gating control circuit 200 according to some embodiments of the present invention.
图3是表示根据本发明的另一些实施例的图2中的时钟门控控制电路的一种具体结构300的示意图。FIG. 3 is a schematic diagram showing a specific structure 300 of the clock gating control circuit in FIG. 2 according to other embodiments of the present invention.
具体实施方式Detailed ways
下面介绍的是本发明的多个实施例中的一些,旨在提供对本发明的基本了解。并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。Described below are some of the various embodiments of the invention and are intended to provide a basic understanding of the invention. It is not intended to identify key or critical elements of the invention or to limit the scope of the invention.
出于简洁和说明性目的,本文主要参考其示范实施例来描述本发明的原理。但是,本领域技术人员将容易地认识到,相同的原理可等效地应用于所有类型的时钟门控控制电路并且可以在其中实施这些相同的原理,以及任何此类变化不背离本专利申请的真实精神和范围。For brevity and explanatory purposes, the principles of the invention are described herein primarily with reference to exemplary embodiments thereof. However, those skilled in the art will readily recognize that the same principles are equally applicable to and implemented in all types of clock gating control circuits, and that any such changes do not depart from the scope of this patent application. True spirit and scope.
而且,在下文描述中,参考了附图,这些附图图示特定的示范实施例。在不背离本发明的精神和范围的前提下可以对这些实施例进行电、机械、逻辑和结构上的更改。此外,虽然本发明的特征是结合若干实施/实施例的仅其中之一来公开的,但是如针对任何给定或可识别的功能可能是期望和/或有利的,可以将此特征与其他实施/实施例的一个或多个其他特征进行组合。因此,下文描述不应视为在限制意义上的,并且本发明的范围由所附权利要求及其等效物来定义。Furthermore, in the following description, reference is made to the accompanying drawings, which illustrate specific exemplary embodiments. Electrical, mechanical, logical, and structural changes may be made in these embodiments without departing from the spirit and scope of the invention. Furthermore, although features of the invention are disclosed in connection with only one of several implementations/embodiments, such features may be combined with other implementations as may be desirable and/or advantageous for any given or identifiable function. / combined with one or more other features of the embodiments. Therefore, the following description is not to be taken in a limiting sense, and the scope of the invention is defined by the appended claims and their equivalents.
诸如“具备”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元(模块)和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元(模块)和步骤的情形。Words such as "having" and "comprising" mean that in addition to having units (modules) and steps that are directly and explicitly stated in the description and claims, the technical solution of the present invention does not exclude having units (modules) and steps that are not directly or explicitly stated. The situation of other units (modules) and steps expressed.
图1A是表示现有技术的扫描链电路100的结构示意图。如图1A所示,现有的扫描链电路100包括通过si和so口串联的多个扫描触发器110,每个扫描触发器110用于测试被测电路的多个被测电路部分120中的一个被测电路部分120。每个扫描触发器110包 括用于输入扫描使能信号(scan_en)的扫描使能端口se、用于扫描加载(scan_in)测试向量的扫描输入端口si、用于卸载测试向量的扫描输出端口so以及用于输入时钟的端口clk。当scan_en为1时,测试向量生成模块(例如,自动测试向量生成工具ATPG)通过scan_in和scan_out对扫描链电路进行测试向量的加载和卸载,而当scan_en为0时,每个扫描触发器都从d端口捕获对应的被测电路部分120的数据从而对该被测电路部分120进行测试。整个过程都通过从时钟输入端口clk输入统一的时钟以进行时序控制。FIG. 1A is a schematic structural diagram showing a scan chain circuit 100 in the related art. As shown in FIG. 1A , the existing scan chain circuit 100 includes a plurality of scan flip-flops 110 connected in series through si and so ports. Each scan flip-flop 110 is used to test a plurality of circuit parts 120 of the circuit under test. A portion of the circuit under test 120 . Each scan flip-flop 110 includes a scan enable port se for inputting a scan enable signal (scan_en), a scan input port si for scan loading (scan_in) test vectors, a scan output port so for unloading test vectors, and Port clk used for input clock. When scan_en is 1, the test vector generation module (for example, automatic test vector generation tool ATPG) loads and unloads test vectors for the scan chain circuit through scan_in and scan_out, and when scan_en is 0, each scan flip-flop is loaded and unloaded from The d port captures data of the corresponding circuit part under test 120 to test the circuit part under test 120 . The entire process is controlled by inputting a unified clock from the clock input port clk.
图1B是表示输入图1A中的扫描链电路的扫描使能信号输入和时钟输入的时序示意图。当扫描使能信号输入为1时,扫描链电路100处于移位(shift)模式,在此阶段,通过一长串低速时钟脉冲从各扫描触发器110的将测试激励数据输入各个被测电路部分120内部,并又从各个被测电路部分120内部将测试得到的响应输出到各扫描触发器110,这一阶段由于时钟频率较低,即使逻辑翻转率高也不会产生压降或功耗问题。当扫描使能信号输入为0时,扫描链电路100处于捕获(capture)模式,在此阶段,通过若干全速时钟脉冲(通常2到5个)对各个被测电路部分120内部的逻辑进行测试,这一阶段由于时钟频率很高,可能导致过高的逻辑翻转率,从而产生不期望的压降和功耗过高问题。FIG. 1B is a timing diagram showing a scan enable signal input and a clock input input to the scan chain circuit in FIG. 1A . When the scan enable signal input is 1, the scan chain circuit 100 is in a shift mode. At this stage, the test excitation data is input from each scan flip-flop 110 to each circuit part under test through a long series of low-speed clock pulses. 120, and output the tested responses from inside each tested circuit part 120 to each scan flip-flop 110. Due to the low clock frequency at this stage, even if the logic flip rate is high, there will be no voltage drop or power consumption problems. . When the scan enable signal input is 0, the scan chain circuit 100 is in capture mode. At this stage, the logic inside each tested circuit part 120 is tested through a number of full-speed clock pulses (usually 2 to 5). Due to the high clock frequency at this stage, it may lead to an excessively high logic flip rate, resulting in undesirable voltage drops and excessive power consumption.
时钟门控是一种降低数字电路翻转率和功耗的技术,其可以在部分电路不工作时将该部分电路的时序逻辑的时钟关断,以减少时钟路径及时序逻辑翻转带来的动态功耗。芯片测试中也会使用时钟门控技术,从而只打开合适比例的时钟门控单元,保证产生的测试向量的数量和测试时逻辑翻转率处于合理水平。但当时钟门控的控制逻辑比较复杂导致大部分时钟门控单元难以关闭时,过多的时钟门控单元处于打开状态,造成测试电路中逻辑的翻转率和功耗过高,这可能导致芯片测试失败。而且,当时钟门控的控制逻辑比较复杂导致大部分时钟门控单元难以打开时,过多的门控时钟单元处 于关闭状态,导致每条测试向量中只有极少被测电路部分被测试,这会造成测试向量数目积多,从而导致芯片测试时间过长、增加测试成本。Clock gating is a technology that reduces the flip rate and power consumption of digital circuits. It can turn off the clock of the sequential logic of some circuits when they are not working, so as to reduce the dynamic power caused by clock paths and sequential logic flips. Consumption. Clock gating technology will also be used in chip testing to only turn on an appropriate proportion of clock gating units to ensure that the number of test vectors generated and the logic flip rate during testing are at a reasonable level. However, when the control logic of clock gating is complex and makes it difficult to turn off most of the clock gating units, too many clock gating units are in the open state, causing the logic flip rate and power consumption in the test circuit to be too high, which may cause the chip to Test failed. Moreover, when the control logic of clock gating is complex and makes it difficult to open most of the clock gating units, too many gated clock units are in a closed state, resulting in only a very small part of the circuit under test being tested in each test vector. This This will cause the number of test vectors to accumulate, resulting in long chip testing time and increased testing costs.
基于以上问题,本发明提出了时钟门控控制电路,其用于控制被测电路的多个被测电路部分的时钟输入,从而对时钟门控的控制方式进行优化。Based on the above problems, the present invention proposes a clock gating control circuit, which is used to control the clock input of multiple tested circuit parts of the tested circuit, thereby optimizing the clock gating control method.
图2是表示根据本发明的一些实施例的时钟门控控制电路200的结构示意图。如图2所示,时钟门控控制电路200包括M个译码器210(为了简单性起见,图2示为2个译码器,但不限于此)、L个控制模块220、功能逻辑电路块240以及多个时钟门控电路块230。每个译码器220接收N位二进制输入并对其进行译码,以生成L位二进制译码,然后译码器220可通过L个输出管脚输出对应于L位二进制译码的L个译码子信号,其中每个管脚输出该L位二进制译码中的一个对应的译码位上的译码子信号。如此,每个管脚输出一个译码子信号(即,一个二进制“0”或“1”)。然后,每个译码器220都将其输出的一个译码子信号输入到对应的一个控制模块230。FIG. 2 is a schematic structural diagram showing a clock gating control circuit 200 according to some embodiments of the present invention. As shown in Figure 2, the clock gating control circuit 200 includes M decoders 210 (for simplicity, Figure 2 shows two decoders, but is not limited thereto), L control modules 220, and functional logic circuits. block 240 and a plurality of clock gating circuit blocks 230 . Each decoder 220 receives an N-bit binary input and decodes it to generate an L-bit binary decode, and then the decoder 220 may output L decodes corresponding to the L-bit binary decode through L output pins. Code sub-signal, wherein each pin outputs a decoding sub-signal on a corresponding decoding bit in the L-bit binary decoding. In this way, each pin outputs a decoded sub-signal (ie, a binary "0" or "1"). Then, each decoder 220 inputs a decoding sub-signal output by it to a corresponding control module 230 .
参考图2,功能逻辑电路块240输出功能逻辑信号,以用于后续对多个时钟门控电路块中的每个时钟门控电路块的使能或禁用。具体而言,功能逻辑电路块240是测试电路本身已经设置的用于对时钟门控电路进行使能或禁用的原有功能逻辑电路块,其一般使用一对电位相反的数字信号来进行使能或禁用,例如,二进制数字信号“1”表示进行使能,而二进制数字信号“0”表示进行禁用。Referring to FIG. 2 , the functional logic circuit block 240 outputs a functional logic signal for subsequent enabling or disabling of each of the plurality of clock gating circuit blocks. Specifically, the functional logic circuit block 240 is an original functional logic circuit block that has been set up by the test circuit itself to enable or disable the clock gating circuit. It generally uses a pair of digital signals with opposite potentials to enable. or disable, for example, a binary digital signal "1" indicates enablement, and a binary digital signal "0" indicates disabling.
参考图2,L个控制模块220的每个控制模块220根据来自外部输入的使能控制信号、M个译码子信号(为了简单性起见,图2示为2个译码子信号,但不限于此)和一个功能逻辑信号来使能或禁用一个或多个时钟门控电路块(为了简单性起见,图示为一个控制模块220对应一个时钟门控电路块,下文同理,但不限于此),其中,由M个译码器中的每个译码器各自提供一个译码子信号而组成M个译码子 信号。具体而言,如图2所示,每个控制模块230的第一端221接收来自M个译码器210的M个译码子信号,第二端222接收来自外部的使能控制信号,第三端223接收来自功能逻辑电路块的功能逻辑信号,而第四端224为控制模块220的输出端。控制模块220根据以上3个输入端的信号输入进行一系列逻辑运算操作,并使操作结果通过第四端224输出到一个或多个时钟门控电路,以用于对该一个或多个时钟门控电路进行使能或禁用。Referring to Figure 2, each control module 220 of the L control modules 220 responds to an enable control signal and M decoding sub-signals from an external input (for simplicity, Figure 2 shows 2 decoding sub-signals, but not limited to this) and a functional logic signal to enable or disable one or more clock gating circuit blocks (for simplicity, the figure shows that one control module 220 corresponds to one clock gating circuit block, the same applies below, but is not limited to ), wherein each of the M decoders provides a decoding sub-signal to form M decoding sub-signals. Specifically, as shown in Figure 2, the first end 221 of each control module 230 receives M decoding sub-signals from M decoders 210, and the second end 222 receives an enable control signal from the outside. The third terminal 223 receives the functional logic signal from the functional logic circuit block, and the fourth terminal 224 is the output terminal of the control module 220 . The control module 220 performs a series of logical operation operations based on the signal inputs from the above three input terminals, and outputs the operation results to one or more clock gating circuits through the fourth terminal 224 for controlling the one or more clock gating circuits. The circuit is enabled or disabled.
参考图2,每个时钟门控电路块230用于控制被测电路的一个或多个被测电路部分(未示出)的时钟输入,例如,时钟门控电路块240的使能端输入数字信号“1”表示该时钟门控电路块240被使能,使得其所控制的一个或多个被测电路部分具有时钟输入,从而被测电路部分的数量增加了一个或多个,这使得更多的测试向量能够被测试,加快了测试进程;而当时钟门控电路块240的使能端输入数字信号“0”时,表示该时钟门控电路块240被禁用,使得其所控制的一个或多个被测电路部分不具有时钟输入,从而被测电路部分的数量减少了一个或多个,这使得整个测试电路的翻转率和压降、功耗降低。Referring to FIG. 2 , each clock gating circuit block 230 is used to control the clock input of one or more circuit parts under test (not shown), for example, the enable terminal of the clock gating circuit block 240 inputs a digital Signal "1" indicates that the clock gating circuit block 240 is enabled so that one or more circuit portions under test it controls have a clock input, thereby increasing the number of circuit portions under test by one or more, which makes more Multiple test vectors can be tested, speeding up the testing process; and when the enable terminal of the clock gating circuit block 240 inputs a digital signal "0", it means that the clock gating circuit block 240 is disabled, causing a Or multiple circuit parts under test do not have clock inputs, so the number of circuit parts under test is reduced by one or more, which reduces the flip rate, voltage drop, and power consumption of the entire test circuit.
可以理解的是,上述提及的L、M和N都是正整数。It can be understood that the above mentioned L, M and N are all positive integers.
在一些实施例中,本发明的控制模块220可以配置成根据第二端222的使能控制信号输入内容来选择对第一端221和第三端223的输入做何种逻辑操作并将操作结果通过第四端224输出,其中,第一端221可以配置成输入的M个译码子信号产生第一控制输出。作为示例,该使能控制信号可以具有四种类型的指令(第一指令、第二指令、第三指令和第四指令),每个控制模块220配置成使得在第二端222输入的使能控制信号输入为第一指令时根据功能逻辑信号来使能或禁用对应的一个或多个时钟门控电路块230(为了简单性起见,图示为1个);在使能控制信号输入为第二指令时,根据第一控制输出和功能逻辑信号的逻辑或结果来使能或禁用对应的一个或多个时钟门控电路块230(为了简单性起见,图示为1个);在使能控制信号输入 为第三指令时,根据第一控制输出和功能逻辑信号的逻辑与结果来使能或禁用对应的一个或多个时钟门控电路块230(为了简单性起见,图示为1个);在使能控制信号输入为第四指令时,根据第一控制输出来使能或禁用对应的一个或多个时钟门控电路块230(为了简单性起见,图示为1个)。但是,可以理解的是,本发明不限于此,可以依照设计情况配置任何数量类型的指令来使得控制模块220中的第一端221输入和第三端223输入做出其他类型的逻辑操作,并通过该逻辑操作结果输出(“1”或“0”)来对对应的一个或多个时钟门控电路块进行使能或禁用。In some embodiments, the control module 220 of the present invention can be configured to select what kind of logical operation to perform on the inputs of the first terminal 221 and the third terminal 223 according to the enable control signal input content of the second terminal 222 and display the operation results. It is output through the fourth terminal 224, wherein the first terminal 221 can be configured to generate a first control output from the input M decoding sub-signals. As an example, the enable control signal may have four types of instructions (a first instruction, a second instruction, a third instruction and a fourth instruction), and each control module 220 is configured to enable the enable input at the second terminal 222 When the control signal input is the first instruction, the corresponding one or more clock gating circuit blocks 230 are enabled or disabled according to the functional logic signal (for simplicity, one is shown in the figure); when the enable control signal input is the When two instructions are issued, the corresponding one or more clock gating circuit blocks 230 (for simplicity, one is shown in the figure) are enabled or disabled according to the logical OR result of the first control output and the functional logic signal; when enabling When the control signal input is a third instruction, the corresponding one or more clock gating circuit blocks 230 are enabled or disabled according to the logical AND result of the first control output and the functional logic signal (for simplicity, one is shown in the figure. ); when the enable control signal input is the fourth instruction, the corresponding one or more clock gating circuit blocks 230 are enabled or disabled according to the first control output (for simplicity, one is shown in the figure). However, it is understood that the present invention is not limited thereto, and any number of types of instructions can be configured according to the design situation to cause the first terminal 221 input and the third terminal 223 input in the control module 220 to perform other types of logical operations, and The corresponding one or more clock gating circuit blocks are enabled or disabled through the logical operation result output ("1" or "0").
在一些实施例中,使能控制信号包括第一使能控制信号和第二使能控制信号,此两个信号可以通过在第二端222处设置的2个输入管脚输入到控制模块230中。控制模块230可以进一步配置成以下四种模式:In some embodiments, the enable control signal includes a first enable control signal and a second enable control signal, and these two signals can be input into the control module 230 through two input pins provided at the second end 222 . The control module 230 can be further configured into the following four modes:
(1)在第一使能控制信号和第二使能控制信号都置0时,使得第一使能控制信号为第一指令,从而使得控制模块220根据功能逻辑信号来使能或禁用对应的一个或多个时钟门控电路块230。此时,时钟门控电路块230的使能输入只来源于功能逻辑信号,整个测试电路的时钟门控控制方式仍由原有的功能逻辑来控制。(1) When the first enable control signal and the second enable control signal are both set to 0, the first enable control signal is the first instruction, so that the control module 220 enables or disables the corresponding function according to the functional logic signal. One or more clock gating circuit blocks 230. At this time, the enable input of the clock gating circuit block 230 only comes from the functional logic signal, and the clock gating control mode of the entire test circuit is still controlled by the original functional logic.
(2)在第一使能控制信号置1而第二使能控制信号置0时,第一使能控制信号为第二指令,从而使得控制模块220将由输入其中的M个译码子信号产生的第一控制输出和功能逻辑信号做逻辑或操作,并使用逻辑或操作的输出来使能或禁用对应的一个或多个时钟门控电路块230。此时,当功能逻辑输入为1时,对应的时钟门控电路块230被使能,而即使当功能逻辑输入为0时,由于第一控制输出的存在,对应的时钟门控电路块仍可能被使能。如此,在由于功能逻辑电路块240较为复杂,导致一些时钟门控电路块230难以被使能时,L个控制模块220可以使得一部分原本处于禁用状态的时钟门控电路块230被使能,从而缓解或解决一些时钟门控电路块难以被使能的问题。 可以理解的是,M个译码子信号可以由为0的译码子信号和为1的译码子信号组成,可以根据需求来控制译码方式,以输出特定比例的两种译码子信号。假设为1的译码子信号个数为x个,则为0的译码子信号个数为M-x个,则可以合理设置译码方式,使得x的数值满足需要使能或禁用的时钟门控电路块的数量要求。例如,若在一些时钟门控电路块230难以被使能时仅期望再使能较少数量的时钟门控电路块230,则可以设置译码方式使得译码结果中译码子信号1的个数较少而译码子信号0的个数较多,通过控制模块的逻辑操作,使得仅有少量的二进制1与功能逻辑信号做逻辑或操作并将结果输出到时钟门控电路块230的使能端,以便再使能少量的时钟门控电路块。这种模式可以缓解或解决一些时钟门控电路块难以被使能从而导致测试向量积多的问题。(2) When the first enable control signal is set to 1 and the second enable control signal is set to 0, the first enable control signal is the second instruction, so that the control module 220 will generate the M decoding sub-signals input therein A logical OR operation is performed on the first control output and the functional logic signal, and the output of the logical OR operation is used to enable or disable the corresponding one or more clock gating circuit blocks 230 . At this time, when the functional logic input is 1, the corresponding clock gating circuit block 230 is enabled, and even when the functional logic input is 0, due to the existence of the first control output, the corresponding clock gating circuit block 230 is still enabled. is enabled. In this way, when some clock gating circuit blocks 230 are difficult to enable due to the complexity of the functional logic circuit block 240, the L control modules 220 can enable some of the clock gating circuit blocks 230 that are originally disabled, thereby enabling Alleviate or solve the problem of difficulty in enabling some clock gating circuit blocks. It can be understood that the M decoding sub-signals can be composed of a decoding sub-signal of 0 and a decoding sub-signal of 1, and the decoding method can be controlled according to requirements to output two decoding sub-signals in a specific ratio. . Assume that the number of decoding sub-signals that are 1 is x, and the number of decoding sub-signals that are 0 is M-x. Then the decoding method can be reasonably set so that the value of Number of circuit blocks required. For example, if it is only desired to enable a smaller number of clock gating circuit blocks 230 when some clock gating circuit blocks 230 are difficult to enable, the decoding method can be set so that the number of decoded sub-signal 1 in the decoding result is The number is small but the number of decoded sub-signal 0 is large. Through the logical operation of the control module, only a small number of binary 1s are logically ORed with the functional logic signal and the result is output to the use of the clock gating circuit block 230 enable terminal to enable a small number of clock gating circuit blocks. This mode can alleviate or solve the problem that some clock gating circuit blocks are difficult to enable, resulting in excessive test vector accumulation.
(3)在第一使能控制信号置0而第二使能控制信号置1时,第一使能控制信号为第三指令,从而使得控制模块220将输入其中的M个译码子信号和功能逻辑信号做逻辑与操作,并使用逻辑与操作的输出来使能或禁用对应的一个或多个时钟门控电路块230。此时,当功能逻辑输入为0时,对应的时钟门控电路块230一定被禁用,而即使当功能逻辑输入为1时,由于第一控制输出的存在,对应的时钟门控电路块230仍可能被禁用。如此,在由于功能逻辑电路块240较为复杂而导致一些时钟门控电路块230难以被禁用时,L个控制模块230可以使得一部分原本处于使能状态的时钟门控电路块230被禁用,从而缓解或解决一些时钟门控电路块难以被禁用的问题。如前述关于第(2)点描述的,可以合理设置译码方式,使得x的数值满足需要使能或禁用的时钟门控电路块的数量要求。例如,若在一些时钟门控电路块难以被禁用时期望再禁用较多数量的时钟门控电路块,则可以设置译码方式使得译码结果中译码子信号1的个数较少而译码子信号0的个数较多,通过控制模块的逻辑操作,使得较多的二进制0与功能逻辑信号做逻辑与操作并将结果输出到时钟门控电路块230的使能 端,以便再禁用较多的时钟门控电路块。这种模式可以缓解或解决一些时钟门控电路块难以被禁用从而导致测试翻转率过高、功耗过大等的问题。(3) When the first enable control signal is set to 0 and the second enable control signal is set to 1, the first enable control signal is the third command, so that the control module 220 will input the M decoding sub-signals and The functional logic signals are logically ANDed, and the output of the logical AND operation is used to enable or disable the corresponding one or more clock gating circuit blocks 230 . At this time, when the functional logic input is 0, the corresponding clock gating circuit block 230 must be disabled, and even when the functional logic input is 1, due to the existence of the first control output, the corresponding clock gating circuit block 230 is still disabled. May be disabled. In this way, when some clock gating circuit blocks 230 are difficult to disable due to the complexity of the functional logic circuit block 240, the L control modules 230 can disable some of the clock gating circuit blocks 230 that are originally enabled, thereby easing the problem. Or solve the problem that some clock gating circuit blocks are difficult to disable. As described above regarding point (2), the decoding method can be set appropriately so that the value of x meets the number of clock gating circuit blocks that need to be enabled or disabled. For example, if you want to disable a larger number of clock gating circuit blocks when some clock gating circuit blocks are difficult to disable, you can set the decoding method so that the number of decoded sub-signals 1 in the decoding result is smaller and the decoding result is smaller. There are a large number of code sub-signal 0s. Through the logical operation of the control module, more binary 0s are logically ANDed with the functional logic signals and the result is output to the enable end of the clock gating circuit block 230 for further disabling. More clock gating circuit blocks. This mode can alleviate or solve the problem that some clock gating circuit blocks are difficult to disable, resulting in excessive test toggle rates and excessive power consumption.
(4)在第一使能控制信号和第二使能控制信号都置1时,第一使能控制信号为第四指令,从而使得控制模块230根据由输入其中的M个译码子信号产生的第一控制输出来使能或禁用对应的一个或多个时钟门控电路块230。此时,时钟门控电路块230的使能输入只取决于译码器的第一控制输出,整个测试电路的时钟门控控制方式完全摆脱原有的功能逻辑。当测试系统同时存在一些时钟门控电路块难以被使能而另一些时钟门控电路块难以被禁用的问题时,可以通过这种模式来避开原有的复杂功能逻辑,从而解决或缓解同时存在的测试向量积多和测试翻转率过高的问题。(4) When the first enable control signal and the second enable control signal are both set to 1, the first enable control signal is the fourth instruction, so that the control module 230 generates a signal based on the M decoding sub-signals input therein. A first control output is used to enable or disable the corresponding one or more clock gating circuit blocks 230 . At this time, the enable input of the clock gating circuit block 230 only depends on the first control output of the decoder, and the clock gating control mode of the entire test circuit is completely free from the original functional logic. When the test system has the problem that some clock gating circuit blocks are difficult to enable and other clock gating circuit blocks are difficult to disable, this mode can be used to avoid the original complex functional logic, thereby solving or alleviating the problem at the same time. There are problems such as too many test vectors and too high test flip rate.
可以理解的是,本发明不限于以上的使能控制信号的置0或置1的设置方式,而是任何电位相反的数字信号都可以用于表示以上4种指令。并且,可以进一步理解,本发明并不限于以上一种置0置1组合方式,而是还可以使用其他组合方式,例如,第一使能控制信号置0而第二使能控制信号置1时,第一使能控制信号也可以是上述的第二指令。It can be understood that the present invention is not limited to the above setting method of setting the enable control signal to 0 or 1, but any digital signal with opposite potential can be used to represent the above four instructions. Moreover, it can be further understood that the present invention is not limited to the above combination method of setting 0 and setting 1, but can also use other combination methods, for example, when the first enable control signal is set to 0 and the second enable control signal is set to 1 , the first enable control signal may also be the above-mentioned second instruction.
在一些实施例中,译码器可以采用独热译码器,并生成的是L位二进制独热译码,并且L=2 N。具体而言,由于N位二进制输入具有2 N种可能性(例如,二位二进制输入有00、01、10、11四种可能性),可以以2 N位二进制独热译码表示该L种可能性,而独热译码可以使得该译码结果中只有一个码位为1,其余码位都为0。例如,当N为3时,独热译码器可以将3位二进制输入编码如下表1所示: In some embodiments, the decoder may use a one-hot decoder and generate an L-bit binary one-hot decoding, and L=2 N . Specifically, since the N-bit binary input has 2 N possibilities (for example, the two-bit binary input has four possibilities: 00, 01, 10, and 11), the L kinds can be represented by 2 N- bit binary one-hot decoding. Possibility, and one-hot decoding can make only one code bit in the decoding result be 1, and the remaining code bits are all 0. For example, when N is 3, the one-hot decoder can encode the 3-bit binary input as shown in Table 1 below:
  3位二进制输入3-bit binary input 2 3位独热译码 2 3 -bit one-hot decoding
11 000000 0000000100000001
22 001001 0000001000000010
33 010010 0000010000000100
44 011011 0000100000001000
55 100100 0001000000010000
66 101101 0010000000100000
77 110110 0100000001000000
88 111111 1000000010000000
表1:3位输入独热译码示例Table 1: 3-bit input one-hot decoding example
采用独热译码能够使得每种二进制输入都由仅包括一个1的二进制输出来表示,从而控制了为1的译码子信号数量,当测试电路中存在测试向量积多而一些时钟门控电路块难以使能的情况时,使得仅一小部分比例的时钟门控电路块被使能。这样,每次仅再使能一小部门时钟门控电路块,不会使得测试翻转率和功耗突然升高很多。The use of one-hot decoding can make each binary input represented by a binary output including only one 1, thus controlling the number of decoding sub-signals that are 1. When there are many test vector products in the test circuit and some clock gating circuits When a block is difficult to enable, only a small proportion of the clock gating circuit blocks are enabled. In this way, only a small part of the clock gating circuit blocks are enabled each time, which will not cause the test toggle rate and power consumption to suddenly increase a lot.
图3是表示根据本发明的另一些实施例的图2中的时钟门控控制电路的一种具体结构300示意图。作为示例,图2中的控制模块220可以例如是图3中所示出的控制模块320的逻辑电路组合方式,并且时钟门控控制电路300还包括非门电路350,其用于在将第二使能控制信号输入到控制模块320之前对第二使能控制信号进行逻辑非操作,并产生第二控制输出。该控制模块320包括:第一或门电路321,其用于对M个译码子信号进行逻辑或操作以产生第一控制输出;第一与门电路322,其用于对第一控制输出和第一使能控制信号的输入进行逻辑与操作,以产生第三控制输出;第二或门电路323,其用于对第一控制输出和第二控制输出进行逻辑或操作以产生第四控制输出;第三或门电路324,其用于对第三控制输出和功能逻辑信号的输入进行逻辑或操作以产生第五控制输出;第二与门电路325,其用于对第四控制输出和第五控制输出进行逻辑与操作以产生第六控制输出,第六控制输出连接到相应一个或多个时钟门控电路块330(图示为1个)的使能端。FIG. 3 is a schematic diagram showing a specific structure 300 of the clock gating control circuit in FIG. 2 according to other embodiments of the present invention. As an example, the control module 220 in FIG. 2 may be, for example, a logic circuit combination of the control module 320 shown in FIG. 3 , and the clock gating control circuit 300 further includes a NOT gate circuit 350 for converting the second Before the enable control signal is input to the control module 320, a logical negation operation is performed on the second enable control signal and a second control output is generated. The control module 320 includes: a first OR gate circuit 321, which is used to perform a logical OR operation on M decoding sub-signals to generate a first control output; a first AND gate circuit 322, which is used to combine the first control output and The input of the first enable control signal performs a logical AND operation to generate a third control output; the second OR gate circuit 323 is used to perform a logical OR operation on the first control output and the second control output to generate a fourth control output. ; The third OR gate circuit 324, which is used to perform a logical OR operation on the input of the third control output and the functional logic signal to generate the fifth control output; the second AND gate circuit 325, which is used to perform a logical OR operation on the fourth control output and the third control output; The five control outputs perform a logical AND operation to generate a sixth control output, and the sixth control output is connected to the enable end of one or more clock gating circuit blocks 330 (one is shown in the figure).
在一些实施例中,M优选取值为2。并且,可以根据对测试电路的翻转率来确定N的合适取值。实践中,N的取值一般是4(对应12.5%的翻转率)、5(对应7.25%的翻转率)和6(对应3.125%的翻转率),假设测试电路的翻转率要求为12.5%,则可以设置4位二进制输入。为了举例说明图3的结构300的具体控制流程,以下将根据图3,、结合M为2、N为4且采用独热译码方式的优选实施例来描述。In some embodiments, M preferably takes a value of 2. Moreover, the appropriate value of N can be determined based on the flip rate of the test circuit. In practice, the values of N are generally 4 (corresponding to a flip rate of 12.5%), 5 (corresponding to a flip rate of 7.25%) and 6 (corresponding to a flip rate of 3.125%). Assume that the flip rate requirement of the test circuit is 12.5%. Then you can set a 4-bit binary input. In order to illustrate the specific control process of the structure 300 of Figure 3, the following will be described based on Figure 3, in conjunction with a preferred embodiment in which M is 2, N is 4, and a one-hot decoding method is used.
首先,2个独热译码器310中的每个独热译码器310都接收4位二进制输入并对其进行译码,由此,每个独热译码器310都产生2 4=16个译码子信号。如图3所示,2个独热译码器310各提供1个译码子信号,以组成输入到对应的一个控制模块320的2个译码子信号,该2个译码子信号在输入控制模块320后进入到第一或门电路321并进行逻辑或操作,产生第一控制输出。由于存在16个控制模块和对应的16对译码子信号,所以根据独热译码输出的性质(每个独热译码器310的16个输出中只有一个为1),该16个控制模块的16个第一控制输出中,具有2个第一控制输出为1,而其余第一控制输出均为0。 First, each of the 2 one-hot decoders 310 receives a 4-bit binary input and decodes it, whereby each one-hot decoder 310 produces 2 4 =16 decoding sub-signal. As shown in Figure 3, two one-hot decoders 310 each provide one decoding sub-signal to form two decoding sub-signals that are input to a corresponding control module 320. The two decoding sub-signals are input The control module 320 then enters the first OR gate circuit 321 and performs a logical OR operation to generate a first control output. Since there are 16 control modules and corresponding 16 pairs of decoding sub-signals, according to the nature of the one-hot decoding output (only one of the 16 outputs of each one-hot decoder 310 is 1), the 16 control modules Among the 16 first control outputs, 2 first control outputs are 1, and the remaining first control outputs are all 0.
然后,若将第一使能控制信号和第二使能控制信号都置0(即,如第一指令),则不论第一控制输出是0还是1,第一与门电路322产生的第三控制输出始终是0,且第二使能控制信号在经过非门350后产生的第二控制输出始终为1。此时,若功能逻辑信号输入为0,则第三或门电路324产生的第五控制输出为0,则第二与门电路325产生的第六控制输出始终为0;而若功能逻辑信号输入为1,则第三或门电路324产生的第五控制输出为1,而由于第二控制输出始终为1,所以不论第一控制输出是0还是1,第二或门电路323产生的第四控制输出始终为1,最终导致第二与门电路325产生的第六控制输出位1。综上,若将第一使能控制信号和第二使能控制信号都置0,则功能逻辑信号输入时钟与第六控制输出一致,整个测试电路的时钟门控控制方式仍由原有的功能逻辑信号来控制。Then, if both the first enable control signal and the second enable control signal are set to 0 (that is, like the first instruction), no matter whether the first control output is 0 or 1, the third output generated by the first AND gate circuit 322 The control output is always 0, and the second control output generated by the second enable control signal after passing through the inverter 350 is always 1. At this time, if the functional logic signal input is 0, the fifth control output generated by the third OR gate circuit 324 is 0, and the sixth control output generated by the second AND gate circuit 325 is always 0; and if the functional logic signal input is 1, then the fifth control output generated by the third OR gate circuit 324 is 1, and since the second control output is always 1, no matter the first control output is 0 or 1, the fourth control output generated by the second OR gate circuit 323 is 1. The control output is always 1, ultimately resulting in a sixth control output bit 1 generated by the second AND gate circuit 325 . In summary, if the first enable control signal and the second enable control signal are both set to 0, the functional logic signal input clock is consistent with the sixth control output, and the clock gating control method of the entire test circuit is still controlled by the original function. Logic signals to control.
若将第一使能控制信号置1且第二使能控制信号置0(即,如第二指令),则类似于上述结合图3的分析流程,可以得出图3中的每个控制模块320的第六控制输出(即每个时钟门控电路块330的使能端输入)的结果相当于功能逻辑电路块与第一控制输出做逻辑或操作。如此,当测试电路存在测试向量积多而一些时钟门控电路块330难以使能的问题时,16个控制模块320的16个第一控制输出中那2个为1的第一控制输出能够与对应的两个功能逻辑信号做逻辑或操作,输出为1的第六控制输出,从而再使能2个时钟门控电路块330。如此,使得比例为2/16的时钟门控电路330被使能以为2/16的被测电路提供时钟输入,以达到12.5%(2/16)的翻转率要求。这缓解了由于功能逻辑复杂致使的时钟门控电路块难以打开而导致的测试向量积多、测试时间过长的问题,并且每次只打开2个时钟门控电路块,并不会对测试电路的功耗产生巨大影响。If the first enable control signal is set to 1 and the second enable control signal is set to 0 (that is, like the second instruction), then similar to the above analysis process combined with Figure 3, it can be obtained that each control module in Figure 3 The result of the sixth control output of 320 (that is, the enable terminal input of each clock gating circuit block 330) is equivalent to a logical OR operation between the functional logic circuit block and the first control output. In this way, when the test circuit has a problem that there are too many test vectors and some clock gating circuit blocks 330 are difficult to enable, the 2 first control outputs that are 1 among the 16 first control outputs of the 16 control modules 320 can be compared with The corresponding two functional logic signals perform a logical OR operation and output a sixth control output of 1, thereby enabling two more clock gating circuit blocks 330. In this way, the clock gating circuit 330 with a ratio of 2/16 is enabled to provide clock input to 2/16 of the circuit under test to achieve the toggle rate requirement of 12.5% (2/16). This alleviates the problems of excessive test vector accumulation and long test time due to the difficulty in opening clock gating circuit blocks due to complex functional logic. Furthermore, only 2 clock gating circuit blocks are opened at a time, which does not affect the test circuit. has a huge impact on power consumption.
若将第一使能控制信号置0且第二使能控制信号置1(即,如第三指令),则类似于上述结合图3的分析流程,可以得出图3中的每个控制模块320的第六控制输出(即每个时钟门控电路块330的使能端输入)的结果相当于功能逻辑电路块与第一控制输出做逻辑与操作。如此,当测试电路存在翻转率过高而一些时钟门控电路块330难以禁用的问题时,16个控制模块320的16个第一控制输出中那14个为0的第一控制输出能够与对应的14个功能逻辑信号做逻辑与操作,输出为0的第六控制输出,从而再禁用14个时钟门控电路块320。如此,可以停止14个时钟门控电路块320对应的一个或多个被测电路部分的时钟输入,这可以解决翻转率过高、功耗过大等问题,从而增加了测试的成功率。If the first enable control signal is set to 0 and the second enable control signal is set to 1 (that is, like the third instruction), then similar to the above analysis process combined with Figure 3, it can be obtained that each control module in Figure 3 The result of the sixth control output of 320 (that is, the enable terminal input of each clock gating circuit block 330) is equivalent to a logical AND operation between the functional logic circuit block and the first control output. In this way, when the test circuit has a problem that the toggle rate is too high and some clock gating circuit blocks 330 are difficult to disable, the 14 first control outputs of 0 among the 16 first control outputs of the 16 control modules 320 can be corresponding to The 14 functional logic signals perform a logical AND operation, and the output is a sixth control output of 0, thereby disabling 14 clock gating circuit blocks 320 . In this way, the clock input of one or more circuit parts under test corresponding to the 14 clock gating circuit blocks 320 can be stopped, which can solve problems such as excessive toggle rate and excessive power consumption, thereby increasing the success rate of the test.
若将第一使能控制信号和第二使能控制信号都置1(即,如第四指令),则类似于上述结合图3的分析流程,可以得出图3中的每个控制模块320的第六控制输出(即每个时钟门控电路块330的使能端输入)的结果仅与第一控制输出保持一致。如此,当测试电路同时存 在翻转率过高和测试向量积多的问题(同时存在一些时钟门控电路块难以使能和难以禁用的问题)时,测试电路可以完全避开原有功能逻辑控制的复杂性问题,更高效地产生测试向量并进行测试。If both the first enable control signal and the second enable control signal are set to 1 (that is, like the fourth instruction), then similar to the above analysis process combined with Figure 3, it can be obtained that each control module 320 in Figure 3 The result of the sixth control output (ie, the enable terminal input of each clock gating circuit block 330) is only consistent with the first control output. In this way, when the test circuit has the problems of too high toggle rate and too many test vectors (and there are also problems that some clock gating circuit blocks are difficult to enable and disable), the test circuit can completely avoid the original functional logic control. Complexity issues, generate test vectors and perform testing more efficiently.
此外,对于由第一使能控制信号置1(如在第二指令和第四指令时)导致的时钟门控控制逻辑覆盖率丢失的问题,可以在测试向量产生完成后,将第一使能控制信号和第二使能控制信号都置0(即,如第一指令),并再补充加载少量测试向量,弥补丢失的覆盖率。In addition, for the problem of loss of clock gating control logic coverage caused by the first enable control signal being set to 1 (such as during the second and fourth instructions), the first enable control signal can be set to 1 after the test vector generation is completed. The control signal and the second enable control signal are both set to 0 (ie, like the first instruction), and a small amount of test vectors are additionally loaded to make up for the lost coverage.
在以上采用采用2个独热译码器的实施例中,可以通过独立控制两个独热译码器来打开任意2个时钟门控电路块进行测试,如此,可以遍历任意两个时钟门控电路的所有组合,本发明的方案不会造成任意2个时钟门控逻辑之间的覆盖率丢失。据此,可以理解的是,采用M>2的其他个数的译码器的实施例中,可以保证不会造成任意个数的时钟门控逻辑之间的覆盖率丢失(例如采用3个译码器以打开任意3个时钟门控电路块进行测试,以保证不会造成任意3个时钟门控逻辑之间的覆盖率丢失)。In the above embodiment using two one-hot decoders, any two clock gating circuit blocks can be opened for testing by independently controlling the two one-hot decoders. In this way, any two clock gating circuit blocks can be traversed For all combinations of circuits, the solution of the present invention will not cause coverage loss between any two clock gating logics. Based on this, it can be understood that in embodiments using other numbers of decoders with M>2, it can be guaranteed that coverage loss between any number of clock gating logics will not occur (for example, using 3 decoders) The coder is tested by turning on any three clock gating circuit blocks to ensure that there will be no loss of coverage between any three clock gating logic).
在一些实施例中,由与M个译码器一一对应的M条扫描链为每个译码器提供N位二进制输入。具体而言,类似于参考图1A描述的扫描链电路,每条扫描链电路都可以由N个扫描触发器串联组成。每条扫描链电路通过其N个扫描触发器输出N位二进制测试向量到对应的一个译码器210中。优选地,该M条扫描链彼此串联连接。In some embodiments, each decoder is provided with N-bit binary input by M scan chains corresponding one-to-one to the M decoders. Specifically, similar to the scan chain circuit described with reference to FIG. 1A , each scan chain circuit may be composed of N scan flip-flops connected in series. Each scan chain circuit outputs N-bit binary test vectors to a corresponding decoder 210 through its N scan flip-flops. Preferably, the M scan chains are connected to each other in series.
本发明还包括一种芯片测试电路,其使用如上文描述的各种实施例中的任一实施例的时钟门控控制电路。例如,在基于扫描链的芯片测试电路中,可以将扫描链分为M个扫描子链(每个包括N个扫描触发器)并分别将M个N位二进制输出输出到上述时钟门控控制电路中,进而控制芯片测试电路中各个被测电路部门的时钟输入。当然,也可以是将M条扫描链(每条包括N个扫描触发器),每条扫描链彼此之间可以是串联连接的方式。The present invention also includes a chip test circuit using a clock gating control circuit as in any of the various embodiments described above. For example, in a scan chain-based chip test circuit, the scan chain can be divided into M scan sub-chains (each including N scan flip-flops) and the M N-bit binary outputs are output to the above-mentioned clock gating control circuit respectively. , and then control the clock input of each circuit department under test in the chip test circuit. Of course, M scan chains (each including N scan flip-flops) may also be connected in series, and each scan chain may be connected to each other in series.
以上主要说明了本发明的时钟门控控制电路和对应的芯片测 试电路。尽管只对其中一些本发明的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。The above mainly describes the clock gating control circuit and the corresponding chip test circuit of the present invention. Although only some specific embodiments of the invention have been described, those of ordinary skill in the art will understand that the invention can be implemented in many other forms without departing from the spirit and scope thereof. Accordingly, the examples and embodiments shown are to be regarded as illustrative and not restrictive, and the present invention may cover various modifications without departing from the spirit and scope of the invention as defined by the appended claims. with replacement.

Claims (10)

  1. 一种时钟门控控制电路,其用于控制被测电路的多个被测电路部分的时钟输入,其特征在于,所述时钟门控控制电路包括:A clock gating control circuit used to control clock inputs of multiple circuit parts under test, characterized in that the clock gating control circuit includes:
    M个译码器,所述M个译码器中的每个译码器接收N位二进制输入并对所接收的N位二进制输入进行译码,生成L位二进制译码并输出对应于所述L位二进制译码的L个译码子信号;M decoders, each of the M decoders receives N-bit binary input and decodes the received N-bit binary input, generates L-bit binary decoding and outputs corresponding to the L decoding sub-signals of L-bit binary decoding;
    多个时钟门控电路块,所述多个时钟门控电路块中的每个时钟门控电路块用于控制一个或多个所述被测电路部分的时钟输入;a plurality of clock gating circuit blocks, each clock gating circuit block of the plurality of clock gating circuit blocks being configured to control a clock input to one or more of the circuit portions under test;
    功能逻辑电路块,所述功能逻辑电路块输出功能逻辑信号;以及a functional logic circuit block that outputs a functional logic signal; and
    L个控制模块,所述L个控制模块中的所述每个控制模块根据外部输入的使能控制信号、所述M个译码子信号和所述功能逻辑信号来使能或禁用一个或多个所述时钟门控电路块,其中,所述M个译码子信号由所述M个译码器中的每个译码器各自提供一个所述译码子信号而组成,并且其中,M、N和L均为正整数。L control modules, each of the L control modules enables or disables one or more according to the externally input enable control signal, the M decoding sub-signals and the functional logic signal. of the clock gating circuit blocks, wherein the M decoding sub-signals are composed of each of the M decoders providing one of the decoding sub-signals, and wherein, M , N and L are all positive integers.
  2. 根据权利要求1所述的时钟门控控制电路,其特征在于,所述L个控制模块中的每个控制模块根据输入的所述M个译码子信号产生第一控制输出,所述使能控制信号包括第一指令、第二指令、第三指令和第四指令四种类型,所述控制模块配置成使得:The clock gating control circuit according to claim 1, characterized in that each of the L control modules generates a first control output according to the input M decoding sub-signals, and the enable The control signal includes four types: first instruction, second instruction, third instruction and fourth instruction, and the control module is configured such that:
    在所述使能控制信号为所述第一指令时,根据所述功能逻辑信号来使能或禁用对应的所述一个或多个时钟门控电路块;When the enable control signal is the first instruction, enable or disable the corresponding one or more clock gating circuit blocks according to the functional logic signal;
    在所述使能控制信号为所述第二指令时,根据所述第一控制 输出和所述功能逻辑信号的逻辑或结果来使能或禁用对应的所述一个或多个时钟门控电路块;When the enable control signal is the second instruction, the corresponding one or more clock gating circuit blocks are enabled or disabled according to the logical OR result of the first control output and the functional logic signal. ;
    在所述使能控制信号为所述第三指令时,根据所述第一控制输出和所述功能逻辑信号的逻辑与结果来使能或禁用对应的所述一个或多个时钟门控电路块;以及When the enable control signal is the third instruction, the corresponding one or more clock gating circuit blocks are enabled or disabled according to the logical AND result of the first control output and the functional logic signal. ;as well as
    在所述使能控制信号为所述第四指令时,根据所述第一控制输出来使能或禁用对应的所述一个或多个时钟门控电路块。When the enable control signal is the fourth instruction, the corresponding one or more clock gating circuit blocks are enabled or disabled according to the first control output.
  3. 根据权利要求2所述的时钟门控控制电路,其特征在于,所述使能控制信号包括第一使能控制信号和第二使能控制信号,并且:The clock gating control circuit according to claim 2, wherein the enable control signal includes a first enable control signal and a second enable control signal, and:
    在所述第一使能控制信号和所述第二使能控制信号都置0时,所述使能控制信号为第一指令;When the first enable control signal and the second enable control signal are both set to 0, the enable control signal is the first instruction;
    在所述第一使能控制信号置1而所述第二使能控制信号置0时,所述使能控制信号为第二指令;When the first enable control signal is set to 1 and the second enable control signal is set to 0, the enable control signal is a second instruction;
    在所述第一使能控制信号置0而所述第二使能控制信号置1时,所述使能控制信号为第三指令;以及When the first enable control signal is set to 0 and the second enable control signal is set to 1, the enable control signal is a third instruction; and
    在所述第一使能控制信号和所述第二使能控制信号都置1时,所述使能控制信号为第四指令。When the first enable control signal and the second enable control signal are both set to 1, the enable control signal is a fourth instruction.
  4. 根据权利要求3所述的时钟门控控制电路,其特征在于,所述时钟门控控制电路还包括非门电路,其用于在将第二使能控制信号输入到所述控制模块之前对所述第二使能控制信号进行逻辑非操作,并产生第二控制输出,所述控制模块还包括:The clock gating control circuit according to claim 3, characterized in that, the clock gating control circuit further includes a NOT gate circuit, which is used to control all the second enable control signals before inputting the second enable control signal to the control module. The second enable control signal performs a logical negation operation and generates a second control output. The control module also includes:
    第一或门电路,其用于对所述M个译码子信号进行逻辑或操作以产生第一控制输出;A first OR gate circuit, which is used to perform a logical OR operation on the M decoding sub-signals to generate a first control output;
    第一与门电路,其用于对所述第一控制输出和所述第一使能控制信号的进行逻辑与操作,以产生第三控制输出;A first AND gate circuit configured to perform a logical AND operation on the first control output and the first enable control signal to generate a third control output;
    第二或门电路,其用于对所述第一控制输出和所述第二控制输出进行逻辑或操作以产生第四控制输出;a second OR gate circuit configured to perform a logical OR operation on the first control output and the second control output to generate a fourth control output;
    第三或门电路,其用于对所述第三控制输出和所述功能逻辑信号进行逻辑或操作以产生第五控制输出;以及a third OR gate circuit for performing a logical OR operation on the third control output and the functional logic signal to generate a fifth control output; and
    第二与门电路,其用于对所述第四控制输出和所述第五控制输出进行逻辑与操作以产生第六控制输出,所述第六控制输出连接到相应的一个或多个所述时钟门控电路块的使能端。A second AND gate circuit configured to perform a logical AND operation on the fourth control output and the fifth control output to generate a sixth control output, and the sixth control output is connected to the corresponding one or more of the The enable side of the clock gating circuit block.
  5. 根据权利要求4所述的时钟门控控制电路,其特征在于,所述M取值为2。The clock gating control circuit according to claim 4, wherein the value of M is 2.
  6. 根据权利要求1-5中的任一项所述的时钟门控控制电路,其特征在于,所述译码器采用独热译码器,其生成的是L位二进制独热译码,且L等于2 NThe clock gating control circuit according to any one of claims 1 to 5, characterized in that the decoder adopts a one-hot decoder, which generates L-bit binary one-hot decoding, and L Equal to 2 N .
  7. 根据权利要求1-5中的任一项所述的时钟门控控制电路,其特征在于,根据芯片测试的翻转率来确定所述N的取值。The clock gating control circuit according to any one of claims 1 to 5, characterized in that the value of N is determined according to the flip rate of chip testing.
  8. 根据权利要求1-5中的任一项所述的时钟门控控制电路,其特征在于,由与所述M个译码器一一对应的M条扫描链为每个所述译码器提供所述N位二进制输入。The clock gating control circuit according to any one of claims 1-5, characterized in that, each of the decoders is provided with M scan chains corresponding to the M decoders. The N-bit binary input.
  9. 根据权利要求8所述的时钟门控控制电路,其特征在于,所述M条扫描链彼此串联连接。The clock gating control circuit according to claim 8, wherein the M scan chains are connected to each other in series.
  10. 一种芯片测试电路,其特征在于,包含如权利要求1-9中的任一项所述的时钟门控控制电路。A chip test circuit, characterized by comprising the clock gating control circuit according to any one of claims 1-9.
PCT/CN2022/086522 2022-03-31 2022-04-13 Clock gating control circuit and chip test circuit WO2023184573A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210332010.X 2022-03-31
CN202210332010.XA CN114563694B (en) 2022-03-31 2022-03-31 Clock gating control circuit and chip test circuit

Publications (1)

Publication Number Publication Date
WO2023184573A1 true WO2023184573A1 (en) 2023-10-05

Family

ID=81719158

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/086522 WO2023184573A1 (en) 2022-03-31 2022-04-13 Clock gating control circuit and chip test circuit

Country Status (2)

Country Link
CN (1) CN114563694B (en)
WO (1) WO2023184573A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130271197A1 (en) * 2012-04-11 2013-10-17 Amit Sanghani Power droop reduction via clock-gating for at-speed scan testing
CN104769841A (en) * 2012-09-19 2015-07-08 高通股份有限公司 Clock gating circuit for reducing dynamic power
CN110514981A (en) * 2018-05-22 2019-11-29 龙芯中科技术有限公司 Clock control method, device and the integrated circuit of integrated circuit
CN111610435A (en) * 2020-05-22 2020-09-01 Oppo广东移动通信有限公司 Control circuit, chip and control method for controlling clock gating unit
CN114113989A (en) * 2022-01-26 2022-03-01 成都爱旗科技有限公司 DFT test device, test system and test method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01270683A (en) * 1988-04-22 1989-10-27 Mitsubishi Electric Corp Semiconductor integrated circuit
JP2584172B2 (en) * 1991-08-23 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション Digital test signal generation circuit
JP2009222644A (en) * 2008-03-18 2009-10-01 Toshiba Corp Semiconductor integrated circuit, and design automating system
US8904255B2 (en) * 2012-02-21 2014-12-02 Lsi Corporation Integrated circuit having clock gating circuitry responsive to scan shift control signal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130271197A1 (en) * 2012-04-11 2013-10-17 Amit Sanghani Power droop reduction via clock-gating for at-speed scan testing
CN104769841A (en) * 2012-09-19 2015-07-08 高通股份有限公司 Clock gating circuit for reducing dynamic power
CN110514981A (en) * 2018-05-22 2019-11-29 龙芯中科技术有限公司 Clock control method, device and the integrated circuit of integrated circuit
CN111610435A (en) * 2020-05-22 2020-09-01 Oppo广东移动通信有限公司 Control circuit, chip and control method for controlling clock gating unit
CN114113989A (en) * 2022-01-26 2022-03-01 成都爱旗科技有限公司 DFT test device, test system and test method

Also Published As

Publication number Publication date
CN114563694B (en) 2022-10-28
CN114563694A (en) 2022-05-31

Similar Documents

Publication Publication Date Title
US8880965B2 (en) Low power scan flip-flop cell
EP2151051B1 (en) Scan flip-flop with internal latency for scan input
US10931264B2 (en) Low-power flip flop circuit
US7353441B2 (en) Flip flop circuit and apparatus using a flip flop circuit
JP5275136B2 (en) Semiconductor integrated circuit
US20070016834A1 (en) Reducing Power Dissipation During Sequential Scan Tests
WO2021134220A1 (en) Chip, chip testing method and electronic device
KR100660639B1 (en) Data output circuit of ddr semiconductor device and semiconductor device including the same
US9097764B2 (en) Scan chain in an integrated circuit
WO2023184573A1 (en) Clock gating control circuit and chip test circuit
US20230378941A1 (en) Flip Flop Circuit
US8749286B2 (en) Programmable scannable storage circuit
US6735729B1 (en) Compression circuit for testing a memory device
CN115236493B (en) DFT test circuit, test system and test method
KR100892633B1 (en) Circuit and Method for Testing Input Data in Semiconductor Memory Apparatus
CN110098829B (en) Latch circuit and integrated circuit
US20240110976A1 (en) Electronic device and method for performing clock gating in electronic device
JPH0358143A (en) Scan in/out logic circuit for lsi
JPS6341219B2 (en)
JPH04270976A (en) Testing circuit of semiconductor integrated circuit
Hardy et al. Logic gates
JPH0572267A (en) Semiconductor integrated circuit
JPH05282897A (en) Semiconductor memory circuit
JPH0661798A (en) Schmitt input cell test circuit and floppy disk drive provided with the same
JPH09230008A (en) Test constitution for binary counter

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: 22934399

Country of ref document: EP

Kind code of ref document: A1