WO2022041154A1 - Hold time margin detection circuit - Google Patents
Hold time margin detection circuit Download PDFInfo
- Publication number
- WO2022041154A1 WO2022041154A1 PCT/CN2020/112289 CN2020112289W WO2022041154A1 WO 2022041154 A1 WO2022041154 A1 WO 2022041154A1 CN 2020112289 W CN2020112289 W CN 2020112289W WO 2022041154 A1 WO2022041154 A1 WO 2022041154A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- clock
- shaped metal
- registers
- circuit
- delay
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
Definitions
- the embodiments of the present application relate to the technical field of circuits, and in particular, to a detection circuit that maintains a time margin.
- Timing design and analysis is one of the important aspects of chip design.
- STA static timing analysis
- STA is an analysis method that covers boundary conditions.
- the boundary conditions can be covered by pessimism to simulate the performance changes of different tubes inside the chip due to process deviations, voltage drops, and temperature changes.
- pessimism covers boundary conditions.
- the boundary conditions can be covered by pessimism to simulate the performance changes of different tubes inside the chip due to process deviations, voltage drops, and temperature changes.
- the boundary conditions are set too strict, the design difficulty will be greatly increased, and at the same time, too many Die resources will be occupied, which will reduce the competitiveness of the product. If the boundary conditions are set too loose, quality problems may occur, resulting in a series of index problems or even failure of the chip to work.
- Figure 1 shows an existing intellectual property (IP) design (patent number: US7930663B2).
- IP intellectual property
- a delay line delay0 is formed between the clock terminal Clk1 of the register FF1 and the clock terminal Clk2 of the register FF2 through the stdcell, and the initial state of the circuit is configured to maintain a successful state.
- the delay selection modules delaySel1 and delaySe2 The signal configuration, select With different delay values, until the circuit appears in the hold fail state, the peripheral circuit detects the hold success state and hold fail state of the sequence of the circuit to be tested, and then reads the test results through the bus to obtain the hold time margin. Quantity, so as to provide a basis for the upgrade of the next generation of chips.
- the delay line (delay line) composed of the standard unit stdcell has poor accuracy in detecting the hold time.
- the number of timing violations caused by the uncertainty of 1ps may be one hundred thousand or even one million. Therefore, if the lack of precision is applied in practical projects, it means that it will face a great risk of timing violation, so this scheme does not have obvious practical engineering significance.
- the embodiment of the present application provides a detection circuit for maintaining a time margin, which can improve the detection accuracy of maintaining the time margin.
- a first aspect of the embodiments of the present application provides a detection circuit for maintaining a time margin.
- the detection circuit includes: a controller, a generator, and a decision circuit; the generator includes at least one group of test circuits, and each group of test circuits includes N The first register, the N second registers, and the N data delay units, the delays of the N data delay units are sequentially increased, and the delay difference between two adjacent data delay units is less than or equal to the preset value, and N is An integer greater than 1; wherein the controller, the clock terminals of the N first registers and the clock terminals of the N second registers are connected to the same clock output terminal of the controller, and the data output terminals of the N first registers are respectively connected to the N The input ends of the data delay units are connected, the output ends of the N data delay units are respectively connected with the data input ends of the N second registers, and the data output ends of the N second registers are connected with the judgment circuit; the judgment circuit is used to detect the N second registers.
- the output state of the second register, and the output state of the N second registers is transmitted to the controller.
- N data delay units between the N first registers and the N second registers, and the delays of the N data delay units are sequentially increased the delays of the data paths of the N groups of registers are different from each other. same. Since the delay of the data path from the first register to the second register is greater than the delay of the clock path, the output state of the second register is the hold-success state; when the delay of the data path from the first register to the second register is less than the clock The time delay of the path, the output state of the second register is the hold failure state.
- the delays of the data paths from the N first registers to the N second registers are different from each other. , so the output state of a part of the second registers in the N registers is a hold failure state, and the output state of another part of the registers is a hold success state.
- the hold time margin can be detected, and this application
- the step accuracy of the delay increment of the N data delay units is smaller than the preset value. Therefore, based on the hold failure state and hold success state of the second register, the accuracy of the detected hold time margin is high.
- the It can provide a strong basis for the design of the next-generation chips, making the products of the next-generation chips more competitive. It can be understood that a first register and a second register connected to the register through a data delay unit may be referred to as a group of registers.
- the N data delay units respectively include N S-shaped metal windings, and the lengths of the N S-shaped metal windings increase sequentially.
- the lengths of the N S-shaped metal windings are sequentially increased, so that the delay of the data path of the N groups of registers is sequentially increased, and the retention time can be controlled by designing the length difference between two adjacent S-shaped metal windings.
- the detection accuracy of the margin makes the detection retention time margin more accurate.
- the length difference between two adjacent S-shaped metal windings in the N S-shaped metal windings is the same.
- the detection accuracy of the retention time margin can be controlled by setting the length difference between two adjacent S-shaped metal windings, so that the detection accuracy of the retention time margin is high. It can be understood that due to the nonlinear characteristics of metal, when the lengths of N S-shaped metal windings increase sequentially, and the two adjacent S-shaped windings increase by the same length, the delays of the N data delay units increase sequentially. , but the delay difference (stepping precision) of two adjacent data delay units is not exactly the same.
- the S-shaped metal winding includes a first turning portion, a second turning portion, and one or more splicable portions, different S-shaped metal windings.
- the number of spliceable parts included in the winding varies. Based on this scheme, by designing the S-shaped metal winding into a splicable module, S-shaped metal windings of different lengths can be realized by increasing the number of splicable parts. This method has good controllability and can be adjusted according to the design scale. Different, the required delay value is different, the splicing can be freely realized, and the secondary inspection is convenient, which has good practical engineering significance.
- the first turning portion includes an input end of the S-shaped metal winding and an output end of the S-shaped metal winding; or, the second turning portion Including the input end of the S-shaped metal winding and the output end of the S-shaped metal winding. Based on this solution, the input end of the S-shaped metal winding and the output end of the S-shaped metal winding can be arranged on the same side.
- the first turning portion includes an input end of the S-shaped metal wire, and the second turning portion includes an output end of the S-shaped metal wire; or , the first turning portion includes the output end of the S-shaped metal winding, and the second turning portion includes the input end of the S-shaped metal winding.
- the input end of the S-shaped metal winding and the output end of the S-shaped metal winding can be arranged on different sides.
- the detection circuit further includes a clock selector and a clock delay circuit, the controller and the input end of the clock selector, and the data selection end of the clock selector. , and the clock terminals of the N first registers are connected, the output terminal of the clock selector is connected to the input terminal of the clock delay circuit, and the output terminal of the clock delay circuit is connected to the clock terminals of the N second registers.
- the clock selection module can be selected by the clock selector to perform large-scale adjustment, so that the output states of the N second registers have both a hold fail state and a hold pass state.
- the clock delay circuit includes M clock delay units, and the M clock delay units respectively have M different delays. Based on this scheme, the delay on the clock path can be adjusted by having M clock delay units with different delays.
- the controller is specifically configured to time-division control the clock selector to sequentially select each clock delay unit in the M clock delay units. Based on this scheme, by selecting different clock delay units by time division by the controller, large-scale adjustment can be performed, so that the output states of the N second registers have both a hold fail state and a hold pass state.
- the controller is specifically configured to: control the clock selector to select the first clock delay unit in the M clock delay units; if N second clock delay units The output states of the registers are all maintained successfully, and the controller controls the clock selector to select a second clock delay unit in the M clock delay units, and the delay of the second clock delay unit is greater than the delay of the first clock delay unit; If the output states of the N second registers are all fail to hold, the controller controls the clock selector to select a third clock delay unit among the M clock delay units, and the delay of the third clock delay unit is smaller than that of the first clock delay unit delay. Based on this solution, the controller closed-loop controls the clock selector to select the clock delay unit, so that the output states of the N second registers have both a hold fail state and a hold pass state.
- the detection circuit further includes an interface circuit
- the controller is connected to the interface circuit
- the controller is further configured to transmit the output states of the N second registers. to the interface circuit. Based on this solution, the output states of the N second registers can be transmitted to the external device through the interface circuit, and based on the output states of the N second registers and the simulation results, it can be determined whether the boundary conditions in the design stage are too strict or too loose .
- the process voltage and temperature PVT of the N first registers and the N second registers in the same group of test circuits are the same, and the PVT is a standard voltage threshold. SVT, Low Voltage Threshold LVT or Ultra Low Voltage Threshold ULVT. Based on this solution, test circuits of different PVTs can be set in the detection circuit, which can adapt to the process of different chips.
- an apparatus which includes a circuit board and a detection circuit for maintaining a time margin according to any one of the above-mentioned first aspect or possible implementation manners of the first aspect.
- FIG. 1 is a schematic diagram of an IP design of a detection time margin provided by an embodiment of the present application
- FIG. 2 is a schematic diagram of a synchronous sequential circuit according to an embodiment of the present application.
- FIG. 3 is a schematic diagram of a detection circuit for maintaining a time margin provided by an embodiment of the present application.
- FIG. 4 is a schematic structural diagram of a data delay unit according to an embodiment of the present application.
- FIG. 5 is a schematic diagram of the time delay and step accuracy of a data delay unit provided by an embodiment of the present application.
- FIG. 6 is a schematic diagram of a simulation result and a test result provided by an embodiment of the present application.
- FIG. 7 is a schematic diagram of another simulation result and test result provided by an embodiment of the present application.
- FIG. 8 is a schematic diagram of the division of an S-shaped metal winding according to an embodiment of the present application.
- FIG. 9 is a schematic diagram of wiring of an S-shaped metal winding according to an embodiment of the present application.
- FIG. 10 is a schematic diagram of the wiring of another S-shaped metal winding according to an embodiment of the application.
- FIG. 11 is a schematic diagram of another detection circuit for maintaining a time margin provided by an embodiment of the present application.
- FIG. 12 is a schematic diagram of another detection circuit for maintaining a time margin provided by an embodiment of the present application.
- FIG. 13 is a schematic diagram of another detection circuit for maintaining a time margin provided by an embodiment of the present application.
- At least one group refers to one or more groups
- multiple groups refers to two or more groups.
- the character “/” generally indicates that the associated object is a kind of " "or” relationship.
- At least one of the following items” or similar expressions refer to any combination of these items, including any combination of single item(s) or plural items(s).
- a, b or At least one item(s) of c which can represent: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b and c can be single, or It can be multiple.
- words such as “first” and “second” are used for the same items with basically the same functions and functions or Similar items are distinguished, and those skilled in the art can understand that words such as “first” and “second” do not limit the quantity and execution order.
- first and “Second” in the two registers is only used to distinguish different registers.
- the descriptions such as the first, the second, etc. appearing in the embodiments of this application are only for the purpose of indicating and distinguishing the description objects, and there is no order, nor does it mean that this
- the specific limitation on the number of devices in the application embodiment cannot constitute any limitation on the embodiment of the application.
- Figure 2 is a synchronous sequential circuit. As shown in Figure 2, the data output end Q of the register D1 is connected to the input end of the combinational logic, and the output end of the combinational logic is connected to the data input end D of the register D2.
- the clock terminal CP of the register D1 and the clock terminal CP of the register D2 are connected to the clock signal CLK.
- the clock valid edges of the clock terminals of the register D1 and the register D2 may be a rising edge or a falling edge. When the valid edge of the clock of register D1 and register D2 is the falling edge, when the clock terminal changes from high level to low level, register D1 or register D2 samples the data input terminal, and sends the sampled value to the data output terminal.
- the data output terminal maintains the original sampling value until the clock terminal changes from high level to low level for the second time. It can be understood that the output of the combinational logic at any moment only depends on the input at that moment, and has nothing to do with the original state of the circuit, and does not involve the processing of signal transition edges. The output of sequential logic at any time depends not only on the input at that time, but also on the original state of the circuit. When the valid edge (rising or falling edge) of the clock arrives, it is possible to make the output change.
- the data In order to achieve proper synchronization of the circuit shown in Figure 2, the data must be stable for a period of time before the valid edge of the clock (eg, rising or falling edge), which is the setup time.
- the data must also be stable for a period of time after the arrival of the valid edge of the clock, which is the hold time. That is, the data input must remain stable until the actual sampling time arrives, and the data input must also remain stable for a period of time after the sampling time. That is, the circuit can only be properly synchronized if the setup and hold times are met.
- the setup time and hold time are satisfied through the delay of the data path and the clock path. timing requirements. as shown in picture 2.
- the data path refers to the path that data travels from the entire transmission input end to the transmission output end
- the clock path refers to the path that the clock takes to reach each register.
- the simulation is performed based on the process file (spice model) released by the manufacturer (foundry) specializing in the production and manufacture of the chip.
- the delay delay inside the chip is fixed.
- the delay inside the chip may not be a fixed value, but a random value.
- a static timing analysis (STA) method can usually be used to ensure the timeliness of the design iteration cycle.
- on-chip variation can be used to simulate the performance variation between different devices within the chip due to process variation, voltage drop, and temperature variation.
- OCV on-chip variation
- the boundary conditions are set too strict, the design difficulty will be greatly increased, and at the same time, too many Die resources will be occupied, which will reduce the competitiveness of the product. If the boundary conditions are set too loose, quality problems may occur, resulting in a series of index problems or even failure of the chip to work.
- a test circuit can be set up in the chip to detect the holding time margin of the chip, and based on the holding time margin The design of the next-generation chip is adjusted so that the product competitiveness of the next-generation chip can be improved.
- Figure 1 shows an IP design for detecting time margin.
- the IP mainly consists of stdcell to form a delay line, and configures the initial state of the circuit to hold pass successfully.
- delaySel By adjusting the signal configuration of delaySel, you can choose With different delay values, until the circuit appears in the hold fail state, the peripheral circuit detects the pass and fail states of the sequence of the circuit to be tested, and then reads the detection results through the bus to obtain the hold time margin, so as to provide the next step.
- the upgrade of a generation of chips provides the basis.
- the accuracy of the retention time detected by stdcell is ideally about 7 to 8 ps.
- the number of timing violations caused by 1ps hold uncertainty may be 100,000 or even millions depending on the size of the SOC. Therefore, if the lack of 7-8ps precision is applied in practical projects, it means that it will face a great risk of timing violation, so this scheme does not have obvious practical engineering significance.
- an embodiment of the present application provides a detection circuit for maintaining the time margin.
- the detection circuit detects the retention time margin with high accuracy and can be used for next-generation chips
- the design provides a basis for improving the product competitiveness of next-generation chips.
- the detection circuit when the detection circuit provided by the following embodiments of the present application detects the holding time margin of the chip, the default chip meets the timing requirement of the setup time.
- FIG. 3 is a detection circuit for maintaining a time margin provided by an embodiment of the present application.
- the detection circuit includes a controller, a generator, and a decision circuit.
- the generator includes at least one group of test circuits, and each group of test circuits includes N first registers, N second registers, and N data delay units. The delays of the N data delay units are sequentially increased, and two adjacent data delay units are delayed. The delay difference of the unit is less than or equal to the preset value, and N is an integer greater than 1.
- the clock terminals of the N first registers (the CP terminals of the first registers) and the clock terminals of the N second registers (the CP terminals of the second registers) are connected to the same clock output terminal of the controller, and the N first registers are connected to the same clock output terminal of the controller.
- the data output terminals (QN terminals of the first register) are respectively connected with the input terminals of the N data delay units, and the output terminals of the N data delay units are respectively connected with the data input terminals of the N second registers (the D terminal of the second register). ) is connected, and the data output terminals (Q terminals of the second registers) of the N second registers are connected to the decision circuit.
- the decision circuit is used for detecting the output states of the N second registers, and transmitting the output states of the N second registers to the controller.
- the data output terminal of the first register is the QN terminal as an example for illustration.
- the data output terminal of the first register may also be the Q terminal.
- the data output terminal of the first register is the Q terminal
- the data input terminal of the first register is connected to the first register.
- the data output terminals are connected through inverters. It can be understood that the data output terminal QN of the first register is the inversion of the data input terminal D of the first register.
- the embodiment of the present application does not limit the specific value of N.
- the value of N can be determined in combination with the range of the clock delay.
- the value of N affects the delay size on the data path.
- the value can make the delay on the data path of some registers in the N groups of registers smaller than the delay on the clock path, and the delay on the data path of another part of the registers is greater than the delay on the clock path.
- a first register and a second register connected to the register through a data delay unit may be referred to as a group of registers.
- the embodiments of the present application only take N being 94 as an example for illustration.
- the above-mentioned N data delay units respectively include N S-shaped metal wires.
- the data delay unit may be made of S-shaped metal wires, and the lengths of the S-shaped metal wires of different data delay units in the N data delay units are different.
- the turning portion of the S-shaped metal winding may be a right-angle turning, an obtuse-angle turning, or a curved turning, which is not limited in the embodiments of the present application.
- the following embodiments are only illustrated by taking the turning part of the S-shaped metal winding as a right angle as an example.
- each data delay unit is made of S-shaped metal windings
- the N data delay units are respectively made of N S-shaped metal windings, and the lengths of the N S-shaped metal windings are sequentially increases, so the delays of the N data delay units are sequentially increased.
- the time delay difference between two adjacent data delay units in the N data delay units is related to the length difference between two adjacent S-type metal windings, and the difference between adjacent two S-type metal windings is The smaller the length difference is, the smaller the time delay difference between two adjacent data delay units is, and the higher the step accuracy of the delay time is. The greater the length difference between two adjacent S-shaped metal windings, the greater the time delay difference between two adjacent data delay units, and the lower the step accuracy of the delay time. It can be understood that, by designing the length difference between two adjacent S-shaped metal windings, the time delay difference of the two data delay units can be adjusted, so as to ensure a high detection accuracy for maintaining the time margin.
- the length difference between two adjacent S-shaped metal windings in the N S-shaped metal windings may be equal, that is, the lengths of the N S-shaped metal windings increase sequentially, and two adjacent S-shaped metal windings are The lines increase by the same length. It should be noted that, due to the nonlinear characteristics of metal, when the lengths of N S-shaped metal windings increase sequentially, and the two adjacent S-shaped windings increase by the same length, the delays of the N data delay units are sequentially increased. increase, but the delay difference (stepping accuracy) of two adjacent data delay units is not exactly the same.
- the steps from the data delay unit 0 to the data delay unit 21 increase sequentially, but the adjacent The time delay difference between the two data delay units is nonlinear, that is, the step accuracy of the delay time of two adjacent data delay units is nonlinear. It can be seen from FIG. 5 that the step accuracy of the delay time of two adjacent data delay units is about 1.5ps, so the accuracy of the holding time margin detected by the detection circuit is relatively high.
- the delay delays of the N data delay units connected between the data output terminals of the N first registers and the data input terminals of the N second registers are different, so that The delays on the data paths of the N sets of registers are different.
- the delay of the data delay unit is small, if the delay of the data path from the first register to the second register is smaller than the delay of the clock path, then the output state of the second register is hold fail, that is, the chip hold time is not satisfied. timing requirements.
- the delay of the data delay unit is sequentially increased to a larger delay, if the delay of the data path from the first register to the second register is greater than the delay of the clock path, the output state of the second register is hold pass, that is, Meet the timing requirements of the chip hold time.
- the output states of some of the N second registers may be in the hold fail state, and the output states of another part of the registers may be in the hold fail state.
- the output state of can be a hold pass state. Based on the output states of the N second registers, combined with the simulation results after adding OCV during design or simulation, it can be determined whether the boundary conditions of the design are too strict or too loose.
- the output states of the second register 0 to the second register 9 are the hold fail state
- the output states of the second register 10 to the second register 93 are the hold pass state
- the simulation result after adding OCV is that the output state of the second register 0 to the second register 7 is the hold fail state
- the output state of the second register 8 to the second register 93 is the hold failure state (hold pass) state.
- the output state of the second register 0 to the second register 4 is a hold fail state
- the output state of the second register 5 to the second register 93 is a hold pass state
- the simulation result after adding OCV is that the output states of the second register 0 to the second register 7 are hold fail states
- the output states of the second register 8 to the second register 93 are the hold fail states Success (hold pass) state.
- the time margin reserved in the design phase can be determined. If there are too many (that is, the boundary conditions in the design stage are too strict), some constraints can be appropriately relaxed according to the test results, and some boundary conditions can be liberated, so that the next-generation chips are more competitive.
- the boundary conditions in the design stage are too strict according to the test results, the boundary conditions of the two stages can be released when designing the next-generation chip based on the test results and simulation results, so that the following Generation products are more competitive.
- test circuit in the embodiment of the present application arranges N S-shaped metal windings between the N first registers and the N second registers, and the lengths of the N S-shaped metal windings increase sequentially, and the The stepping accuracy is related to the length difference between two adjacent S-shaped metal windings, so by designing the length difference between two adjacent S-shaped metal windings, the detection accuracy of maintaining the time margin can be controlled, so that the detection The precision of the retention time margin is high, so based on the detection result, a strong basis can be provided for the design of the next-generation chip, which makes the product competitiveness of the next-generation chip stronger.
- the S-shaped metal windings in the embodiment of the present application can be designed into a splicable module, and the actual implementation is carried out in the top-level module. physical splicing, and indirectly obtain a step-by-step S-shaped winding.
- the S-shaped metal winding may include a first turning portion, a splicable portion and a second turning portion.
- the S-shaped metal windings can be left and right S-shaped windings or upper and lower S-shaped windings.
- the first turning part is the turning part on the left
- the second turning part is the turning part on the right
- the unturned part in the middle is the splicable part.
- the S-shaped metal winding is an upper and lower S-shaped winding
- the first turning part is the turning part on the upper side
- the second turning part is the turning part on the lower side
- the unturned part in the middle is the splicable part.
- FIG. 8 takes the S-shaped metal winding as an example of left and right S-shaped windings.
- the S-shaped metal winding includes a first turning part, a second turning part and a splicable part.
- the S-shaped metal winding includes a first turning portion, a second turning portion, and two splicable portions. That is, S-shaped metal wires of different lengths can be realized by increasing the number of splicable parts.
- the method has good controllability, can be freely spliced according to the different design scales and the required delay values, and is convenient for secondary inspection, which has good practical engineering significance.
- the application can modularize the S-shaped metal winding, and each S-shaped metal winding can include three parts (the first turning part, the splicable part and the second turning part).
- the number of splicable parts can be used to make S-shaped metal windings of different lengths, so that in multiple rounds of design or tape-out, the length of the S-shaped metal windings can be changed by changing the number of splicable parts to adjust the data delay unit. delay.
- the input end and the output end of the S-shaped metal winding may be arranged on the same side, or may be arranged on different sides.
- the first turning portion includes the input end and the output end of the S-shaped metal wire
- the second turning portion includes the input end and the output end of the S-shaped metal wire. output.
- the first turning portion includes the input end of the S-shaped metal winding
- the second turning portion includes the output end of the S-shaped metal winding
- the turning portion includes the output end of the S-shaped metal wire
- the second turning portion includes the input end of the S-shaped metal wire.
- the input end of the S-shaped metal wire is connected to the data output end QN of the first register, and the output end of the S-shaped metal wire is connected to the data input end D of the second register. That is, the input end of the S-shaped metal winding is the starting point of the S-shaped metal winding, and the output end of the S-shaped metal winding is the end point of the S-shaped metal winding.
- the input end and the output end of the S-shaped metal winding may be located on the same horizontal line, or may be located on different horizontal lines.
- Fig. 9 takes the S-shaped metal winding as the left and right S-shaped windings as an example.
- the first turning part includes the input end of the S-shaped metal winding and the S-shaped metal winding.
- the output end, the input end of the S-shaped metal winding and the output end of the S-shaped metal winding are located on different horizontal lines.
- the second turning portion includes the input end of the S-shaped metal wire and the output end of the S-shaped metal wire, the input end of the S-shaped metal wire and the output of the S-shaped metal wire The ends are located on different horizontal lines.
- the first turning portion includes the input end of the S-shaped metal wire
- the second turning portion includes the output end of the S-shaped metal wire, the input end of the S-shaped metal wire and the S-shaped metal wire.
- the output ends of the metal windings are located on different horizontal lines.
- the second turning portion includes the input end of the S-shaped metal wire
- the first turning portion includes the output end of the S-shaped metal wire, the input end of the S-shaped metal wire and the S-shaped metal wire.
- the output ends of the metal windings are located on different horizontal lines.
- FIG. 10 takes the S-shaped metal winding as the upper and lower S-shaped windings as an example.
- the second turning portion includes the input end of the S-shaped metal winding and the S-shaped metal winding. The output end of the S-shaped metal winding and the output end of the S-shaped metal winding are located on the same horizontal line.
- the first turning portion includes the input end of the S-shaped metal wire and the output end of the S-shaped metal wire, the input end of the S-shaped metal wire and the output of the S-shaped metal wire The ends are on the same horizontal line.
- the second turning portion includes the input end of the S-shaped metal wire
- the first turning portion includes the output end of the S-shaped metal wire, the input end of the S-shaped metal wire and the S-shaped metal wire.
- the output ends of the metal windings are located on different horizontal lines.
- the first turning portion includes the input end of the S-shaped metal winding
- the second turning portion includes the output end of the S-shaped metal winding, the input end of the S-shaped metal winding and the S-shaped metal winding.
- the output ends of the metal windings are located on different horizontal lines.
- the detection circuit provided in this embodiment of the present application may further include a clock selector and a clock delay circuit.
- a clock selector As shown in FIG. 11 , the input terminal of the controller and the clock selector, the data selection terminal of the clock selector, and N The clock terminal of the first register is connected, the output terminal of the clock selector is connected to the input terminal of the clock delay circuit, and the output terminal of the clock delay circuit is connected to the clock terminals of the N second registers.
- the clock delay circuit may include M clock delay units, and the M clock delay units have different delays respectively. It should be noted that the value of M is not limited in this embodiment of the present application, and FIG. 11 only shows that M is 32 for illustration.
- the controller is specifically configured to time-division and control the clock selector to sequentially select each clock delay unit in the M clock delay units.
- the above-mentioned clock selector may be a multiplexer MUX, and the controller may control the multiplexer MUX by time division.
- the MUX can be a selector for selecting 1 from M, and the number of data selection terminals A 0 to A k in the MUX is related to the specific value of M.
- the controller controls the multiplexer MUX to select one clock delay unit among the 32 clock delay units at regular intervals to obtain the output state of a group of N second registers, and the controller selects the clock delay unit among the 32 clock delay units in turn.
- 32 groups of output results can be obtained, and each group of output results is used to indicate the output state of each second register.
- the MUX may be a 32-to-1 selector, and the number of data selection terminals may be 5, that is, the data selection terminals may be A 0 to A 4 .
- the detection result has no practical guiding significance, and the hold time margin cannot be determined. . Only when the output states of the N second registers have both hold fail and hold pass states, can it be determined whether the boundary conditions in the design stage are based on the detection results and the simulation results in the design stage? Too tight or too loose. Therefore, by selecting different clock delay units by time-sharing by the controller, a large-scale adjustment can be performed, so that the output states of the N second registers have both a hold fail state and a hold pass state.
- the controller may also control the clock selector to select the first clock delay unit in the clock delay module; if the output states of the N second registers are all hold pass, the controller controls the clock selector to select the clock.
- the second clock delay unit in the delay module the delay of the second clock delay unit is greater than the delay of the first clock delay unit; if the output states of the N second registers are all hold fail, the controller controls the clock
- the selector selects a third clock delay unit in the clock delay module, and the delay of the third clock delay unit is smaller than the delay of the first clock delay unit.
- the detection circuit provided in this embodiment of the present application may further include an interface circuit.
- the controller is connected to the interface circuit, and the controller is further configured to transmit the output states of the N second registers to the interface circuit.
- This interface circuit is used to transmit data to other devices.
- the interface circuit may transmit the detection results of the test circuit to an external device.
- FIG. 3 , FIG. 8 and FIG. 9 only take the generator including a set of test circuits as an example for illustration.
- This embodiment of the present application does not limit the specific number of test circuits included in the generator.
- the generator may also include two groups of test circuits or three groups of test circuits.
- the N first registers and the N second registers included in the same set of test circuits have the same process voltage temperature (PVT), and the PVT may be a standard voltage threshold (SVT) , low voltage threshold (low voltage threshold, LVT) or ultra low voltage threshold (ultra low voltage threshold, ULVT).
- SVT standard voltage threshold
- LVT low voltage threshold
- ULVT ultra low voltage threshold
- the generator includes three groups of test circuits, and the PVTs of the N first registers and the N second registers in the first group of test circuits are both SVTs.
- the PVTs of the N first registers and the N second registers in the second group of test circuits are both LVTs.
- the PVTs of the N first registers and the N second registers in the third group of test circuits are both ULVTs.
- the test circuit in the embodiment of the present application arranges N S-shaped metal windings between the N first registers and the N second registers, and the lengths of the N S-shaped metal windings are sequentially increased, and the step accuracy of the increment is increased. It is related to the length difference between two adjacent S-shaped metal windings, so by designing the length difference between two adjacent S-shaped metal windings, the detection accuracy of the retention time margin can be controlled, so that the detection retention time margin can be controlled. Therefore, the detection results can provide a strong basis for the design of the next-generation chip, so that the product competitiveness of the next-generation chip is stronger.
- the steps of the methods or algorithms described in conjunction with the disclosure of the present application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions.
- the software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (Random Access Memory, RAM), flash memory, Erasable Programmable Read-Only Memory (Erasable Programmable ROM, EPROM), electrically erasable programmable Programmable read-only memory (Electrically EPROM, EEPROM), registers, hard disk, removable hard disk, compact disk read only (CD-ROM), or any other form of storage medium known in the art.
- An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium.
- the storage medium can also be an integral part of the processor.
- the processor and storage medium may reside in an ASIC.
- the ASIC may be located in the core network interface device.
- the processor and the storage medium may also exist in the core network interface device as discrete components.
- the functions described in the present invention may be implemented in hardware, software, firmware, or any combination thereof.
- the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium.
- Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
- a storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
本申请实施例涉及电路技术领域,尤其涉及一种保持时间裕量的检测电路。The embodiments of the present application relate to the technical field of circuits, and in particular, to a detection circuit that maintains a time margin.
时序设计与分析是芯片设计的重要环节之一,在大规模片上系统(system on chip,SOC)的设计中,通常采用静态时序分析(static timing analysis,STA)方法,保证设计迭代周期的时效性。STA是一种覆盖边界条件的分析方法,例如可以通过悲观化覆盖边界条件,以模拟芯片内部不同管子由于工艺偏差、电压降、温度变化引起的性能变化。但是,如果边界条件设置的过于严格,将会极大的增加设计难度,同时占用过多的Die内资源,使得产品竞争力下降。如果边界条件设置的过于放松,又可能会产生质量问题,导致芯片出现一系列指标性问题甚至不能工作。Timing design and analysis is one of the important aspects of chip design. In the design of large-scale system on chip (SOC), static timing analysis (STA) method is usually used to ensure the timeliness of the design iteration cycle. . STA is an analysis method that covers boundary conditions. For example, the boundary conditions can be covered by pessimism to simulate the performance changes of different tubes inside the chip due to process deviations, voltage drops, and temperature changes. However, if the boundary conditions are set too strict, the design difficulty will be greatly increased, and at the same time, too many Die resources will be occupied, which will reduce the competitiveness of the product. If the boundary conditions are set too loose, quality problems may occur, resulting in a series of index problems or even failure of the chip to work.
图1为现有的一种知识产权(intellectual property,IP)设计(专利号:US7930663B2),如图1所示,寄存器(flip flop,FF0)的数据输出端Q0连接寄存器FF1的数据输入端D,寄存器FF1的数据输出端Q1连接寄存器FF2的数据输入端D,在寄存器FF0的时钟端和寄存器FF1的时钟端Clk1之间通过用标准单元(standard cell,stdcell)组成延时线delay0(delay line),在寄存器FF1的时钟端Clk1和寄存器FF2的时钟端Clk2之间通过stdcell组成延时线delay0,将电路初始状态配置成保持成功状态,通过调节时延选择模块delaySel1和delaySe2的信号配置,选择不同的时延delay值,直至电路出现保持失败(hold fail)状态,外围电路对待测电路时序的保持成功状态与保持失败状态进行检测,然后将检测结果通过总线读出,以获得保持时间的裕量,从而为下一代芯片的升级提供依据。Figure 1 shows an existing intellectual property (IP) design (patent number: US7930663B2). As shown in Figure 1, the data output end Q0 of the register (flip flop, FF0) is connected to the data input end D of the register FF1 , the data output terminal Q1 of the register FF1 is connected to the data input terminal D of the register FF2, and a delay line delay0 (delay line) is formed between the clock terminal of the register FF0 and the clock terminal Clk1 of the register FF1 by using a standard cell (standard cell, stdcell). ), a delay line delay0 is formed between the clock terminal Clk1 of the register FF1 and the clock terminal Clk2 of the register FF2 through the stdcell, and the initial state of the circuit is configured to maintain a successful state. By adjusting the delay selection modules delaySel1 and delaySe2 The signal configuration, select With different delay values, until the circuit appears in the hold fail state, the peripheral circuit detects the hold success state and hold fail state of the sequence of the circuit to be tested, and then reads the test results through the bus to obtain the hold time margin. Quantity, so as to provide a basis for the upgrade of the next generation of chips.
该IP设计中,由标准单元stdcell组成的延时线(delay line),检测保持时间(hold time)的精度较差。然而在28nm及以下的工艺中,根据SOC的规模,1ps的不确定性引起的时序违例(timing violation)数目,可能会是成十万条甚至百万条。因此精度的缺失如果被应用在实际项目中,意味着将会面临极大的时序违例风险,因此该方案不具有明显的实际工程意义。In this IP design, the delay line (delay line) composed of the standard unit stdcell has poor accuracy in detecting the hold time. However, in the process of 28nm and below, depending on the size of the SOC, the number of timing violations caused by the uncertainty of 1ps may be one hundred thousand or even one million. Therefore, if the lack of precision is applied in practical projects, it means that it will face a great risk of timing violation, so this scheme does not have obvious practical engineering significance.
发明内容SUMMARY OF THE INVENTION
本申请实施例提供一种保持时间裕量的检测电路,能够提高保持时间裕量的检测精度。The embodiment of the present application provides a detection circuit for maintaining a time margin, which can improve the detection accuracy of maintaining the time margin.
为达到上述目的,本申请实施例采用如下技术方案:In order to achieve the above purpose, the embodiment of the present application adopts the following technical solutions:
本申请实施例的第一方面,提供一种保持时间裕量的检测电路,该检测电路包括:控制器、发生器和判决电路;发生器包括至少一组测试电路,每组测试电路包括N个第一寄存器、N个第二寄存器,以及N个数据延迟单元,N个数据延迟单元的时延依次递增,相邻两个数据延迟单元之间的时延差小于或等于预设值,N为大于1的整数;其中,控制器与N个第一寄存器的时钟端以及N个第二寄存器的时钟端连接到控制器的同一时钟输出端,N个第一寄存器的数据输出端分别与N个数据延迟单元的输入端连接,N个数据延迟单元的输出端分别与N个第二寄存器的数据输入端连接,N个第 二寄存器的数据输出端与判决电路连接;判决电路用于检测N个第二寄存器的输出状态,并向控制器传输N个第二寄存器的输出状态。基于本方案,通过在N个第一寄存器和N个第二寄存器之间设置N个数据延迟单元,且N个数据延迟单元的时延依次递增,使得N组寄存器的数据路径的时延各不相同。由于当第一寄存器到第二寄存器的数据路径的时延大于时钟路径的时延时,第二寄存器的输出状态为保持成功状态;当第一寄存器到第二寄存器的数据路径的时延小于时钟路径的时延时,第二寄存器的输出状态为保持失败状态。因此,通过在N个第一寄存器和N个第二寄存器之间设置时延依次递增的N个数据延迟单元,使得N个第一寄存器到N个第二寄存器的数据路径的时延互不相同,因此N个寄存器中一部分第二寄存器的输出状态为保持失败状态,另一部分寄存器的输出状态为保持成功状态,根据第二寄存器从保持失败到保持成功可以检测出保持时间裕量,而且本申请中N个数据延迟单元的时延递增的步进精度小于预设值,因此基于第二寄存器的保持失败状态和保持成功状态,检测得到的保持时间裕量的精度较高,基于该检测结果可以为下一代芯片的设计能够提供有力的依据,使得下一代芯片的产品竞争力更强。可以理解的,一个第一寄存器和与该寄存器通过一个数据延迟单元连接的第二寄存器,可以称为一组寄存器。A first aspect of the embodiments of the present application provides a detection circuit for maintaining a time margin. The detection circuit includes: a controller, a generator, and a decision circuit; the generator includes at least one group of test circuits, and each group of test circuits includes N The first register, the N second registers, and the N data delay units, the delays of the N data delay units are sequentially increased, and the delay difference between two adjacent data delay units is less than or equal to the preset value, and N is An integer greater than 1; wherein the controller, the clock terminals of the N first registers and the clock terminals of the N second registers are connected to the same clock output terminal of the controller, and the data output terminals of the N first registers are respectively connected to the N The input ends of the data delay units are connected, the output ends of the N data delay units are respectively connected with the data input ends of the N second registers, and the data output ends of the N second registers are connected with the judgment circuit; the judgment circuit is used to detect the N second registers. The output state of the second register, and the output state of the N second registers is transmitted to the controller. Based on this solution, by setting N data delay units between the N first registers and the N second registers, and the delays of the N data delay units are sequentially increased, the delays of the data paths of the N groups of registers are different from each other. same. Since the delay of the data path from the first register to the second register is greater than the delay of the clock path, the output state of the second register is the hold-success state; when the delay of the data path from the first register to the second register is less than the clock The time delay of the path, the output state of the second register is the hold failure state. Therefore, by setting N data delay units whose delays increase sequentially between the N first registers and the N second registers, the delays of the data paths from the N first registers to the N second registers are different from each other. , so the output state of a part of the second registers in the N registers is a hold failure state, and the output state of another part of the registers is a hold success state. According to the second register from the hold failure to the hold success, the hold time margin can be detected, and this application The step accuracy of the delay increment of the N data delay units is smaller than the preset value. Therefore, based on the hold failure state and hold success state of the second register, the accuracy of the detected hold time margin is high. Based on the detection result, the It can provide a strong basis for the design of the next-generation chips, making the products of the next-generation chips more competitive. It can be understood that a first register and a second register connected to the register through a data delay unit may be referred to as a group of registers.
结合第一方面,在一种可能的实现方式中,N个数据延迟单元分别包括N个S型金属绕线,该N个S型金属绕线的长度依次递增。基于本方案,通过N个S型金属绕线的长度依次递增,使得N组寄存器的数据路径的时延依次递增,通过设计相邻两个S型金属绕线之间的长度差能够控制保持时间裕量的检测精度,使得检测的保持时间裕量的精度较高。With reference to the first aspect, in a possible implementation manner, the N data delay units respectively include N S-shaped metal windings, and the lengths of the N S-shaped metal windings increase sequentially. Based on this solution, the lengths of the N S-shaped metal windings are sequentially increased, so that the delay of the data path of the N groups of registers is sequentially increased, and the retention time can be controlled by designing the length difference between two adjacent S-shaped metal windings. The detection accuracy of the margin makes the detection retention time margin more accurate.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,N个S型金属绕线中相邻两个S型金属绕线之间的长度差相同。基于本方案,通过设置相邻两个S型金属绕线之间的长度差能够控制保持时间裕量的检测精度,使得检测的保持时间裕量的精度较高。可以理解的,由于金属的非线性特点,当N个S型金属绕线的长度依次增加,且相邻的两个S型绕线增加相同的长度时,N个数据延迟单元的时延依次递增,但相邻两个数据延迟单元的时延差(步进精度)并不是完全相同的。With reference to the first aspect and the above possible implementation manner, in another possible implementation manner, the length difference between two adjacent S-shaped metal windings in the N S-shaped metal windings is the same. Based on this solution, the detection accuracy of the retention time margin can be controlled by setting the length difference between two adjacent S-shaped metal windings, so that the detection accuracy of the retention time margin is high. It can be understood that due to the nonlinear characteristics of metal, when the lengths of N S-shaped metal windings increase sequentially, and the two adjacent S-shaped windings increase by the same length, the delays of the N data delay units increase sequentially. , but the delay difference (stepping precision) of two adjacent data delay units is not exactly the same.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,S型金属绕线包括第一转折部分、第二转折部分,以及一个或多个可拼接部分,不同S型金属绕线包括的可拼接部分的数量不同。基于本方案,通过将S型金属绕线设计成可拼接的模块,从而可以通过增加可拼接部分的数量实现不同长度的S型金属绕线,该方法具有良好的控制性,可以根据设计规模的不同,所需delay值大小的不同,自由实现拼接,而且方便二次检查,具有良好的实际工程意义。In combination with the first aspect and the above possible implementation manner, in another possible implementation manner, the S-shaped metal winding includes a first turning portion, a second turning portion, and one or more splicable portions, different S-shaped metal windings. The number of spliceable parts included in the winding varies. Based on this scheme, by designing the S-shaped metal winding into a splicable module, S-shaped metal windings of different lengths can be realized by increasing the number of splicable parts. This method has good controllability and can be adjusted according to the design scale. Different, the required delay value is different, the splicing can be freely realized, and the secondary inspection is convenient, which has good practical engineering significance.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,第一转折部分包括S型金属绕线的输入端和S型金属绕线的输出端;或者,第二转折部分包括S型金属绕线的输入端和S型金属绕线的输出端。基于本方案,S型金属绕线的输入端和S型金属绕线的输出端可以同侧设置。In combination with the first aspect and the above possible implementation manners, in another possible implementation manner, the first turning portion includes an input end of the S-shaped metal winding and an output end of the S-shaped metal winding; or, the second turning portion Including the input end of the S-shaped metal winding and the output end of the S-shaped metal winding. Based on this solution, the input end of the S-shaped metal winding and the output end of the S-shaped metal winding can be arranged on the same side.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,第一转折部分包括S型金属绕线的输入端,第二转折部分包括S型金属绕线的输出端;或者,第一转折部分包括S型金属绕线的输出端,第二转折部分包括S型金属绕线的输入端。 基于本方案,S型金属绕线的输入端和S型金属绕线的输出端可以不同侧设置。In combination with the first aspect and the above possible implementation manners, in another possible implementation manner, the first turning portion includes an input end of the S-shaped metal wire, and the second turning portion includes an output end of the S-shaped metal wire; or , the first turning portion includes the output end of the S-shaped metal winding, and the second turning portion includes the input end of the S-shaped metal winding. Based on this solution, the input end of the S-shaped metal winding and the output end of the S-shaped metal winding can be arranged on different sides.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,检测电路还包括时钟选择器和时钟延迟电路,控制器与时钟选择器的输入端、时钟选择器的数据选择端,以及N个第一寄存器的时钟端连接,时钟选择器的输出端与时钟延迟电路的输入端连接,时钟延迟电路的输出端与N个第二寄存器的时钟端连接。基于本方案,通过时钟选择器选择时钟选择模块可以进行大量程调节,使得N个第二寄存器的输出状态既有保持失败(hold fail)状态又有保持成功(hold pass)状态。In combination with the first aspect and the above possible implementation manner, in another possible implementation manner, the detection circuit further includes a clock selector and a clock delay circuit, the controller and the input end of the clock selector, and the data selection end of the clock selector. , and the clock terminals of the N first registers are connected, the output terminal of the clock selector is connected to the input terminal of the clock delay circuit, and the output terminal of the clock delay circuit is connected to the clock terminals of the N second registers. Based on this solution, the clock selection module can be selected by the clock selector to perform large-scale adjustment, so that the output states of the N second registers have both a hold fail state and a hold pass state.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,时钟延迟电路包括M个时钟延迟单元,该M个时钟延迟单元分别具有M个不同的时延。基于本方案,通过具有M个不同时延的时钟延迟单元,可以调节时钟路径上的时延。With reference to the first aspect and the above possible implementation manner, in another possible implementation manner, the clock delay circuit includes M clock delay units, and the M clock delay units respectively have M different delays. Based on this scheme, the delay on the clock path can be adjusted by having M clock delay units with different delays.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,控制器具体用于分时控制时钟选择器依次选择M个时钟延迟单元中的每个时钟延迟单元。基于本方案,通过控制器分时选择不同的时钟延迟单元,可以进行大量程调节,使得N个第二寄存器的输出状态既有保持失败(hold fail)状态又有保持成功(hold pass)状态。With reference to the first aspect and the above possible implementation manner, in another possible implementation manner, the controller is specifically configured to time-division control the clock selector to sequentially select each clock delay unit in the M clock delay units. Based on this scheme, by selecting different clock delay units by time division by the controller, large-scale adjustment can be performed, so that the output states of the N second registers have both a hold fail state and a hold pass state.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,控制器具体用于:控制时钟选择器选择M个时钟延迟单元中的第一时钟延迟单元;若N个第二寄存器的输出状态均为保持成功,控制器控制时钟选择器选择所述M个时钟延迟单元中的第二时钟延迟单元,该第二时钟延迟单元的时延大于第一时钟延迟单元的时延;若N个第二寄存器的输出状态均为保持失败,控制器控制所述时钟选择器选择M个时钟延迟单元中的第三时钟延迟单元,第三时钟延迟单元的时延小于第一时钟延迟单元的时延。基于本方案,控制器闭环控制时钟选择器选择时钟延迟单元,使得N个第二寄存器的输出状态既有保持失败(hold fail)状态又有保持成功(hold pass)状态。Combining the first aspect and the above possible implementation manner, in another possible implementation manner, the controller is specifically configured to: control the clock selector to select the first clock delay unit in the M clock delay units; if N second clock delay units The output states of the registers are all maintained successfully, and the controller controls the clock selector to select a second clock delay unit in the M clock delay units, and the delay of the second clock delay unit is greater than the delay of the first clock delay unit; If the output states of the N second registers are all fail to hold, the controller controls the clock selector to select a third clock delay unit among the M clock delay units, and the delay of the third clock delay unit is smaller than that of the first clock delay unit delay. Based on this solution, the controller closed-loop controls the clock selector to select the clock delay unit, so that the output states of the N second registers have both a hold fail state and a hold pass state.
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,检测电路还包括接口电路,控制器与接口电路连接,控制器还用于将N个第二寄存器的输出状态传输至接口电路。基于本方案,可以通过接口电路将N个第二寄存器的输出状态传输至外部设备,基于该N个第二寄存器的输出状态与仿真结果,可以确定出设计阶段的边界条件是否过严或过松。In combination with the first aspect and the above possible implementation manner, in another possible implementation manner, the detection circuit further includes an interface circuit, the controller is connected to the interface circuit, and the controller is further configured to transmit the output states of the N second registers. to the interface circuit. Based on this solution, the output states of the N second registers can be transmitted to the external device through the interface circuit, and based on the output states of the N second registers and the simulation results, it can be determined whether the boundary conditions in the design stage are too strict or too loose .
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,同一组测试电路中的N个第一寄存器和N个第二寄存器的工艺电压温度PVT相同,PVT为标准电压阈值SVT、低电压阈值LVT或超低电压阈值ULVT。基于本方案,检测电路中可以设置不同PVT的测试电路,能够适应不同芯片的工艺。In combination with the first aspect and the above possible implementation manner, in another possible implementation manner, the process voltage and temperature PVT of the N first registers and the N second registers in the same group of test circuits are the same, and the PVT is a standard voltage threshold. SVT, Low Voltage Threshold LVT or Ultra Low Voltage Threshold ULVT. Based on this solution, test circuits of different PVTs can be set in the detection circuit, which can adapt to the process of different chips.
本申请实施例的第二方面,提供一种装置,该装置包括电路板以及上述第一方面或第一方面的可能的实现方式中任一所述的保持时间裕量的检测电路。In a second aspect of the embodiments of the present application, an apparatus is provided, which includes a circuit board and a detection circuit for maintaining a time margin according to any one of the above-mentioned first aspect or possible implementation manners of the first aspect.
图1为本申请实施例提供的一种检测时间裕量的IP设计示意图;FIG. 1 is a schematic diagram of an IP design of a detection time margin provided by an embodiment of the present application;
图2为本申请实施例提供的一种同步时序电路的示意图;2 is a schematic diagram of a synchronous sequential circuit according to an embodiment of the present application;
图3为本申请实施例提供的一种保持时间裕量的检测电路的示意图;3 is a schematic diagram of a detection circuit for maintaining a time margin provided by an embodiment of the present application;
图4为本申请实施例提供的一种数据延迟单元的结构示意图;FIG. 4 is a schematic structural diagram of a data delay unit according to an embodiment of the present application;
图5为本申请实施例提供的一种数据延迟单元的时延和步进精度的示意图;5 is a schematic diagram of the time delay and step accuracy of a data delay unit provided by an embodiment of the present application;
图6为本申请实施例提供的一种仿真结果和测试结果的示意图;6 is a schematic diagram of a simulation result and a test result provided by an embodiment of the present application;
图7为本申请实施例提供的另一种仿真结果和测试结果的示意图;7 is a schematic diagram of another simulation result and test result provided by an embodiment of the present application;
图8为本申请实施例提供的一种S型金属绕线的划分示意图;8 is a schematic diagram of the division of an S-shaped metal winding according to an embodiment of the present application;
图9为本申请实施例提供的一种S型金属绕线的布线示意图;FIG. 9 is a schematic diagram of wiring of an S-shaped metal winding according to an embodiment of the present application;
图10为本申请实施例提供的另一种S型金属绕线的布线示意图;FIG. 10 is a schematic diagram of the wiring of another S-shaped metal winding according to an embodiment of the application;
图11为本申请实施例提供的另一种保持时间裕量的检测电路的示意图;11 is a schematic diagram of another detection circuit for maintaining a time margin provided by an embodiment of the present application;
图12为本申请实施例提供的另一种保持时间裕量的检测电路的示意图;12 is a schematic diagram of another detection circuit for maintaining a time margin provided by an embodiment of the present application;
图13为本申请实施例提供的另一种保持时间裕量的检测电路的示意图。FIG. 13 is a schematic diagram of another detection circuit for maintaining a time margin provided by an embodiment of the present application.
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。在本申请中,“至少一组”是指一组或者多组,“多组是指两组或两组以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或,a和b和c,其中a、b和c可以是单个,也可以是多个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。比如,本申请实施例中的第一寄存器中的“第一”和第二寄存器中的“第二”仅用于区分不同的寄存器。本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application. In this application, "at least one group" refers to one or more groups, and "multiple groups" refers to two or more groups. "And/or", describing the association relationship of associated objects, means that there can be three kinds of relationships, For example, A and/or B can mean that A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character "/" generally indicates that the associated object is a kind of " "or" relationship. "At least one of the following items" or similar expressions refer to any combination of these items, including any combination of single item(s) or plural items(s). For example, a, b or At least one item(s) of c, which can represent: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b and c can be single, or It can be multiple. In addition, in order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used for the same items with basically the same functions and functions or Similar items are distinguished, and those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order. For example, in the first register in the embodiment of the present application, "first" and "Second" in the two registers is only used to distinguish different registers. The descriptions such as the first, the second, etc. appearing in the embodiments of this application are only for the purpose of indicating and distinguishing the description objects, and there is no order, nor does it mean that this The specific limitation on the number of devices in the application embodiment cannot constitute any limitation on the embodiment of the application.
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。It should be noted that, in this application, words such as "exemplary" or "for example" are used to represent examples, illustrations or illustrations. Any embodiment or design described in this application as "exemplary" or "such as" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present the related concepts in a specific manner.
图2为一种同步时序电路,如图2所示,寄存器D1的数据输出端Q与组合逻辑(combinational logic)的输入端连接,组合逻辑的输出端与寄存器D2的数据输入端D连接。寄存器D1的时钟端CP和寄存器D2的时钟端CP与时钟信号CLK连接。寄存器D1和寄存器D2的时钟端的时钟有效沿可以为上升沿,也可以为下降沿。当寄存器D1和寄存器D2的时钟有效沿为下降沿时,当时钟端由高电平变化为低电平时寄存器D1或寄存器D2对数据输入端进行采样,并把采样值送到数据输出端。当时钟端为其它情况时数据输出端维持原采样值直至时钟端第二次由高电平变化为低电平。可以理解的,组合逻辑在任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关,不涉及对信号跳变沿的处理。而时序逻辑在任意时刻的输出不仅取决于该时刻的输入,而且还和电路原来的状态有关,当时钟的有效沿(上升沿或下降沿)到达时,才有可能使输出发生变化。Figure 2 is a synchronous sequential circuit. As shown in Figure 2, the data output end Q of the register D1 is connected to the input end of the combinational logic, and the output end of the combinational logic is connected to the data input end D of the register D2. The clock terminal CP of the register D1 and the clock terminal CP of the register D2 are connected to the clock signal CLK. The clock valid edges of the clock terminals of the register D1 and the register D2 may be a rising edge or a falling edge. When the valid edge of the clock of register D1 and register D2 is the falling edge, when the clock terminal changes from high level to low level, register D1 or register D2 samples the data input terminal, and sends the sampled value to the data output terminal. When the clock terminal is in other conditions, the data output terminal maintains the original sampling value until the clock terminal changes from high level to low level for the second time. It can be understood that the output of the combinational logic at any moment only depends on the input at that moment, and has nothing to do with the original state of the circuit, and does not involve the processing of signal transition edges. The output of sequential logic at any time depends not only on the input at that time, but also on the original state of the circuit. When the valid edge (rising or falling edge) of the clock arrives, it is possible to make the output change.
为了实现图2所示的电路的正确同步,在时钟有效沿(例如,上升沿或下降沿) 到来之前的一段时间内,数据必须稳定,这段时间为建立时间(setup time)。在时钟有效沿到来之后的一段时间内,数据也必须稳定,这段时间为保持时间(hold time)。即数据输入端必须在实际采样时间到达之前就保持稳定,同样在采样时间之后数据输入端必须维持一段时间。也就是说,只有在满足建立时间和保持时间时,电路才能正确同步。In order to achieve proper synchronization of the circuit shown in Figure 2, the data must be stable for a period of time before the valid edge of the clock (eg, rising or falling edge), which is the setup time. The data must also be stable for a period of time after the arrival of the valid edge of the clock, which is the hold time. That is, the data input must remain stable until the actual sampling time arrives, and the data input must also remain stable for a period of time after the sampling time. That is, the circuit can only be properly synchronized if the setup and hold times are met.
可以理解的,在对图2中的电路进行时序分析时,可以通过数据路径(data path)和时钟路径(clock path)的delay确定是否满足建立时间(setup time)和保持时间(hold time)的时序要求。如图2所示。数据路径是指数据在整个传输输入端到传输输出端所走过的路径,时钟路径是指时钟到达各个寄存器的路径。当数据路径(data path)的delay大于时钟路径(clock path)的delay,保持时间(hold time)才会满足时序要求。当数据路径(data path)的delay小于时钟路径(clock path)的delay,建立时间(setup time)才会满足时序要求。It can be understood that when performing timing analysis on the circuit in Figure 2, it can be determined whether the setup time and hold time are satisfied through the delay of the data path and the clock path. timing requirements. as shown in
通常在芯片设计过程中,都是基于专门负责生产、制造芯片的厂家(foundry)发布的工艺文件(spice model)进行仿真的,仿真时芯片内部的时延delay是固定的。但是,芯片在生产制造过程中,由于工艺偏差、电压降、温度变化,可能会导致芯片内部的delay并不是一个固定值,而是一个随机值。为了使芯片设计和制造之间的差异更加接近,通常可以采用静态时序分析(static timing analysis,STA)方法,保证设计迭代周期的时效性。Usually, in the process of chip design, the simulation is performed based on the process file (spice model) released by the manufacturer (foundry) specializing in the production and manufacture of the chip. During the simulation, the delay delay inside the chip is fixed. However, during the manufacturing process of the chip, due to process deviation, voltage drop, and temperature changes, the delay inside the chip may not be a fixed value, but a random value. In order to make the difference between chip design and manufacturing closer, a static timing analysis (STA) method can usually be used to ensure the timeliness of the design iteration cycle.
例如,在STA中可以用片上误差(on chip variation,OCV)来模拟芯片内部不同器件间由于工艺偏差、电压降、温度变化引起的性能变化。在分析hold时序违例时,可以悲观化覆盖边界条件,将数据路径(data path)上的delay值乘以小于1的系数,将时钟路径(clock path)上的delay值乘以大于1的系数。但是,如果边界条件设置的过于严格,将会极大的增加设计难度,同时占用了过多的Die内资源,使得产品的竞争力下降。如果边界条件设置的过于放松,又可能会产生质量问题,导致芯片出现一系列指标性问题甚至不能工作。For example, in STA, on-chip variation (OCV) can be used to simulate the performance variation between different devices within the chip due to process variation, voltage drop, and temperature variation. When analyzing hold timing violations, you can pessimistically cover the boundary conditions by multiplying the delay value on the data path by a factor less than 1, and multiplying the delay value on the clock path by a factor greater than 1. However, if the boundary conditions are set too strict, the design difficulty will be greatly increased, and at the same time, too many Die resources will be occupied, which will reduce the competitiveness of the product. If the boundary conditions are set too loose, quality problems may occur, resulting in a series of index problems or even failure of the chip to work.
为了在边界条件设置的过严的情况下,能够解放一部分边界条件,以提高芯片的产品竞争力,可以在芯片中设置测试电路,检测芯片的保持时间裕量,并依据该保持时间裕量对下一代芯片的设计进行调整,从而能够提高下一代芯片的产品竞争力。In order to release part of the boundary conditions when the boundary conditions are set too strict to improve the product competitiveness of the chip, a test circuit can be set up in the chip to detect the holding time margin of the chip, and based on the holding time margin The design of the next-generation chip is adjusted so that the product competitiveness of the next-generation chip can be improved.
图1为一种检测时间裕量的IP设计,如图1所示,该IP主要以stdcell组成delay line,将电路初始状态配置成保持成功(hold pass),通过调节delaySel的信号配置,可以选择不同的delay值,直至电路出现保持失败(hold fail)状态,外围电路对待测电路时序的pass与fail状态进行检测,然后将检测结果通过总线读出,以获得保持时间的裕量,从而为下一代芯片的升级提供依据。Figure 1 shows an IP design for detecting time margin. As shown in Figure 1, the IP mainly consists of stdcell to form a delay line, and configures the initial state of the circuit to hold pass successfully. By adjusting the signal configuration of delaySel, you can choose With different delay values, until the circuit appears in the hold fail state, the peripheral circuit detects the pass and fail states of the sequence of the circuit to be tested, and then reads the detection results through the bus to obtain the hold time margin, so as to provide the next step. The upgrade of a generation of chips provides the basis.
但是,图1所示的IP设计中,通过stdcell组成的delay line检测保持时间裕量时,stdcell检测的保持时间的精度理想情况下为7~8ps左右。然而在28nm及以下的工艺中,1ps hold uncertainty引起的时序违例(timing violation)数目,根据SOC的规模,可能会是成十万条甚至百万条。因此7~8ps精度的缺失如果被应用在实际项目中,意味着将会面临极大的时序违例风险,因此该方案不具有明显的实际工程意义。However, in the IP design shown in Figure 1, when the retention time margin is detected by the delay line composed of stdcell, the accuracy of the retention time detected by stdcell is ideally about 7 to 8 ps. However, in the process of 28nm and below, the number of timing violations caused by 1ps hold uncertainty may be 100,000 or even millions depending on the size of the SOC. Therefore, if the lack of 7-8ps precision is applied in practical projects, it means that it will face a great risk of timing violation, so this scheme does not have obvious practical engineering significance.
为了改善芯片内保持时间裕量的检测精度较差的问题,本申请实施例提供一种保 持时间裕量的检测电路,该检测电路检测的保持时间裕量的精度较高,可以为下一代芯片的设计提供依据,以提高下一代芯片的产品竞争力。In order to improve the problem of poor detection accuracy of the retention time margin in the chip, an embodiment of the present application provides a detection circuit for maintaining the time margin. The detection circuit detects the retention time margin with high accuracy and can be used for next-generation chips The design provides a basis for improving the product competitiveness of next-generation chips.
需要说明的是,本申请下述实施例提供的检测电路在检测芯片的保持时间裕量时,默认芯片是满足建立时间的时序要求的。It should be noted that, when the detection circuit provided by the following embodiments of the present application detects the holding time margin of the chip, the default chip meets the timing requirement of the setup time.
图3为本申请实施例提供的一种保持时间裕量的检测电路,如图3所示,该检测电路包括:控制器、发生器和判决电路。发生器包括至少一组测试电路,每组测试电路包括N个第一寄存器、N个第二寄存器,以及N个数据延迟单元,N个数据延迟单元的时延依次递增,相邻两个数据延迟单元的时延差小于或等于预设值,N为大于1的整数。其中,N个第一寄存器的时钟端(第一寄存器的CP端)以及N个第二寄存器的时钟端(第二寄存器的CP端)连接到控制器的同一时钟输出端,N个第一寄存器的数据输出端(第一寄存器的QN端)分别与N个数据延迟单元的输入端连接,N个数据延迟单元的输出端分别与N个第二寄存器的数据输入端(第二寄存器的D端)连接,N个第二寄存器的数据输出端(第二寄存器的Q端)与判决电路连接。判决电路用于检测N个第二寄存器的输出状态,并向控制器传输N个第二寄存器的输出状态。FIG. 3 is a detection circuit for maintaining a time margin provided by an embodiment of the present application. As shown in FIG. 3 , the detection circuit includes a controller, a generator, and a decision circuit. The generator includes at least one group of test circuits, and each group of test circuits includes N first registers, N second registers, and N data delay units. The delays of the N data delay units are sequentially increased, and two adjacent data delay units are delayed. The delay difference of the unit is less than or equal to the preset value, and N is an integer greater than 1. Among them, the clock terminals of the N first registers (the CP terminals of the first registers) and the clock terminals of the N second registers (the CP terminals of the second registers) are connected to the same clock output terminal of the controller, and the N first registers are connected to the same clock output terminal of the controller. The data output terminals (QN terminals of the first register) are respectively connected with the input terminals of the N data delay units, and the output terminals of the N data delay units are respectively connected with the data input terminals of the N second registers (the D terminal of the second register). ) is connected, and the data output terminals (Q terminals of the second registers) of the N second registers are connected to the decision circuit. The decision circuit is used for detecting the output states of the N second registers, and transmitting the output states of the N second registers to the controller.
示例性的,图3中仅以第一寄存器的数据输出端为QN端为例进行示意。如图3所示,当第一寄存器的数据输出端为QN端时,第一寄存器的数据输入端(第一寄存器的D端)与第一寄存器的数据输出端(第一寄存器的QN端)连接。可选的,第一寄存器的数据输出端也可以为Q端,当第一寄存器的数据输出端为Q端时,第一寄存器的数据输入端(第一寄存器的D端)与第一寄存器的数据输出端(第一寄存器的Q端)之间通过反相器连接。可以理解的,第一寄存器的数据输出端QN是对第一寄存器的数据输入端D进行反向。Exemplarily, in FIG. 3 , only the data output terminal of the first register is the QN terminal as an example for illustration. As shown in FIG. 3 , when the data output end of the first register is the QN end, the data input end of the first register (the D end of the first register) and the data output end of the first register (the QN end of the first register) connect. Optionally, the data output terminal of the first register may also be the Q terminal. When the data output terminal of the first register is the Q terminal, the data input terminal of the first register (the D terminal of the first register) is connected to the first register. The data output terminals (Q terminals of the first register) are connected through inverters. It can be understood that the data output terminal QN of the first register is the inversion of the data input terminal D of the first register.
示例性的,本申请实施例对于N的具体取值并不进行限定,实际应用中,可以结合clock delay的量程范围确定N的取值,N的取值影响数据路径上的delay大小,该取值能够使得N组寄存器中一部分寄存器的数据路径上的delay小于时钟路径上的delay,另一部分寄存器的数据路径上的delay大于时钟路径上的delay。可以理解的,一个第一寄存器和与该寄存器通过一个数据延迟单元连接的第二寄存器,可以称为一组寄存器。本申请实施例仅以N为94为例进行示意。Exemplarily, the embodiment of the present application does not limit the specific value of N. In practical applications, the value of N can be determined in combination with the range of the clock delay. The value of N affects the delay size on the data path. The value can make the delay on the data path of some registers in the N groups of registers smaller than the delay on the clock path, and the delay on the data path of another part of the registers is greater than the delay on the clock path. It can be understood that a first register and a second register connected to the register through a data delay unit may be referred to as a group of registers. The embodiments of the present application only take N being 94 as an example for illustration.
示例性的,上述N个数据延迟单元分别包括N个S型金属绕线。数据延迟单元可以由S型金属绕线制成,该N个数据延迟单元中不同数据延迟单元的S型金属绕线的长度不同。可以理解的,该S型金属绕线的转折部分可以为直角转折,也可以为钝角转折,还可以为曲线转折,本申请实施例对此并不限定。下述实施例仅以S型金属绕线的转折部分为直角为例进行示意。Exemplarily, the above-mentioned N data delay units respectively include N S-shaped metal wires. The data delay unit may be made of S-shaped metal wires, and the lengths of the S-shaped metal wires of different data delay units in the N data delay units are different. It can be understood that the turning portion of the S-shaped metal winding may be a right-angle turning, an obtuse-angle turning, or a curved turning, which is not limited in the embodiments of the present application. The following embodiments are only illustrated by taking the turning part of the S-shaped metal winding as a right angle as an example.
例如,如图4所示,每个数据延迟单元由S型金属绕线制成,N个数据延迟单元分别由N个S型金属绕线制成,该N个S型金属绕线的长度依次递增,因此,N个数据延迟单元的时延依次递增。For example, as shown in FIG. 4 , each data delay unit is made of S-shaped metal windings, and the N data delay units are respectively made of N S-shaped metal windings, and the lengths of the N S-shaped metal windings are sequentially increases, so the delays of the N data delay units are sequentially increased.
示例性的,N个数据延迟单元中相邻两个数据延迟单元的时延差与相邻两个S型金属绕线之间的长度差有关,相邻两个S型金属绕线之间的长度差越小,相邻两个数据延迟单元的时延差越小,延迟时间的步进精度越高。相邻两个S型金属绕线之间的长度差越大,相邻两个数据延迟单元的时延差越大,延迟时间的步进精度越低。可以 理解的,可以通过设计相邻两个S型金属绕线之间的长度差,调整两个数据延迟单元的时延差大小,以确保保持时间裕量的检测精度较高。Exemplarily, the time delay difference between two adjacent data delay units in the N data delay units is related to the length difference between two adjacent S-type metal windings, and the difference between adjacent two S-type metal windings is The smaller the length difference is, the smaller the time delay difference between two adjacent data delay units is, and the higher the step accuracy of the delay time is. The greater the length difference between two adjacent S-shaped metal windings, the greater the time delay difference between two adjacent data delay units, and the lower the step accuracy of the delay time. It can be understood that, by designing the length difference between two adjacent S-shaped metal windings, the time delay difference of the two data delay units can be adjusted, so as to ensure a high detection accuracy for maintaining the time margin.
可选的,N个S型金属绕线中相邻两个S型金属绕线之间的长度差可以相等,即N个S型金属绕线的长度依次递增,且相邻两个S型绕线增加的长度相同。需要说明的是,由于金属的非线性特点,当N个S型金属绕线的长度依次增加,且相邻的两个S型绕线增加相同的长度时,N个数据延迟单元的时延依次递增,但相邻两个数据延迟单元的时延差(步进精度)并不是完全相同的。Optionally, the length difference between two adjacent S-shaped metal windings in the N S-shaped metal windings may be equal, that is, the lengths of the N S-shaped metal windings increase sequentially, and two adjacent S-shaped metal windings are The lines increase by the same length. It should be noted that, due to the nonlinear characteristics of metal, when the lengths of N S-shaped metal windings increase sequentially, and the two adjacent S-shaped windings increase by the same length, the delays of the N data delay units are sequentially increased. increase, but the delay difference (stepping accuracy) of two adjacent data delay units is not exactly the same.
例如,如图5所示,数据延迟单元0至数据延迟单元21的S型金属绕线的长度依次增加相同的数值时,数据延迟单元0至数据延迟单元21的时延依次递增,但相邻两个数据延迟单元的时延差是非线性的,即相邻两个数据延迟单元的延迟时间的步进精度是非线性的。从图5中可以看出,相邻两个数据延迟单元的延迟时间的步进精度在1.5ps左右,因此基于该检测电路检测出的保持时间裕量的精度较高。For example, as shown in FIG. 5 , when the lengths of the S-shaped metal windings from the data delay
示例性的,结合图3和图5所示,由于N个第一寄存器的数据输出端与N个第二寄存器的数据输入端之间连接的N个数据延迟单元的时延delay不同,从而使得该N组寄存器的数据路径上的delay不同。当数据延迟单元的时延较小时,若第一寄存器至第二寄存器的数据路径的delay小于时钟路径的delay,那么第二寄存器输出状态为保持失败(hold fail),即不满足芯片保持时间的时序要求。当数据延迟单元的时延依次递增为较大的delay时,若第一寄存器至第二寄存器的数据路径的delay大于时钟路径的delay,那么第二寄存器输出状态为保持成功(hold pass),即满足芯片保持时间的时序要求。Exemplarily, as shown in FIG. 3 and FIG. 5 , because the delay delays of the N data delay units connected between the data output terminals of the N first registers and the data input terminals of the N second registers are different, so that The delays on the data paths of the N sets of registers are different. When the delay of the data delay unit is small, if the delay of the data path from the first register to the second register is smaller than the delay of the clock path, then the output state of the second register is hold fail, that is, the chip hold time is not satisfied. timing requirements. When the delay of the data delay unit is sequentially increased to a larger delay, if the delay of the data path from the first register to the second register is greater than the delay of the clock path, the output state of the second register is hold pass, that is, Meet the timing requirements of the chip hold time.
可以理解的,由于上述N组寄存器的数据路径上的delay依次递增,因此N个第二寄存器的输出状态中可以有一部分第二寄存器的输出状态可以为保持失败(hold fail)状态,另一部分寄存器的输出状态可以为保持成功(hold pass)状态。基于该N个第二寄存器的输出状态,结合设计或仿真时加OCV后的仿真结果,可以确定出设计的边界条件是否过严或过松。It can be understood that since the delays on the data paths of the above N sets of registers are sequentially increased, the output states of some of the N second registers may be in the hold fail state, and the output states of another part of the registers may be in the hold fail state. The output state of can be a hold pass state. Based on the output states of the N second registers, combined with the simulation results after adding OCV during design or simulation, it can be determined whether the boundary conditions of the design are too strict or too loose.
例如,以测试结果为第二寄存器0至第二寄存器9的输出状态为保持失败(hold fail)状态,第二寄存器10至第二寄存器93的输出状态为保持成功(hold pass)状态为例,如图6所示,若加OCV后的仿真结果为第二寄存器0至第二寄存器7的输出状态为保持失败(hold fail)状态,第二寄存器8至第二寄存器93的输出状态为保持成功(hold pass)状态。那么,根据测试结果可以确定设计阶段预留的时间裕量不足,导致测试结果存在hold违例风险,即设计阶段的边界条件过松导致芯片存在违例风险。可以理解的,图6中仅示出了第二寄存器0至第二寄存器11的仿真结果和测试结果,由于第二寄存器0至第二寄存器93的数据路径的delay依次递增,因此,若第二寄存器11的仿真结果或测试结果为保持成功(hold pass),那么第二寄存器12至第二寄存器93的仿真结果或测试结果也为保持成功(hold pass),图6中仅是示例性的示出了第二寄存器0至第二寄存器11的仿真结果和测试结果。需要说明的是,图6中的Pass代表保持成功(hold pass),Fail代表保持失败(hold fail)。For example, taking the test result that the output states of the
再例如,以测试结果为第二寄存器0至第二寄存器4的输出状态为保持失败(hold fail)状态,第二寄存器5至第二寄存器93的输出状态为保持成功(hold pass)状态 为例,如图7所示,若加OCV后的仿真结果为第二寄存器0至第二寄存器7的输出状态为保持失败(hold fail)状态,第二寄存器8至第二寄存器93的输出状态为保持成功(hold pass)状态。那么,根据测试结果和仿真结果,由于测试的保持失败(hold fail)介于未加OCV(无OCV)的仿真结果和加了OCV的仿真结果之间,可以确定设计阶段预留的时间裕量过多(即设计阶段的边界条件过严),可以根据测试结果适当放宽部分约束,解放出一部分边界条件,使得下一代的芯片更具有产品竞争力。For another example, take the test result that the output state of the
可选的,如图7所示,若根据测试结果确定设计阶段的边界条件过严时,可以基于测试结果和仿真结果,在设计下一代芯片时,解放出两个stage的边界条件,使得下一代的产品更具有产品竞争力。Optionally, as shown in Figure 7, if it is determined that the boundary conditions in the design stage are too strict according to the test results, the boundary conditions of the two stages can be released when designing the next-generation chip based on the test results and simulation results, so that the following Generation products are more competitive.
可以理解的,本申请实施例中的测试电路通过在N个第一寄存器和N个第二寄存器之间设置N个S型金属绕线,且N个S型金属绕线的长度依次递增,递增的步进精度与相邻两个S型金属绕线之间的长度差有关,从而通过设计相邻两个S型金属绕线之间的长度差能够控制保持时间裕量的检测精度,使得检测的保持时间裕量的精度较高,因此基于该检测结果可以为下一代芯片的设计提供有力的依据,使得下一代芯片的产品竞争力更强。It can be understood that the test circuit in the embodiment of the present application arranges N S-shaped metal windings between the N first registers and the N second registers, and the lengths of the N S-shaped metal windings increase sequentially, and the The stepping accuracy is related to the length difference between two adjacent S-shaped metal windings, so by designing the length difference between two adjacent S-shaped metal windings, the detection accuracy of maintaining the time margin can be controlled, so that the detection The precision of the retention time margin is high, so based on the detection result, a strong basis can be provided for the design of the next-generation chip, which makes the product competitiveness of the next-generation chip stronger.
由于在芯片物理设计的过程中,对金属绕线的控制困难且难以进行二次检查,因此本申请实施例中的S型金属绕线可以设计成可拼接的模块,并在顶层模块中进行实际的物理拼接,间接的得到了步进式的S型绕线。In the process of chip physical design, it is difficult to control the metal windings and perform secondary inspection. Therefore, the S-shaped metal windings in the embodiment of the present application can be designed into a splicable module, and the actual implementation is carried out in the top-level module. physical splicing, and indirectly obtain a step-by-step S-shaped winding.
示例性的,S型金属绕线可以包括第一转折部分,可拼接部分和第二转折部分。S型金属绕线可以为左右S型绕线,也可以为上下S型绕线。当S型金属绕线为左右S型绕线时,第一转折部分为左侧的转折部分,第二转折部分为右侧的转折部分,中间未转折的部分为可拼接部分。当S型金属绕线为上下S型绕线时,第一转折部分为上侧的转折部分,第二转折部分为下侧的转折部分,中间未转折的部分为可拼接部分。Exemplarily, the S-shaped metal winding may include a first turning portion, a splicable portion and a second turning portion. The S-shaped metal windings can be left and right S-shaped windings or upper and lower S-shaped windings. When the S-shaped metal winding is left and right S-shaped windings, the first turning part is the turning part on the left, the second turning part is the turning part on the right, and the unturned part in the middle is the splicable part. When the S-shaped metal winding is an upper and lower S-shaped winding, the first turning part is the turning part on the upper side, the second turning part is the turning part on the lower side, and the unturned part in the middle is the splicable part.
示例性的,不同S型金属绕线包括的可拼接部分的数量不同。图8以S型金属绕线为左右S型绕线为例,如图8中的(a)所示,S型金属绕线包括第一转折部分、第二转折部分和一个可拼接部分。如图8中的(b)所示,S型金属绕线包括第一转折部分、第二转折部分和两个可拼接部分。即可以通过增加可拼接部分的数量实现不同长度的S型金属绕线。该方法具有良好的控制性,可以根据设计规模的不同,所需delay值大小的不同,自由实现拼接,而且方便二次检查,具有良好的实际工程意义。可以理解的,本申请可以将S型金属绕线模块化,每个S型金属绕线都可以包括三部分(第一转折部分、可拼接部分和第二转折部分),如此一来,通过增加可拼接部分的数量就可以制成不同长度的S型金属绕线,从而在多轮设计或流片时,可以通过改变可拼接部分的数量改变S型金属绕线的长度,以调整数据延迟单元的时延。Exemplarily, different S-shaped metal windings include different numbers of spliceable parts. FIG. 8 takes the S-shaped metal winding as an example of left and right S-shaped windings. As shown in (a) of FIG. 8 , the S-shaped metal winding includes a first turning part, a second turning part and a splicable part. As shown in (b) of FIG. 8 , the S-shaped metal winding includes a first turning portion, a second turning portion, and two splicable portions. That is, S-shaped metal wires of different lengths can be realized by increasing the number of splicable parts. The method has good controllability, can be freely spliced according to the different design scales and the required delay values, and is convenient for secondary inspection, which has good practical engineering significance. It can be understood that the application can modularize the S-shaped metal winding, and each S-shaped metal winding can include three parts (the first turning part, the splicable part and the second turning part). The number of splicable parts can be used to make S-shaped metal windings of different lengths, so that in multiple rounds of design or tape-out, the length of the S-shaped metal windings can be changed by changing the number of splicable parts to adjust the data delay unit. delay.
示例性的,S型金属绕线的输入端和输出端可以同侧设置,也可以设置在不同侧。当S型金属绕线的输入端和输出端同侧设置时,第一转折部分包括S型金属绕线的输入端和输出端,或者,第二转折部分包括S型金属绕线的输入端和输出端。当S型金属绕线的输入端和输出端设置在不同侧时,第一转折部分包括S型金属绕线的输入端,第二转折部分包括S型金属绕线的输出端;或者,第一转折部分包括S型金属绕线的输出端,第二转折部分包括S型金属绕线的输入端。Exemplarily, the input end and the output end of the S-shaped metal winding may be arranged on the same side, or may be arranged on different sides. When the input end and the output end of the S-shaped metal wire are arranged on the same side, the first turning portion includes the input end and the output end of the S-shaped metal wire, or the second turning portion includes the input end and the output end of the S-shaped metal wire. output. When the input end and the output end of the S-shaped metal winding are arranged on different sides, the first turning portion includes the input end of the S-shaped metal winding, and the second turning portion includes the output end of the S-shaped metal winding; The turning portion includes the output end of the S-shaped metal wire, and the second turning portion includes the input end of the S-shaped metal wire.
可以理解的,上述S型金属绕线的输入端连接至第一寄存器的数据输出端QN,S型金属绕线的输出端连接至第二寄存器的数据输入端D。即S型金属绕线的输入端为该S型金属绕线的起点,S型金属绕线的输出端为该S型金属绕线的终点。It can be understood that the input end of the S-shaped metal wire is connected to the data output end QN of the first register, and the output end of the S-shaped metal wire is connected to the data input end D of the second register. That is, the input end of the S-shaped metal winding is the starting point of the S-shaped metal winding, and the output end of the S-shaped metal winding is the end point of the S-shaped metal winding.
可选的,S型金属绕线的输入端和输出端可以位于同一水平线上,也可以位于不同的水平线上。Optionally, the input end and the output end of the S-shaped metal winding may be located on the same horizontal line, or may be located on different horizontal lines.
例如,图9以S型金属绕线为左右S型绕线为例,如图9中的(a)所示,第一转折部分包括S型金属绕线的输入端和S型金属绕线的输出端,S型金属绕线的输入端和S型金属绕线的输出端位于不同的水平线上。如图9中的(b)所示,第二转折部分包括S型金属绕线的输入端和S型金属绕线的输出端,S型金属绕线的输入端和S型金属绕线的输出端位于不同的水平线上。如图9中的(c)所示,第一转折部分包括S型金属绕线的输入端,第二转折部分包括S型金属绕线的输出端,S型金属绕线的输入端和S型金属绕线的输出端位于不同的水平线上。如图9中的(d)所示,第二转折部分包括S型金属绕线的输入端,第一转折部分包括S型金属绕线的输出端,S型金属绕线的输入端和S型金属绕线的输出端位于不同的水平线上。For example, Fig. 9 takes the S-shaped metal winding as the left and right S-shaped windings as an example. As shown in (a) of Fig. 9, the first turning part includes the input end of the S-shaped metal winding and the S-shaped metal winding. The output end, the input end of the S-shaped metal winding and the output end of the S-shaped metal winding are located on different horizontal lines. As shown in (b) of FIG. 9 , the second turning portion includes the input end of the S-shaped metal wire and the output end of the S-shaped metal wire, the input end of the S-shaped metal wire and the output of the S-shaped metal wire The ends are located on different horizontal lines. As shown in (c) of FIG. 9 , the first turning portion includes the input end of the S-shaped metal wire, and the second turning portion includes the output end of the S-shaped metal wire, the input end of the S-shaped metal wire and the S-shaped metal wire. The output ends of the metal windings are located on different horizontal lines. As shown in (d) of FIG. 9 , the second turning portion includes the input end of the S-shaped metal wire, and the first turning portion includes the output end of the S-shaped metal wire, the input end of the S-shaped metal wire and the S-shaped metal wire. The output ends of the metal windings are located on different horizontal lines.
再例如,图10以S型金属绕线为上下S型绕线为例,如图10中的(a)所示,第二转折部分包括S型金属绕线的输入端和S型金属绕线的输出端,S型金属绕线的输入端和S型金属绕线的输出端位于同一水平线上。如图10中的(b)所示,第一转折部分包括S型金属绕线的输入端和S型金属绕线的输出端,S型金属绕线的输入端和S型金属绕线的输出端位于同一水平线上。如图10中的(c)所示,第二转折部分包括S型金属绕线的输入端,第一转折部分包括S型金属绕线的输出端,S型金属绕线的输入端和S型金属绕线的输出端位于不同的水平线上。如图10中的(d)所示,第一转折部分包括S型金属绕线的输入端,第二转折部分包括S型金属绕线的输出端,S型金属绕线的输入端和S型金属绕线的输出端位于不同的水平线上。For another example, FIG. 10 takes the S-shaped metal winding as the upper and lower S-shaped windings as an example. As shown in (a) of FIG. 10 , the second turning portion includes the input end of the S-shaped metal winding and the S-shaped metal winding. The output end of the S-shaped metal winding and the output end of the S-shaped metal winding are located on the same horizontal line. As shown in (b) of FIG. 10 , the first turning portion includes the input end of the S-shaped metal wire and the output end of the S-shaped metal wire, the input end of the S-shaped metal wire and the output of the S-shaped metal wire The ends are on the same horizontal line. As shown in (c) of FIG. 10 , the second turning portion includes the input end of the S-shaped metal wire, and the first turning portion includes the output end of the S-shaped metal wire, the input end of the S-shaped metal wire and the S-shaped metal wire. The output ends of the metal windings are located on different horizontal lines. As shown in (d) of FIG. 10 , the first turning portion includes the input end of the S-shaped metal winding, and the second turning portion includes the output end of the S-shaped metal winding, the input end of the S-shaped metal winding and the S-shaped metal winding. The output ends of the metal windings are located on different horizontal lines.
可选的,本申请实施例提供的检测电路还可以包括时钟选择器和时钟延迟电路,如图11所示,控制器与时钟选择器的输入端、时钟选择器的数据选择端,以及N个第一寄存器的时钟端连接,时钟选择器的输出端与时钟延迟电路的输入端连接,时钟延迟电路的输出端与N个第二寄存器的时钟端连接。Optionally, the detection circuit provided in this embodiment of the present application may further include a clock selector and a clock delay circuit. As shown in FIG. 11 , the input terminal of the controller and the clock selector, the data selection terminal of the clock selector, and N The clock terminal of the first register is connected, the output terminal of the clock selector is connected to the input terminal of the clock delay circuit, and the output terminal of the clock delay circuit is connected to the clock terminals of the N second registers.
示例性的,如图11所示,时钟延迟电路可以包括M个时钟延迟单元,该M个时钟延迟单元分别具有不同的时延。需要说明的是,本申请实施例对于M的取值并不进行限定,图11仅以M为32进行示意。Exemplarily, as shown in FIG. 11 , the clock delay circuit may include M clock delay units, and the M clock delay units have different delays respectively. It should be noted that the value of M is not limited in this embodiment of the present application, and FIG. 11 only shows that M is 32 for illustration.
控制器具体用于分时控制时钟选择器依次选择M个时钟延迟单元中的每个时钟延迟单元。The controller is specifically configured to time-division and control the clock selector to sequentially select each clock delay unit in the M clock delay units.
示例性的,上述时钟选择器可以为多路选择器MUX,控制器可以分时控制多路选择器MUX。该MUX可以为M选1的选择器,MUX中的数据选择端A 0到A k的数量与M的具体取值有关。例如,控制器每隔一段时间控制多路选择器MUX选择32个时钟延迟单元中的一个时钟延迟单元,得到一组N个第二寄存器的输出状态,控制器依次选择32个时钟延迟单元中的每个时钟延迟单元,可以得到32组输出结果,每组输出结果用于指示每个第二寄存器的输出状态。可以理解的,当时钟延迟电路中包括32个时钟延迟单元时,MUX可以为32选1的选择器,数据选择端的数量可以为5, 即数据选择端可以为A 0到A 4。 Exemplarily, the above-mentioned clock selector may be a multiplexer MUX, and the controller may control the multiplexer MUX by time division. The MUX can be a selector for selecting 1 from M, and the number of data selection terminals A 0 to A k in the MUX is related to the specific value of M. For example, the controller controls the multiplexer MUX to select one clock delay unit among the 32 clock delay units at regular intervals to obtain the output state of a group of N second registers, and the controller selects the clock delay unit among the 32 clock delay units in turn. For each clock delay unit, 32 groups of output results can be obtained, and each group of output results is used to indicate the output state of each second register. It can be understood that when the clock delay circuit includes 32 clock delay units, the MUX may be a 32-to-1 selector, and the number of data selection terminals may be 5, that is, the data selection terminals may be A 0 to A 4 .
需要说明的是,当N个第二寄存器的输出结果全部为保持失败(hold fail)状态或全部为保持成功(hold pass)状态时,该检测结果没有实际指导意义,不能确定出保持时间裕量。只有在N个第二寄存器的输出状态既有保持失败(hold fail)状态又有保持成功(hold pass)状态时,才能依据该检测结果,结合设计阶段的仿真结果,确定设计阶段的边界条件是否过严或过松。因此通过控制器分时选择不同的时钟延迟单元,可以进行大量程调节,使得N个第二寄存器的输出状态既有保持失败(hold fail)状态又有保持成功(hold pass)状态。It should be noted that when the output results of the N second registers are all in the hold fail state or all in the hold pass state, the detection result has no practical guiding significance, and the hold time margin cannot be determined. . Only when the output states of the N second registers have both hold fail and hold pass states, can it be determined whether the boundary conditions in the design stage are based on the detection results and the simulation results in the design stage? Too tight or too loose. Therefore, by selecting different clock delay units by time-sharing by the controller, a large-scale adjustment can be performed, so that the output states of the N second registers have both a hold fail state and a hold pass state.
可选的,控制器还可以控制时钟选择器选择时钟延迟模块中的第一时钟延迟单元;若N个第二寄存器的输出状态均为保持成功(hold pass),控制器控制时钟选择器选择时钟延迟模块中的第二时钟延迟单元,第二时钟延迟单元的时延大于第一时钟延迟单元的时延;若N个第二寄存器的输出状态均为保持失败(hold fail),控制器控制时钟选择器选择时钟延迟模块中的第三时钟延迟单元,第三时钟延迟单元的时延小于第一时钟延迟单元的时延。通过控制器的闭环控制,可以使得N个第二寄存器的输出状态既有保持失败(hold fail)状态又有保持成功(hold pass)状态。Optionally, the controller may also control the clock selector to select the first clock delay unit in the clock delay module; if the output states of the N second registers are all hold pass, the controller controls the clock selector to select the clock. The second clock delay unit in the delay module, the delay of the second clock delay unit is greater than the delay of the first clock delay unit; if the output states of the N second registers are all hold fail, the controller controls the clock The selector selects a third clock delay unit in the clock delay module, and the delay of the third clock delay unit is smaller than the delay of the first clock delay unit. Through the closed-loop control of the controller, the output states of the N second registers can be made to have both a hold fail state and a hold pass state.
可选的,本申请实施例提供的检测电路还可以包括接口电路,如图12所示,控制器与接口电路连接,控制器还用于将N个第二寄存器的输出状态传输至接口电路。该接口电路用于向其他设备传输数据。例如,接口电路可以向外部设备传输测试电路的检测结果。Optionally, the detection circuit provided in this embodiment of the present application may further include an interface circuit. As shown in FIG. 12 , the controller is connected to the interface circuit, and the controller is further configured to transmit the output states of the N second registers to the interface circuit. This interface circuit is used to transmit data to other devices. For example, the interface circuit may transmit the detection results of the test circuit to an external device.
示例性的,上述图3、图8和图9中仅以发生器包括一组测试电路为例进行示意。本申请实施例对于发生器包括的测试电路的具体数目并不进行限定,例如,发生器也可以包括两组测试电路或者三组测试电路。Exemplarily, the above-mentioned FIG. 3 , FIG. 8 and FIG. 9 only take the generator including a set of test circuits as an example for illustration. This embodiment of the present application does not limit the specific number of test circuits included in the generator. For example, the generator may also include two groups of test circuits or three groups of test circuits.
需要说明的是,同一组测试电路中包括的N个第一寄存器与N个第二寄存器的工艺电压温度(process voltage temperature,PVT)相同,该PVT可以为标准电压阈值(standard voltage threshold,SVT)、低电压阈值(low voltage threshold,LVT)或超低电压阈值(ultra low voltage threshold,ULVT)。It should be noted that the N first registers and the N second registers included in the same set of test circuits have the same process voltage temperature (PVT), and the PVT may be a standard voltage threshold (SVT) , low voltage threshold (low voltage threshold, LVT) or ultra low voltage threshold (ultra low voltage threshold, ULVT).
例如,如图13所示,发生器包括三组测试电路,第一组测试电路中N个第一寄存器与N个第二寄存器的PVT均为SVT。第二组测试电路中N个第一寄存器与N个第二寄存器的PVT均为LVT。第三组测试电路中N个第一寄存器与N个第二寄存器的PVT均为ULVT。For example, as shown in FIG. 13 , the generator includes three groups of test circuits, and the PVTs of the N first registers and the N second registers in the first group of test circuits are both SVTs. The PVTs of the N first registers and the N second registers in the second group of test circuits are both LVTs. The PVTs of the N first registers and the N second registers in the third group of test circuits are both ULVTs.
本申请实施例中的测试电路通过在N个第一寄存器和N个第二寄存器之间设置N个S型金属绕线,且N个S型金属绕线的长度依次递增,递增的步进精度与相邻两个S型金属绕线之间的长度差有关,从而通过设计相邻两个S型金属绕线之间的长度差能够控制保持时间裕量的检测精度,使得检测的保持时间裕量的精度较高,因此基于该检测结果可以为下一代芯片的设计提供有力的依据,使得下一代芯片的产品竞争力更强。The test circuit in the embodiment of the present application arranges N S-shaped metal windings between the N first registers and the N second registers, and the lengths of the N S-shaped metal windings are sequentially increased, and the step accuracy of the increment is increased. It is related to the length difference between two adjacent S-shaped metal windings, so by designing the length difference between two adjacent S-shaped metal windings, the detection accuracy of the retention time margin can be controlled, so that the detection retention time margin can be controlled. Therefore, the detection results can provide a strong basis for the design of the next-generation chip, so that the product competitiveness of the next-generation chip is stronger.
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、可擦 除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。The steps of the methods or algorithms described in conjunction with the disclosure of the present application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (Random Access Memory, RAM), flash memory, Erasable Programmable Read-Only Memory (Erasable Programmable ROM, EPROM), electrically erasable programmable Programmable read-only memory (Electrically EPROM, EEPROM), registers, hard disk, removable hard disk, compact disk read only (CD-ROM), or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, such that the processor can read information from, and write information to, the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and storage medium may reside in an ASIC. Alternatively, the ASIC may be located in the core network interface device. Of course, the processor and the storage medium may also exist in the core network interface device as discrete components.
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。Those skilled in the art should appreciate that, in one or more of the above examples, the functions described in the present invention may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。The specific embodiments described above further describe the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above descriptions are only specific embodiments of the present invention, and are not intended to limit the scope of the present invention. Any modification, equivalent replacement, improvement, etc. made on the basis of the technical solution of the present invention shall be included within the protection scope of the present invention.
Claims (13)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2020/112289 WO2022041154A1 (en) | 2020-08-28 | 2020-08-28 | Hold time margin detection circuit |
| CN202080101665.5A CN115667954B (en) | 2020-08-28 | 2020-08-28 | A detection circuit for maintaining time margin |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2020/112289 WO2022041154A1 (en) | 2020-08-28 | 2020-08-28 | Hold time margin detection circuit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022041154A1 true WO2022041154A1 (en) | 2022-03-03 |
Family
ID=80352481
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/112289 Ceased WO2022041154A1 (en) | 2020-08-28 | 2020-08-28 | Hold time margin detection circuit |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN115667954B (en) |
| WO (1) | WO2022041154A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114861578A (en) * | 2022-07-05 | 2022-08-05 | 飞腾信息技术有限公司 | Method, device, equipment and storage medium for repairing hold time violation |
| CN116090399A (en) * | 2023-04-06 | 2023-05-09 | 中国人民解放军国防科技大学 | Trigger conversion method and device based on time margin established by data output end |
| CN116542209A (en) * | 2023-07-05 | 2023-08-04 | 上海韬润半导体有限公司 | Layout optimization method and device for SOC (system on chip) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030028835A1 (en) * | 2001-08-02 | 2003-02-06 | Fujitsu Limited | Semiconductor integrated circuit |
| US7138829B1 (en) * | 2004-11-16 | 2006-11-21 | Xilinx, Inc. | Measuring input setup and hold time using an input-output block having a variable delay line |
| US20080201675A1 (en) * | 2006-09-15 | 2008-08-21 | International Business Machines Corporation | Structure for integrated circuit for measuring set-up and hold times for a latch element |
| TW201245732A (en) * | 2011-05-05 | 2012-11-16 | Novatek Microelectronics Corp | Test chip and test system for integrated circuit chip using the same |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100801054B1 (en) * | 2005-10-08 | 2008-02-04 | 삼성전자주식회사 | Timing margin measuring device of semiconductor circuit and on-chip characteristic measuring device including same |
| CN202904427U (en) * | 2012-09-27 | 2013-04-24 | 上海宇芯科技有限公司 | Clock tree generation circuit with multiple function modes |
| TWI493370B (en) * | 2013-03-05 | 2015-07-21 | Univ Nat Chiao Tung | Eco hold time fixing method |
| CN105807206B (en) * | 2016-03-11 | 2018-08-07 | 福州瑞芯微电子股份有限公司 | A kind of chip testing clock circuit and its test method |
| US10277213B1 (en) * | 2017-10-26 | 2019-04-30 | Nxp Usa, Inc. | Glitch detection in input/output bus |
| US10796054B2 (en) * | 2018-02-02 | 2020-10-06 | Samsung Electronics Co., Ltd. | Chip design method of optimizing circuit performance according to change in PVT operation conditions |
| CN108646984B (en) * | 2018-05-16 | 2020-01-03 | 华为技术有限公司 | DQS position adjusting method and device |
-
2020
- 2020-08-28 WO PCT/CN2020/112289 patent/WO2022041154A1/en not_active Ceased
- 2020-08-28 CN CN202080101665.5A patent/CN115667954B/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030028835A1 (en) * | 2001-08-02 | 2003-02-06 | Fujitsu Limited | Semiconductor integrated circuit |
| US7138829B1 (en) * | 2004-11-16 | 2006-11-21 | Xilinx, Inc. | Measuring input setup and hold time using an input-output block having a variable delay line |
| US20080201675A1 (en) * | 2006-09-15 | 2008-08-21 | International Business Machines Corporation | Structure for integrated circuit for measuring set-up and hold times for a latch element |
| TW201245732A (en) * | 2011-05-05 | 2012-11-16 | Novatek Microelectronics Corp | Test chip and test system for integrated circuit chip using the same |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114861578A (en) * | 2022-07-05 | 2022-08-05 | 飞腾信息技术有限公司 | Method, device, equipment and storage medium for repairing hold time violation |
| CN116090399A (en) * | 2023-04-06 | 2023-05-09 | 中国人民解放军国防科技大学 | Trigger conversion method and device based on time margin established by data output end |
| CN116542209A (en) * | 2023-07-05 | 2023-08-04 | 上海韬润半导体有限公司 | Layout optimization method and device for SOC (system on chip) |
| CN116542209B (en) * | 2023-07-05 | 2023-09-15 | 上海韬润半导体有限公司 | Layout optimization method and device for SOC (system on chip) |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115667954A (en) | 2023-01-31 |
| CN115667954B (en) | 2025-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022041154A1 (en) | Hold time margin detection circuit | |
| CN108009055B (en) | Method and device for repairing hold time violation | |
| US9002693B2 (en) | Wire like link for cycle reproducible and cycle accurate hardware accelerator | |
| CN106155950B (en) | Parameter processing method and device | |
| US7251794B2 (en) | Simulation testing of digital logic circuit designs | |
| CN108120917B (en) | Test clock circuit determination method and device | |
| CN113740717A (en) | Method and circuit for measuring retention time of time sequence unit | |
| CN115455879A (en) | Timing Path Screening Method and Equipment | |
| US8839061B2 (en) | System and method for scan chain re-ordering | |
| JPWO2006030904A1 (en) | Semiconductor device and communication control method | |
| CN111858412A (en) | Method, apparatus, computer equipment and medium for adjusting timing | |
| US8751853B2 (en) | Quad-data rate controller and implementing method thereof | |
| JP2014001937A (en) | Scan test method, program and scan test circuit | |
| US7159199B2 (en) | Method for verifying adequate synchronization of signals that cross clock environments and system | |
| Garg | Common path pessimism removal: An industry perspective: Special session: Common path pessimism removal | |
| CN106874593B (en) | Digital electronic device design adjustment method and server | |
| CN104866638B (en) | Verification method for DRAM system | |
| CN103678249B (en) | Expansion equipment and its clock adjustment method based on memory interface | |
| US8489943B2 (en) | Protocol sequence generator | |
| CN119728071B (en) | Chip testing method and device for asynchronous half-duplex communication protocol and testing machine | |
| JP4798505B2 (en) | Digital system design system and digital system manufacturing method | |
| CN109155798B (en) | A Determining Method of Asynchronous FIFO Circuit and Delay | |
| CN119724322B (en) | A SRAM setup and hold time test circuit structure and system | |
| CN118297013B (en) | Simulation test auxiliary circuit, simulation design unit and simulation test circuit | |
| US20250307515A1 (en) | Method for Implementing Timing Closure of Ultra-Large-Scale SOC Based on Module Division |
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: 20950824 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20950824 Country of ref document: EP Kind code of ref document: A1 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 202080101665.5 Country of ref document: CN |