CN201837703U - System for forming scan-based test design for integrated circuit design - Google Patents

System for forming scan-based test design for integrated circuit design Download PDF

Info

Publication number
CN201837703U
CN201837703U CN2009201742889U CN200920174288U CN201837703U CN 201837703 U CN201837703 U CN 201837703U CN 2009201742889 U CN2009201742889 U CN 2009201742889U CN 200920174288 U CN200920174288 U CN 200920174288U CN 201837703 U CN201837703 U CN 201837703U
Authority
CN
China
Prior art keywords
test
design
candidate
circuit
scan chain
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.)
Expired - Lifetime
Application number
CN2009201742889U
Other languages
Chinese (zh)
Inventor
R·卡普尔
J·塞基阿
R·宇普鲁里
P·诺蒂雅斯
T·费尔南德斯
S·库尔卡尔尼
A·安巴兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synopsys Inc
Original Assignee
Synopsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/248,710 external-priority patent/US8584073B2/en
Application filed by Synopsys Inc filed Critical Synopsys Inc
Application granted granted Critical
Publication of CN201837703U publication Critical patent/CN201837703U/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

Roughly speaking, a scan-based test architecture is optimized according to a considered circuit design. In one embodiment, multiple candidate test designs are formed. As for each candidate test design, multiple test vectors are generated according to the circuit design and the candidate test design, and preferably, the test vectors are generated by using the same ATPG (automatic test program generation) algorithm, wherein the algorithm can be used in down stream so as to be convenient for generating a final test vector for producing an integrated circuit device. Hereby a test protocol quality metric such as fault coverage is determined for each candidate test design, and according to the comparison between the test protocol quality metrics, one candidate test design is selected so as to be implemented in the integrated circuit. Preferably, only the sampling in a set of completed test vectors which can be generated by the ATPG is used for determining the number of the potential faults that needs to be found by each specific candidate test design.

Description

Be used to the system of integrated circuit (IC) design formation based on the Test Design of scanning
Technical field
The utility model relates to the testing scanning chain framework that is used for integrated circuit, in particular depends on the optimization of the test structure of circuit design.
Background technology
Bigger and more complicated integrated circuit (IC) logical design causes and need more complicated test guarantee that these IC have reliable performance.This test can be represented the pith of design, manufacturing and cost of serving about IC.In a simple model, can comprise about the test of IC a plurality of test patterns are applied to circuit input end, and the generation by monitoring that it exports detection failure.Fault coverage refers to the usefulness that test pattern detects each fault in the incipient fault scope.Therefore, if there is a group mode can detect each incipient fault basically, then can realize approaching 100% fault coverage.
In order to facilitate better fault coverage and testing cost to be reduced to minimum, people use DFT (design test).In a kind of DFT technology, can use the structure in the logical design.Especially, the logical design of implementing in IC generally includes a plurality of status registers, for example the sequential storage element of trigger or latch and so on.These status registers can connect into the scan chain with the length that calculates, and wherein said length can change according to design.In one embodiment, all status registers in the design can scan, and that is to say, each status register all is in the scan chain.Status register in the scan chain is also referred to as scanning element usually.In DFT, each scan chain has all comprised scanning input pin (being also referred to as scan input end here) and the scanning output pin that serves as control and observe node in scan pattern.
Scan chain is by the predetermined logic signal via scanning element regularly is loaded test pattern.Therefore, if each scan chain comprises 500 scanning elements, then use 500 clock period to finish loading procedure.Should be noted that for simplicity, some embodiment described herein has the scan chain of equal in length.But in practical embodiments, DFT can attempt creating this target, but seldom can realize this target.Therefore, in practical embodiments, software can compensate different scan chain length, thereby guarantees discerning accordingly and analyze from the output of each test pattern.For a person skilled in the art, this method is known, therefore here it is not elaborated.
Usually, design is complicated, and the trigger that comprises in the design is also just many more.Unfortunately, can be less relatively in the design as the input and output of the terminal of scan chain, the quantity of the trigger of each scan chain sharply increases.As a result, the operation needed time of scan chain will sharply increase, and this time is called test application time here.
Shown in Fig. 1 is the relevant portion that is used for the typical logical design of sequential circuit.This design comprises combinational logic 110 and a plurality of status register 112-0,112-1,112-2 and 112-3 (being referred to as 112).Term used herein " combinational logic " comprises direct connection, therefore, can comprise that via the logical path of combinational logic 110 some only is the path of circuit, and can not carry out the centre change to the logical signal of its transmission.In Fig. 1, only shown the one of four states register, but a lot of design has all or millions of status registers thousands of.A plurality of elementary logic input PI0, PI1 and PI2 and the output of a plurality of status register Q0, Q1, Q2 and Q3 are provided for combinational logic 110 here.The output of combinational logic 110 comprises elementary output PO0, PO1 and PO2, and the NextState input D0, D1, D2 and the D3 that offer status register 112.Though the example of Fig. 1 does not have the physical location of indication component on integrated circuit (IC) chip usually, mode was drawn shown in all synchronizing circuit designs can be adopted.
The example of Fig. 1 also has been organized into status register 112 two scan chain 114-0 and 114-1 (being referred to as 114).Scan chain 114-0 comprises status register 112-0 and 112-1, and scan chain 114-1 then comprises status register 112-2 and 112-3.As can be seen, in scan chain 114-0, status register 112-0 has the independent scanning input that links to each other with the scanning input S10 of scan chain 114-0, and status register 112-1 has the independent scanning input that links to each other with the output Q0 of status register 112-0.Except with combinational logic 110 links to each other, the output Q1 of status register 112-1 also has been provided for the scanning output SO0 of scan chain 114-0.It can be seen equally, in scan chain 114-1, status register 112-2 has the independent scanning input that links to each other with the scanning input SI1 of scan chain 114-1, and status register 112-3 has the independent scanning input that links to each other with the output Q2 of status register 112-2.Except with combinational logic 110 links to each other, the output Q3 of status register 112-3 also is provided for the scanning output SO1 of scan chain 114-1.Usually, in each scan chain, all comprised plural status register, but, in each scan chain of Fig. 1, all only shown two status registers for making example simple.
Device is designed to work in the arbitrary pattern in two kinds of patterns alternatively, and these two kinds of patterns are also sometimes referred to as mode of operation and scan pattern.In mode of operation, the NextState data that are used for status register 112 are to obtain from the output D0-D3 of combinational logic 110.In this pattern, scan chain does not activate.In scan pattern, the NextState data of status register 112 are to obtain from the scanning input of corresponding state register.
Fig. 2 is another view of certain part during Fig. 1 designs, and wherein this view has comprised two status register 112-0 and 112-1, and the part of combinational logic 110.As can be seen, D input end at the trigger 223 of each status register 112 inside has all inserted multiplexer 222, so as from the corresponding D input of combination combinational logic 110 with import from SI0 or from the scanning of the states of previous states register 112 in the scan chain between selecting.In Fig. 2, formerly element corresponding outputs to the connection of multiplexer 222 inputs and being connected to lump together and being designated as 224 to the scanning input and output pin of SI0 and SO0 and so on from scan chain.By using scan_mode (i.e. control) signal, multiplexer 222 can be configured to allow to scan input value and move into trigger 223, and without combinational logic 110.If device is in mode of operation, the pulse that then puts on clock (CLK) terminal of trigger 223 will be obtained from the value of combinational logic 110 outputs, if device is in scan pattern, the value of this pulse meeting self-scanning in the future input SI0 moves into scan chain so.When the value of its input of self-scanning in the future SI0 moved into scan chain, it also shifted out the value that is at present in the status register 112 via scanning output SO0.Comprise about the part of the processing of " enforcement " scan chain the register in the circuit design of d type flip flop 223 and so on is replaced to the register/multiplexer combination that is similar to scan register 112, and add scan chain interconnection 224.
Shown in Fig. 3 is a normal process 300 that is used to specific measured device to handle single scan testing mode.In flow process 300, step 310 device is set to scan pattern.Step 302 will scan input value and move into the scan chain that activates.Step 303 withdraws from scan pattern, thus device is turned back to mode of operation.Step 304 is applied to test circuit input PI0~PI2 with additional incentive.As used herein, excitation has comprised the value that is applied to elementary input PI0~PI2 simultaneously and has been moved into value in the scan chain.Here, the excitation that is used for the fc-specific test FC iteration is also sometimes referred to as test pattern or test vector.Step 305 is by imposing the response that measured device in the status register 112 is obtained in pulsation (pulse) to clock.Step 306 is arranged to scan pattern once more with device, and step 307 will scan output valve and shift out from the scan chain that activates.Step 308 is arranged to mode of operation with device once more.The response that device is made test and excitation is handled by external unit, so that detect the fault of measured device, this response can comprise the value of scanning output in the step 307 and the value that monitors on elementary output PO0~PO2.
Clearly, step 301,303~306 and 308 have expended a clock period on tester.But each move operation such as step 302 and 307 all can expend and the as many clock period of long scan chain.In the design of complexity, might comprise and surpass 1,000,000 trigger.If 10 scan chains can only be provided, each scan chain will have the individual trigger in 100,000 (1,000,000/10) so, needs 100,000 clock period to handle single scan testing mode thus.Therefore, what kind of is optimized no matter to operate realization by the overlapping scan of adjacent test pattern, and test application time all is controlled by scan operation.
By using definite automatic test pattern to generate (ATPG), can produce one group of test pattern, so that in the device of test, use according to the specific circuit design manufacturing.Normally following work of ATPG: the analysis circuit design, a whole set of " potential " fault of identification is attempted producing the maximum incipient fault of test then and is gathered needed minimum test pattern set.In theory, fault coverage approaches 100%, but concerning complex circuit design, this need have a large amount of storage spaces in Test Application equipment, so that use it for a large amount of patterns that apply as excitation and the expected response value of each test pattern.The test that ATPG software can use single test pattern to make up a plurality of faults usually, but needed test pattern quantity still is very huge.
Some conventionally test framework utilization be such observation, the position of limited quantity in the test pattern promptly usually only need be set, can detect any specific fault.For typical test pattern, it is required having only 2% excitation value.And concerning the remainder of test pattern, applied value is had no effect to the processing that detects this fault.In the mark shorthand, when the design test pattern, inoperative position is called as " being indifferent to (donot care) " position in the test pattern, and normally represent with logic X rather than 0 or 1.
In some newer test structure, each device scanning input all links to each other with a plurality of scan chain inputs.In the design with N scan chain and m device scanning input, each scanning input value all is provided for N/m scan chain.Thus, compare with traditional scan architecture, the scanning input value of sharing has been taken a lot of short scan chains into account.So, the status register in the device can be organized into more parallel scan chain (comparing with the quantity of the device input that can be used as device scanning input use).For example, share by four the tunnel, the test duration of each device can reduce nearly four times.
But, when using this scan architecture, must carefully select test vector, to avoid conflict.When imposing on certain value, the test vector regulation is positioned at the wherein status register of certain position of certain scan chain, and when opposite value being imposed on the status register of same position of the different scanning chain that is positioned at a shared identity unit scanning input, at this moment will clash.This conflict can be avoided by known method usually, known method for example redesigns test pattern (thus, each ad-hoc location in scanning, in all scan chains of sharing the identity unit input identical value or " being indifferent to " value can appear all), or change is assigned to scan chain the mode of device scanning input, or the order of the status register of change scan chain inside, or change the mode that status register is assigned to scan chain.But, if this wherein the neither one option can use, then need different scan architecture or must accept incomplete fault coverage.
Here by having described a kind of technology in the patent publication No. 2005/0268190 before authorizing with reference to the people's such as Kapur that introduce U.S. such as (" ") Kapur, can be dynamically in this technology move at each of each test pattern as required and reconfigure scanning input test framework.Inserted one " decompressor " between device scanning input and scan chain, wherein said decompressor can be worked in multiple different mode, is delivered to scan chain so that device is scanned input value (or the value that therefrom draws).At moving the each of test pattern internal scan chain, tester can be arranged to decompressor the needed appropriate pattern of ad-hoc location of test vector.
Be added to the logic that device scanning input is docked with internal scan chain and be called as decompressor; This is to provide very big reception scan chain set because it has only expended a small amount of input value.Be added to the logic that internal scan chain output is docked to device scanning output and be called as compressor reducer, this is because it has expended a lot of values from scan chain, and it is collected in the very little device scanning output set.Sometimes, test vector can produce response at the scanning outgoing position as uncertain logical value.These uncertain logical values might perhaps come from and bus contention or the relevant problem of uncertain timing from the memory component of no initializtion.No matter whether dependent failure exists, and these scanning outgoing positions all have unknown-value." value of being indifferent to " in the middle of these unknown-values and test vector self is similar, and sometimes it is labeled as logic X (the unknown).They might have a negative impact to the observability of the good response of assembling in compressor reducer.
By identification X source, and subsequently it is removed, perhaps,, can stop those X that in the response acquisition process, produce to arrive scanning element perspectively so that fix the X source by adding the additional testing point by inserting additional DFT logic.The known method that the another kind of X of prevention arrives scanning element is carefully to generate test pattern, wherein scans being indifferent to bit and can being configured to controlling value in the input vector, so that stop X to arrive scanning element.In another kind of solution, can use error masking and/or X shielding.Error masking comprises by careful design compressor reducer cancels out each other a plurality of mistakes, and the X shielding then is included between scan chain output and the compressor reducer and inserts mask logic, in order to avoid X is transmitted to the compressor reducer output terminal.Fig. 4 has shown the example of the mask logic that is used for compressor reducer, wherein has redundance in compressor reducer XOR.In this example, mask logic will guarantee that the logic X in the response of being obtained can not interfere the observability of the scanning element in other scan chains in observed any scan chain group inside in any scanning element.However, shielding processing still can be introduced the problem of himself, and this is because it has reduced the observability in the design.Therefore, under the identical situation of fault coverage, the test pattern number tends to increase, and partly opposes with the reduction effect that uses the output compressor reducer to realize thus.
With regard to the interface logic on the scan chain input end, a large amount of solutions had been formed at present already.At N.A.Touba in being published in the 7-8 month in 2006 IEEE Design and Test ofComputers, in " Survey of Test Vector CompressionTechniques " literary composition of 294-303 page or leaf, set forth the investigation of carrying out at this some solution wherein, incorporated the document into by reference here.These solutions comprise the scheme based on code, based on the scheme of linear solution compressor reducer, and based on the scheme of broadcast scan.These solutions can be divided into combination or succession.The combination solution both can be the same simple with directly (but sharing) connection to the device of internal scan chain scanning input, also can be used for scan-data is broken the same complexity of decode logic into the sequence of " 1 " and " 0 " with those.More common solution is used XOR on input end or MUX, so that will distribute to the reception scan chain from the value of device scanning input.The order solution is included as the solution at the mutation of the logic BIST structure of sweep compression customization.By at regular intervals or the seed (seed) of streaming input when moving each time, the excitation requirement that is used for fault detect and observation (shielding) will be encoded, so that remarkable gain is being provided aspect test data capacity and the test application time.These order solutions comprise that also those store the solution of a plurality of values that the multiple expansion logic of use obtains by using shift register temporarily.
Most of modern integrated circuits design processes have all been used electric design automation (EDA) instrument.(1) is organized into scan chain and (2) with the status register of the circuit design that provided and inserts the predetermined compression and decompression logic with himself style before and after scan chain the solution of oneself is provided by automatically in different EDA producers.Sometimes status register is organized into the processing of scan chain and the compression and decompression logic is referred to as circuit design together with some the configuration setting that is provided for the ATPG system in order to form test vector " Test Design " here.Eda software allows the user to make some selection in this processing, for example imports and scan distribution devices I/O pin between the output function in scanning, and whether the quantity of the pattern of implementing in decompressor should carry out output shielding or the like.But because the user does not have enough abilities to come these problems are made significant answer usually, therefore, the user only accepts the default setting of software usually, and the common representative of described default setting is that the optimum that is used for some " on average " circuit design is answered.As a result be " average " owing to there is not the circuit design of reality, therefore, no matter aspect data volume, still simultaneously at this aspect two, the Test Design of implementing for numerous circuit design all is suboptimal in the fault coverage aspect.
The utility model content
Put it briefly, the utility model relates to according to circuit design itself and come to be the optimized that provided test structure based on scanning.In one embodiment, formed the multiple candidate's Test Design that is used for circuit design.For each candidate's Test Design, a plurality of test vectors have been produced according to circuit design and candidate's Test Design, and these test vectors preferably use same ATPG algorithm to produce, wherein said algorithm can use in the downstream, so that produce the final test vector that is used to generate integrated circuit (IC)-components.The test protocol quality factor of fault coverage and so on have all been determined here for each candidate's Test Design, and relatively selected one of them candidate's Test Design according to what these test protocol quality factor carried out, so that in integrated circuit (IC)-components, implemented.Preferably, the quantity of having only the incipient fault that sampling in the complete test vector set that ATPG can produce just can be used to determine that each particular candidate Test Design can be found.
Particular aspects of the present utility model is described in claim, instructions and accompanying drawing.
Description of drawings
At the utility model particular aspects the utility model is described, and here will be to accompanying drawing reference in addition, wherein:
Shown in Fig. 1 is the some parts that is used for the typical logical design of sequential circuit.
Fig. 2 is another view of the part during Fig. 1 designs.
Be used to the flow process that specific measured device is handled single scan testing mode shown in Fig. 3.
What Fig. 4 showed is the example that is used for the mask logic of compressor reducer.
What Fig. 5 showed is the Design of Digital Integrated Circuit of institute's example and the reduced representation of test flow chart.
Shown in Fig. 6 is the test structure that uses among the embodiment that here describes.
Fig. 7 is the process flow diagram of embodiment that has comprised the Test Design optimizer of feature of the present utility model.
Fig. 8 is to use ATPG to produce the process flow diagram of Fig. 7 step of test protocol.
Fig. 9 is the process flow diagram of embodiment that has comprised the Test Design optimizer of feature of the present utility model.
Figure 10 is the simplified block diagram of computer system that can be used to implement to comprise the software of aspect of the present utility model.
Figure 11 is that the integrated circuit (IC) design that is used to according to an embodiment of the present utility model forms simplified block diagram based on the system of the Test Design of scanning.
Embodiment
Hereinafter describe in detail and provide with reference to the accompanying drawings.Here will be described preferred embodiment, so that example the utility model, but these preferred embodiments do not limit scope of the present utility model, and scope of the present utility model is defined by the claims.It will be recognized by those skilled in the art that the various equivalences of carrying out at subsequent descriptions change.
Design and testing process summary
What Fig. 5 showed is the Design of Digital Integrated Circuit of institute's example and the reduced representation of test flow chart.It should be understood that equally, do not influencing under the situation of the function that is realized that a lot of steps of Fig. 5 can combination, executed in parallel or carry out with different order with all process flow diagrams here.In some cases, if the step of rearranging then only just can realize identical result under the situation that has applied some other change, and in other cases, if the step of rearranging then only just can realize identical result under the situation that has satisfied some condition.Concerning the reader, the possibility of this permutatation is conspicuous.
At high level, the processing of Fig. 5 is from product concept (step 500), and realizes (step 510) in EDA (electric design automation) software design procedure.When finishing design, will carry out manufacture process (step 550) and encapsulation and assembling process (step 560), the final thus integrated circuit (IC) chip of finishing (step 570) that produces.In step 580, use presumptive test vector and intended response on tester equipment, will detect to some or all completed chips.
Actual a plurality of steps 512~530 that comprise of eda software design process (step 510), for simplicity, these steps all show with linear mode.In the integrated circuit (IC) design process of reality, specific design might be return some step, until some test of process.Equally, in the practical design process, these steps might be to carry out according to different orders and combination.Thus, this description provides as context and general the description, rather than as being used for the concrete of specific integrated circuit or recommending design cycle to provide.
Will provide concise and to the point description now about the composition step in the eda software design process (step 510).
System design (step 512): the designer describes its function of wishing realization, and they can carry out hypothesis planning and come refining function, inspection charge or the like.Can produce hardware-software architecture in this stage divides.Operable example eda software product from Synopsys company comprises Model Architect, Saber, System Studio and DesignWare in this step
Figure G2009201742889D00101
Product.
Logical design and functional verification (step 514): in this stage, will write the VHDL or the Verilog code of the module that is used for system, and can be with regard to the accuracy of function and design is checked.More particularly, check this design, guarantee that it can produce correct output in response to specific input stimulus.Operable example eda software product from Synopsys company comprises VCS, VERA, DesignWare in this step , Magellan, Formality, ESP and LEDA product.In this formation stage, described design is called as " logical design " or " circuit design " here sometimes.Though some design might comprise some design feature that is used to test in this stage, for example scan chain and sweep compression that is associated or decompression circuit, but these features are not included in term used herein " logical design " and " circuit design ".
Synthetic and the design (DFT) (step 516) that is used to test: here, VHDL/Verilog is converted into the net table.This net table can be optimized at object technology.In addition, also carry out the test structure implementation process here, so that allow to check completed chip.Operable example eda software product from Synopsys company comprises DesignCompiler in this step
Figure G2009201742889D00103
, Physical Compiler, Test Compiler, Power Complier, FPGACompiler, TetraMAX and DesignWare
Figure G2009201742889D00104
Product.Being used in conjunction with aforesaid small number of users specified configuration the current production of implementing test structure being set is DFT MAX.DFT MAX describes among the DFT MAX Adaptive Scan CompressionSynthesis, Datasheet (2007) at Synopsys, wherein incorporates the document into by reference here.After synthetic and before the DFT, in this step, can insert of the present utility model aspect.
Net table checking (step 518): can just check the net table with the compatibility of timing limit and with the correspondence of VHDL/Verilog source code in this step.Operable example eda software product from Synopsys company comprises Formality, PrimeTime and VCS product in this step.
Design planning (step 520): will construct the whole floor plan of chip here, and will be at regularly and top layer route and it is analyzed.Comprise Astro and IC Compiler product at the operable example eda software product of this step from Synopsys company.
Physical implementation (step 522): place (location of circuit component) and can in this step, carry out with route (being connected of circuit component).Operable example eda software product from Synopsys company comprises AstroRail and IC Compiler product in this step.Final ATPG operation normally takes place during this step, forms the database about the test vector that uses in the process of test chip (comprise compact model select bit) and intended response thus.For the ATPG software that can be used in combination with aspect of the present utility model, its example can be at the TetraMAX of Synopsys in May, 2002 issue
Figure G2009201742889D00111
User Guide, the TetraMAX that describes among the Version 2002.05
Figure G2009201742889D00112
, wherein the document is here all incorporated into by reference.
Analyze and extract (step 524): can be in this step in transistor level proof scheme function, and this then will allow to suppose refining.Operable example eda software product from Synopsys company comprises AstroRail, PrimeRail, Primetime and Star RC/XT product in this step.
Physical verification (step 526): in this step, will carry out various audit functions, so that guarantee following correctness: problem, lithographic issues and the circuit of manufacture process, electricity.Comprise the Hercules product at the operable example eda software product of this step from Synopsys company.
Throw sheet (tape-out) (step 527): this step provides the generation of the mask that " throwing sheet " data are used for photolithography use so that produce the chip of finishing.Operable example eda software product from Synopsys company comprises CATS (R) product family in this step.
Resolution strengthens (step 528): this step comprises carries out geometric operation to layout, so that improve the manufacturing capacity of design.Operable example eda software product from Synopsys company comprises Proteus, ProteusAF and PSMGen product in this step.
Mask preparation (step 530): this step comprises writing of mask data preparation and mask self.
The example test structure
As described, can obtain several different test structures from different EDA producers.These great majority or all frameworks wherein can benefit from the application of aspect of the present utility model.In order to simplify example, what here use among the embodiment of Miao Shuing is can be from Mt.View, the framework that obtains in the instrument that the Synopsys company of CA provides.But should be appreciated that the utility model is equally applicable to those frameworks that can obtain from other producers.Test used herein " framework " is the test " design " of whole classifications that can obtain in particular software package.Test " framework " is in the structure of having determined to be customized to fc-specific test FC " design " after the various design alternatives that test " framework " obtains.In the test structure of present embodiment, a lot of parameters are customizable." parameter " used herein be the container of numerical value just.Therefore, " test structure " comprised unfilled parameter, in case filled these parameters with numerical value, then can define one " Test Design ".
Shown in Fig. 6 is the test structure that uses among the embodiment that here describes.As can be seen, status register 610 is organized into N scan chain 611.Scan chain 611 may not have equal lengths in a specific Test Design, but desired be to have equal lengths.Scanning input to scan chain 611 is driven by decompressor 612, and the input of wherein said decompressor links to each other with the mI of device device scanning input.For the logic that can form the numerical value that offers N scan chain input for decompressor 612, this logic is influenced by model selection input 614, and wherein said model selection input can comprise several bits.The scanning output of scan chain 611 is provided for compressor reducer 616, and this compressor reducer is therefrom derived one group of device scanning output that quantity is mO.Compressor reducer 616 comprises XOR circuit 618, and according to design alternative, it can comprise the X mask logic 620 between scan chain output and XOR circuit 618.
Decompressor 612 can be configured to provide multiple mode of operation, and wherein said multiple mode of operation can be imported 614 via pattern and select.Each pattern all defined particular way that signal imports from device scanning input (or its logic counter pair) to scan chain by.In other words, if selected certain AD HOC in the preassigned pattern, then can determine which device scanning input to present each scan chain input, and whether should at first replenish it by.In the present embodiment, decompressor 612 is to implement with the multiplexer that is positioned at each scan chain input the place ahead.Each multiplexer all has a plurality of inputs.First input of each multiplexer, it both can be reverse in particular design, also can be non-return, be connected to the numerical value of reception from certain device scanning input, wherein said certain device scanning input is the input that the respective scanned chain will receive in first mode of operation.Equally, second input of each multiplexer, it is in particular design, both can be reverse, also can be non-return, be connected to the numerical value of reception from certain device scanning input, wherein this certain device scanning input is the input that the respective scanned chain will receive in second mode of operation; The rest may be inferred.Will be appreciated that in different test structures the multiple circuit component of combination and/or order is used in the specific Test Design and uses.
The test structure of present embodiment provides a lot of configuration parameters.These parameters comprise those parameters that can be divided into basic parameter, macroparameter or ATPG parameter.Basic parameter used herein is the parameter of the individual features on the device of determining finally to obtain.Its example comprises:
● scan chain quantity
● status register is assigned to the mode of scan chain
● the order of the status register of scan chain inside
● the quantity of the I/O pin that distributes for model selection
● the quantity of available decompression pattern (if before having determined to distribute to the quantity of the pin of model selection)
● will remain the mode that available I/O pin assignment is given (a) scanning input and (b) scanned output
● whether in decompressor, comprise oppositely, if, then described oppositely in which scanning input
● will import and (and oppositely, if any) be assigned to the mode that each multiplexer is imported
● whether in compressor circuit, implement shielding
● shield configuration, if in compressor circuit, implement shielding
Macroparameter used herein is the parameter that self does not directly occur on device, and in contrast, this parameter is inferred the value of the one group of one or more elementary parameter that occurs on the device that finally obtains.Its example comprises:
● what this macroparameter of available decompression pattern quantity (changing if distribute to the pin number of model selection) was determined is the pin number of distributing to model selection, and remaining usable pins can be used as the scanning input and scanning output distributes.
● the maximum target compression
What this macroparameter was determined is the quantity of internal scan chain.If the compression of permitting is higher, then internal chain is more.Test duration and test data capacity will reduce, but probability that can't detection failure will increase.
● whether will respond X and move to the separated links of under the individual screen condition, observing, and analytical percentage
A kind of strategy that promotes the fault observability is to move to independently in the scan chain response of the unknown when all status registers most possibly are carried on the design test vector.This is that all status registers of selecting to be carried on response unknown in the random test of certain predetermined percentage at least by artificial circuit design random test and for scan chain are independently finished, wherein for instance, this predetermined percentage can be 25%.This number percent is the analytical percentage in this macroparameter.
This macroparameter influences following elementary parameter to I haven't seen you for ages: whether carry out shielding, shield configuration, and the mode that status register is assigned to scan chain in compressor circuit.
● X tolerance degree
The another kind of strategy that promotes the fault observability provides scan chain internally scans output pin to device redundant path.Do the probability that has reduced the X in the response of having done at the test pattern of destructive malfunction observability like this.What X tolerance degree was determined is that the redundancy of being implemented connects degree.
What this macroparameter influenced is whether to carry out shielding in compressor circuit, if, then shield configuration, and the mode that status register is assigned to scan chain.
ATPG parameter used herein is the parameter that is used at physical implementation step 522 configuration ATPG software.Some ATPG parameter is the configuration parameter that is used for the ATPG operation, and other parameters are then only inferred one or more other configurations that are used for ATPG and are provided with.The ATPG parameter can not influence any feature of device self.Its example comprises:
● whether interfered circuit design clock is organized into groups (whether allow with the mutual clock zone of pulse regulation at test period, be used for status register is assigned to the circuit design that is used for independent domains regularly).
● the aborted restriction of ATPG.What this aborted restriction was controlled is to allow ATPG in order to find to be used to test the number of attempt that test pattern carried out of specific fault.
● ATPG merges trial (merge effort).Parameter control is attempted in this merging is to allow ATPG to test the number of times of the trial that more than one fault carries out in order to use single test pattern.
The Test Design optimizer
As described, DFT and ATPG software can provide numerous options for the user, so that the formation of management testing design, but the user usually can't the wise value of selecting variety of option.As a result, the user mostly just accepts the default setting that software provides, and these default settings are to be selected to provide optimal result at some " generally " circuit design by DFT and ATPG software vendors.Give an example, compression and decompression are implemented in conjunction with the end of scan budget, and wherein this budget might derive from a lot of sources, for example uses the packages limits in the multi-point sampler, tester restriction, design limit and manufacturing restriction.If given end of scan budget always, conventional software allows the user to distribute the device scanning input of varying number and device scanning output for the sweep compression and the use that decompresses so.Usually, balance use end of scan is instrument or user's acquiescence decision aspect input and output.But according to design, that can realize is compressed with the restriction that may be subjected to the dependence that unknown tolerance limit is created in decompressor or the compressor reducer.According to the circuit design of being considered, if sweep compression is subjected to importing the restriction of dependence, what then Test Design should be partial to is than device scanning output, to distribute more device I/O pin as device scanning input.On the other hand, if the observation of the unknown disturbances fault in the response so than device scanning input, distributes more device I/O pin as device scanning output.Term used herein " I/O pin " refer to any can be from the circuit node of external reference.It needs not to be physical pin.
For device I/O pin assignment being given the parameter that scans input or scanning output and so on, wonder that it is very difficult how disposing these parameters, and as described, the user can accept the default value that those hypothesis are applicable to general circuit design usually.As a result, for the specific circuit design of being considered, the Test Design that finally obtains can not be optimum.Even the user has selected non-default value for some parameter, this situation is also set up, and this is because what kind of user's there is no telling selected be worth and optimized the Test Design that is used for specific circuit design.
For the Test Design optimizer, optimizer for example described herein is answered these problems by creating virtual environment and assessment strategy, can compare mutually the difference configuration of test structure thus, so that allow to select optimum Test Design.Because the Test Design optimizer comprises the circuit-under-test design that is in virtual environment, therefore, it has formation according to the specific circuit design of being considered, rather than some general circuit design, and the effect of optimised Test Design.The result of Test Design optimizer is one group of Test Design value of using when making up actual Test Design.In DFT step 516, the numerical value that to use optimizer be elementary parameter with macroparameter is determined inserts and is connected scan chain (if before determining), and inserts the compression and decompression circuit.At step 522 (Fig. 5), the numerical value that optimizer is determined for the ATPG parameter is applied to ATPG software, so that control is used for the generation of the test vector of Test Design, and in the EDA flow process, has implemented described flow process this moment.In one embodiment, the ATPG parameter is to be applied to ATPG automatically, and in another embodiment, what their were represented is the suggestion that the user can use as required or not use.
Fig. 7 is the process flow diagram of embodiment that comprises the Test Design optimizer of feature of the present utility model.Say that roughly it comprises an iterative search procedures, being used to search for is the test parameter value set that the circuit design considered produces best Test Design.In step 710, determine which parameter will be fix and which parameter will be changed.In the embodiment of a certain big class, scan chain is fixed, and it does not allow to change in search procedure.That is to say that the parameter that is assigned to such as scan chain quantity, with status register the status register order of the mode of scan chain and scan chain inside all is predetermined, and does not allow to change.This embodiment can use the existing procucts of DFT MAX and so on to develop scan chain.In another embodiment, these parameters are not fixed, and allow to change as the part of search.For the above example parameter of enumerating, in different embodiment, any or all these parameters and other parameters all can change during optimization searching.If macroparameter changes, then needn't change separately the elementary parameter that described macroparameter infers (unless described macroparameter infer just for the restriction of elementary parameter value, in this case, at searching period, elementary parameter be can be in these restrictions with interior change).
In step 712, will determine the parameter value that those are maintained fixed at searching period, and will select those to allow the initial value of the parameter of change.In one embodiment, initial value is chosen as at some and is regarded as numerical value optimum in the circuit design of " generality ".As described, concerning a lot of parameters, these values are available, and are to supply as the default value that conventional software offers the user.Should be noted that,, in step 712, not be used to be provided with the step of these numerical value so if the ATPG parameter is taken as ATPG software default value and this parameter constant, up to step 716 when actual when using ATPG.
In step 714, will start a circulation that is used to search for a plurality of candidate's Test Design.First candidate's Test Design is to be hinted by the parameter value that is provided with in the step 712, and follow-up candidate designs then produces according to employed particular search algorithm.There are a lot of potential searching algorithms to can be used for different embodiment; With reference to figure 8 one of them specific example algorithm is discussed hereinafter.Say that in a sense candidate's Test Design is virtual circuit design and the Test Design circuit of combining can be assessed combination at the fault-detecting ability of this combination thus.
In step 716, the circuit design of combination and Test Design circuit are provided for ATPG, preferably offer the identical ATPG software that uses as the part of step 522 (Fig. 5) so that produce the final test vector.What use in step 716 in one embodiment, is the software package of " Tetra MAX " by name.In this step 716, the ATPG configuration parameter value that is used for current candidate's Test Design is provided for ATPG, and at known these parameter values and specified under the situation of known sweep circuit of setting up in current candidate's Test Design and compression and decompression circuit structure, ATPG continues to form its optimum test vector set.Described ATPG will produce a test protocol, and wherein this agreement comprises one group of test vector and from the expection (being non-fault) of each test vector response.
Say that roughly the ATPG algorithm that uses in Tetra MAX is following work: at first create target faults tabulation, wherein for instance, target faults can be to connect or network is fixed on 0 or stuck-at-.Then, at each target faults, ATPG determines one group of input value, wherein this input value can produce " difference " (if there is target faults in the trouble spot, then there is a logical value trouble spot, if there is no target faults, there is opposite logical value in then described trouble spot).Then.ATPG " sensitization (sensitize) " but from the trouble spot to the path of observation point (scan register or basic output).Described " sensitization " but comprise identification all logic gates to the logical path of observation point, and along other input negative line feeds of these logic gates, what kind of needs be worth to make to observe and difference a little occurs at input end so that determine.Needed input value set is a test pattern to the path of observation point but inject difference and sensitization in the trouble spot, and the set of the observable values of expecting when fault does not exist is the intended response from this test pattern.If of course, ATPG also can attempt each new test pattern is combined with the previous pattern of creating, and this is that the number of faults of being realized can increase under the situation that pattern quantity does not increase so because if two patterns can successfully merge.If allow ATPG is moved to end, it can produce the substantive test pattern so, and these test patterns will be found a big chunk in the target faults of ATPG algorithm beginning identification jointly.
In step 718, the fault coverage of the test protocol of being determined by ATPG is with evaluated." fault coverage " used herein is defined by is the number of faults in the test protocol circuit design of realizing and the ratio of the fault sum in the circuit design.In other embodiments, other test protocol quality metrics also are operable.These one of them other example quality metrics are " test coverages ", it is that the ratio of detectable failure sum (has for example been got rid of those because be positioned at any other logic and do not had the fault that can't detect in the output that is electrically connected in number of faults and the circuit design in the circuit design of being realized by test protocol, because be positioned at permanent bindings on the pin of fixed logic and the fault that can't detect, the fault that can't detect because be arranged in the redundancy logic path that has shielded the fault effect, and because the redundancy logic path has hindered their control or observability and the fault that can't detect).The quality metrics of another example is " an ATPG validity ", and it is the number of faults that can be solved by ATPG and the ratio of the fault sum in the circuit design.Concerning the reader, other quality metrics also is conspicuous.
In step 720, will determine whether to have realized optimum fault coverage.In an embodiment of this step, the Test Design that is considered to produce optimum fault coverage is current candidate's Test Design.That is to say that described search can narrow to being considered to optimum Test Design selecting.In another embodiment, the Test Design that is considered to produce optimum fault coverage can be certain other candidate's Test Design.In other words, described search assessment is in the candidate's Test Design after the candidate's Test Design that is considered to optimum at last, and therefore, the current candidate's Test Design in the step 720 is not the Test Design that is considered to optimum; It is last evaluated Test Design of quality.
If in step 720, the optimum fault coverage of still being unrealized, the then next candidate's Test Design of generation in step 722, and this processing is returned step 714, so that produce new test protocol in view of the above.The algorithm that is used to produce next candidate's Test Design depends on searching algorithm.For exhaustive search, this step includes only the value that increases one of them test parameter.The search that focusing is more concentrated, this step can be considered the quality metrics of one or more previous candidate's Test Design of assessing, so that locking is optimum.
If in step 720, determine to have realized optimum fault coverage that then in step 724, process continues to implement optimum Test Design.Depend in step 712 which test parameter and determine that this can be included in the configuration aspects that comprises circuit design and Test Design in the composite design jointly.This processing can comprise the scan register that the status register in the circuit design is replaced to the scan chain tissue of inferring according to optimum test parameter value, and/or it can comprise specific compression and/or decompression circuit that insertion is inferred by optimum Test Design parameter value.Any situation no matter all can reflect this result in the net table that is emerged in large numbers next procedure in EDA handles, for example net table verification step 518 (Fig. 5).In addition, in offering the design version of ATPG, also can reflect this result, so that in step 522, be used for its last operation.Will produce the full set of test vector and intended response this moment, then it is delivered to the testing apparatus of using in the step 580 subsequently.Implementation step 724 resulting results finally can be reflected in the mask and chip 570 of step 530 establishment.The implementation process of optimum Test Design can also comprise according to being defined as optimum configuration parameter value at last ATPG operation, the last ATPG operation in the controlled step 522.This part of Test Design is not reflected in mask or the chip, is used in the test data set (comprising test vector and intended response) of the chip testing equipment of the final chip of step 580 test but be reflected in to be delivered to.
As can be seen, a lot of aspects of Test Design can use flow process as shown in Figure 7 to optimize, comprising scan chain architecture, decompressor and compressor configuration and ATPG configuration parameter can obtain the optimum test vector set that is used for optimum Test Design thus.The user had both no longer needed to guess the test parameter value, and also no longer needing to accept may not optimum default value for the specific circuit design of being considered.
In addition as can be seen, allow the quantity of the test parameter that changes and the efficient of searching algorithm according to the complicacy of consideration circuit design, at searching period, iterative search shown in Figure 7 might expend long-time.For example, ATPG might expend the single Test Design of coming in several hours for the circuit design of relative complex and forms test protocol.If move ATPG to finishing for each Test Design in large-scale search volume, this will be unpractical so.Therefore, in one embodiment, the step 716 of using ATPG to produce test protocol has preferably been used the pattern sampling, more preferably then is to have used pattern sampling and fault sampling simultaneously, so that iterative search as shown in Figure 7 is more practical.
Fig. 8 is to use ATPG to produce the process flow diagram of the step 716 of test protocol.In step 810, ATPG is all incipient faults in the identification circuit design at first.Especially, ATPG had both discerned each may be fixed on 0 or the node of stuck-at-, also discerns the slow node of each rising or decline rate, and also identification can bridge joint any adjacent node pairing together.
In step 812, will be chosen in the step 810 sampling of the fault of identification, wherein for instance, described fault sampling can be 10% of the fault discerned.Preferably, selected fault sampling is evenly distributed on the chip physically.
In step 814, it only is the test vector of target with the fault sampling set that ATPG will be used to produce.But ATPG can stop after only having produced test vector sampling seldom." sampling " of test vector used herein refers to than allowing that ATPG is moved to the test vector sum that produces when finishing to be lacked.Preferably, in one embodiment, the vector that sampling comprises is no more than 256.More preferably, its test vector that comprises is no more than 128, and in addition, more preferred then is that its test vector that comprises is no more than 64.Preferably, the quantity of test vector is more than 32, and wherein concerning a lot of designs, 32 test vectors all are sufficient inadequately.This point can be compared with issuable thousands of test vector under the situation that moves to end at permission ATPG.For all Test Design in search, the test vector sample size should be constant, and these results can compare effectively mutually thus.
When ATPG produced test vector, as the normal part of its processing, it also can produce a tabulation about the target faults of same test vector sampling set discovery.Then, in step 718, will use the number of faults conduct in this tabulation to measure, so that the fault coverage of assessment test protocol.
Though used the fault sampling in industry before, the pattern sampling is not used as yet.What the pattern sampling relied on is a kind of like this hypothesis, wherein the fault coverage of seeing by preceding several patterns is dull related with the percent of total of the fault that can find by complete ATPG operation, and described ATPG operates in by ATPG and carries out on the full set of the fault that step 810 is discerned.Especially, the method of Fig. 8 depends on such hypothesis, if ATPG can be identified for the test protocol of fc-specific test FC design, and wherein this test protocol can produce high fault coverage after a small amount of test pattern, be target and ATPG moved to when finishing with the whole set of the incipient fault discerned when subsequently in step 522 so, its determined test protocol can produce high fault coverage (or less test vector produces identical fault coverage) equally.It is accurate in the ordinary course of things that this hypothesis is considered to, and produces in a small amount of situation of better fault coverage in different Test Design, and the improvement amount is not a highly significant.
As described, in step 714, different embodiment can use multiple different searching algorithm.In one embodiment, performed is exhaustive search, has attempted all possible combinations of values for the test parameter that changes at searching period thus.Exhaustive search most possibly produces optimum Test Design, still, unless only allow a small amount of test parameter to change, it is normally unpractical.If allow the substantive test parameter change, used the fault sampling and especially used the pattern sampling, it is practicable so.Spendable other exemplary search algorithms are simulated annealing and surface respond method.Simulated annealing is at S.Kirkpatrick; C.D.Gelatt; M.P.Vecchi is published in Science, New Series, and the 220th rolls up No. 4598 (May 13 nineteen eighty-three), describes among " the Optimization by SimulatedAnnealing " of 671-680 page or leaf, and wherein the document is here incorporated into by reference.The surface respond method is at Box, G.E.P. and Wilson, K.B. be published in " On the ExperimentalAttainment of Optimum Conditions (with discussion) " middle description of Journal of the RoyalStatistical Society Series B13 (1): 1-45. (1951), wherein the document is here incorporated into by reference.
Fig. 9 is the process flow diagram of an embodiment, and in this embodiment, described search comes work by at first optimizing a parameter and moving to next parameter subsequently.In step 910, determine which parameter will be fix and which parameter will change.The same with the embodiment of Fig. 7, if macroparameter changes, then needn't change separately the elementary parameter that described macroparameter infers (unless described macroparameter infer just for the restriction of elementary parameter value, in this case, at searching period, elementary parameter be can be in these restrictions with interior change).
In step 912, determine the value of those parameters that will be maintained fixed at searching period, to be that the parameter that allows to change is selected initial value in addition.The same with Fig. 7 embodiment, in one embodiment, initial value is chosen to be and is optimum value in being regarded as certain circuit design of " generally ".
In step 914, will begin an outer loop, so that iteration is by those different search parameters that will change.Give an example, if there are 10 parameters to change, then described circulation has iteration 10 times, and wherein each parameter once.
In step 915, produce candidate's Test Design from the currency that is used for all test parameters.Equally, this comprises the current candidate value that is used for the current search parameter, and the optimal value of the search parameter that is used for before having optimized (in circulation 914 previous iteration) is used for also not have the default value of the search parameter of optimization and the fixed value that is used for invariant parameter.Test Design comprises scan chain architecture, compression and decompression circuit structure and ATPG configuration parameter value.This candidate's Test Design is virtual circuit design and the Test Design circuit of combining can be assessed this combination with regard to fault-detecting ability thus.
In step 916, combinational circuit design and candidate's Test Design circuit are provided for ATPG, and preferably offer the identical ATPG software that will use as the part of step 522 (Fig. 5), so that generation final test vector.In step 916, the ATPG configuration parameter value that is used for current candidate's Test Design is provided for ATPG, and under the situation of known those parameter values and known sweep circuit of setting up in current candidate's Test Design and compression and decompression circuit structure, ATPG continues to form its optimum test vector set.Preferably, as shown in Figure 8, used the fault sampling in step 916, the preferred pattern that then is to use is sampled.ATPG produces a test protocol, and wherein this agreement comprises one group of test vector and from the intended response of each test vector.
In step 918, will assess the fault coverage of the definite test protocol of ATPG.Can use another quality metrics in another embodiment, for example test coverage or ATPG usefulness.Concerning the reader, other quality metrics is conspicuous.
In step 920, will determine whether realized optimum fault coverage in fact at the current search parameter.The same with Fig. 7, in an embodiment of this step, the Test Design that is considered to produce optimum fault coverage is current candidate's Test Design.In another embodiment, the Test Design that is considered to produce optimum fault coverage can be other candidate's Test Design, wherein this Test Design be disclosed as by assessment current candidate's Test Design optimum.
If in step 920, do not realize optimum fault coverage at the current search parameter, then in step 922 the next candidate value of current search parameter generating, step 915 is then returned in this processing, so that produce new candidate's Test Design in view of the above.
If in step 920, determine to have realized optimum fault coverage at the current search parameter, determine whether in step 923 that then more search parameters need to optimize in addition.If then this processing turns back to step 914, so that optimize the value of next search parameter.If not, then this processing continues in step 924 to implement optimum Test Design.With the same among Fig. 7, according to fixing at which test parameter of step 912, if this comprises the scan register that the status register in the circuit design is replaced to the scan chain tissue of inferring according to optimum Test Design parameter value, and/or implementing specific compression device and/or the decompressor circuit that optimum Test Design parameter value is inferred, its result will be reflected in the net table of the next procedure that emerged in large numbers in EDA handles, for example net table verification step 518 (Fig. 5) so.This result finally can be reflected in the mask and chip 570 of step 530 establishment.The implementation process of optimum Test Design can also comprise emerges in large numbers physical implementation step 522 with determined configuration parameter value, and wherein said configuration parameter value is optimum for final ATPG operation.This part of Test Design is not reflected in mask or the chip, is used in the test data set of the chip testing equipment of the final chip of step 580 test but be reflected in to be delivered to.
Should be noted that,, determine to have realized that at the current search parameter test of optimum fault coverage can be different really for step 920 for different search parameters.Equally, for different search parameters, the algorithm that is used at the next candidate value of step 922 generation also can be different.Below enumerate several examples.
If the current search parameter is the quantity of the pattern implemented in decompressor, then described search might travel through candidate value 2,3 and 4.Initial value might be 4, and the step 922 that is used to produce next candidate value might subtract 1 with current candidate value.Whether realized that at pattern quantity parameter the step 920 of optimum fault coverage, this step can only be to stop at once concerning being used for determining after having assessed the Test Design of using candidate value 2 to produce.Then, in step 918, produce the value that high fault coverage measures and can be used as the optimal value that is used for pattern quantity parameter.Can also implement the secondary rule in one embodiment: if high fault coverage that produces in response to candidate value and inferior high fault coverage are more approaching than certain predetermined difference value, so, if compare with mode counting and more to take notice of chip area, then select the smaller value in these two values; If compare with chip area and more to take notice of mode counting, then select the higher value in these two values.
If the current search parameter is the mode of distributing available I/O pin between device scanning input and device scanning output, then described search might travel through the candidate value that those surround default value symmetrically, and described default value then is the value of the pin assignment of equal amount being given input and output.Initial value might be with the pin assignment of maximum quantity to device scanning input, the step 922 that is used to produce next candidate value then can move to device scanning output from device scanning input with a pin assignment mode.Be used for determining whether realized that at the pin assignment parameter step 920 of optimum fault coverage can only be to have stopped at once after using the Test Design that maximum pin number produced of distributing to device scanning output having assessed.Then, in step 918, produce the value that high fault coverage measures and can be used as the optimal value that is used for the pin assignment parameter.
If the current search parameter is ATPG aborted restriction, then described search might travel through a series of predetermined candidate values, for example 10,100,400,700 ..., until certain predetermined maximum.Initial value can be 10, and the step 922 that is used for producing next candidate value can be to replace the next candidate value of this series.Whether realized the step 920 of optimum fault coverage at pattern quantity parameter that concerning being used for determining this step can only be to have stopped at once after using the Test Design that last candidate value produces in this series having assessed.Then, only exceed under the situation of predetermined increment, in step 918, produce the value that high fault coverage measures and just can be used as the optimal value that is used for pattern quantity parameter at the fault coverage time low fault coverage that another value realized in than step 918.If it is approaching mutually to be used for the fault coverage that the best generation value of ATPG aborted restriction realizes, then select to have produced in two values of two best fault coverages than low value.
If whether the current search parameter disturbs the clock marshalling of the circuit design of being considered, this search might travel through "Yes" and these two values of "No" so, and wherein said traversal finishes with another value with one of them value beginning.The step 915 that is used to produce candidate's Test Design comprises that parameter current value that use provides as the configuration input carries out the step of DRC device.If current candidate value is a "Yes", then the DRC device determine which clock zone does not appear under the unfavorable mutual situation and can be regularly together, and its result offered ATPG as instruction, so that in step 916, use (finally in step 522, using).If current candidate value is a "No", the instruction that then offers ATPG each clock zone in the circuit design of being considered of will pulsing respectively.Then, in step 918, produce the value that high fault coverage measures and can be used as the optimal value that is used to disturb clock marshalling parameter.
If the current search parameter is the decompressor structure, so described search might travel through and comprise following numerous different candidate values of arranging: be connected between multiplexer and device scan input and multiplexer is imported, it can obtain in test structure inside, and described test structure then obtains by eda software.Concerning being used to the decompressor structure to produce the step 922 of next candidate value, its primary iteration can be to adjust some parameter value, connects thereby add multiplexer or change in step 915.ATPG moves in step 916, and the fault coverage of candidate structure is assessed in step 918.According to the fault coverage of determining in the step 918, the step 922 that is used to produce next candidate value can determine to accept the adjustment that still refusal carries out recently, then adjusts parameter value then by different way.The arrangement that produces in step 915 equally can be evaluated in step 916 and 918, and step 922 will accept or refuse described adjustment once more, and carry out another adjustment.Give an example, can adopt this mode to carry out the simulated annealing search, so that find the optimum solution compressor configuration automatically.Similar searching method can also be used for finding automatically the optimum structure of compressor reducer.
Should be noted that numerous possibility algorithms, some parameter might be optimized in step 714 (Fig. 7) before other parameters.Give an example, if a subset of parameters that changes is that status register is assigned to one or more X chains mode of (having comprised the scan chain that carries the very high status register of the unknown probability that responds), then should before the framework of optimization solution compressor reducer, optimize this subset of parameters.Equally, before optimizing the output compressor configuration, should select whether to implement the output shielding.Pure ATPG parameter is in the end just optimised possibly.
Figure 10 is the simplified block diagram of computer system 1010 that can be used to implement to comprise the software of aspect of the present utility model.Though here the process flow diagram of Chan Shuing and other arthmetic statements sequence of steps, should understand, each step in this process flow diagram or the algorithm can be implemented with the mode work of stipulating by impelling 1010 and so on computer system.
Computer system 1010 typical cases comprise the processor subsystem 1014 of communicating by letter with a plurality of peripherals via bus sub 1012.Processor subsystem 1014 can comprise one or more processors.Peripherals can comprise: comprised the storage subsystem 1024 of memory sub-system 1026 and file storage subsystem 1028, user interface input equipment 1022, user interface output device 1020, and network interface subsystem 1016.Input and output device allows user and computer system 1010 to carry out alternately.Network interface subsystem 1016 provides the interface to external network, comprise to the interface of communication network 1018, and this subsystem is coupled to the corresponding interface equipment in other computer systems via communication network 1018.Communication network 1018 can comprise the department of computer science of the plurality of interconnected communication link of unifying.These communication links can be wire link, optical link, Radio Link or any other mechanism that is used to the information of transmitting.Though in one embodiment, communication network 1018 is the Internets, and in other embodiments, communication network 1018 can be any suitable computer network.
The physical hardware components of network interface is also sometimes referred to as network interface unit (NIC), but they there is no need to adopt the form of card: for example, they can adopt the connector that is directly installed on the mainboard and the form of integrated circuit (IC), perhaps have the form of the macroelement on the single integrated circuit of other assemblies of computer system.
User interface input equipment 1022 can comprise keyboard, indicating equipment, for example mouse, trace ball, touch pad or plotting sheet, scanner is incorporated into the touch-screen in the display, audio input device, for example speech recognition system, microphone, and the input equipment of other types.Usually, the use of term " input equipment " is intended to comprise and is used for information is imported all possible device type and mode on computer system 1010 or the computer network 1018.
User interface output device 1020 can comprise display subsystem, printer, facsimile recorder, or non-visual displays, for example audio output apparatus.This display subsystem can comprise cathode ray tube (CRT), flat-panel devices, and LCD (LCD) for example, projector equipment, or be used to create certain other mechanism of visual image.Display subsystem can also provide non-Visual Display, for example provides by audio output apparatus.Usually, the use of term " output device " is intended to comprise all possible device type and the mode that is used for information is outputed to from computer system 1010 user, other machine or computer system.
What storage subsystem 1024 was stored is basic programming and data configuration, and these structures provide the function of some embodiment of the present utility model.For example, the various modules that are used for implementing the function of some embodiment of the utility model can be kept at storage subsystem 1024.These software modules are normally carried out by processor subsystem 1014.
Memory sub-system 1026 generally includes a plurality of storeies, comprises to be used in the main random-access memory (ram) 1030 of program process storage instruction and data and the ROM (read-only memory) (ROM) 1032 of storage fixed instruction.File storage subsystem 1028 has been for program and data files provides permanent storage, and can comprise hard disk drive, floppy disk and the removable media that is associated, CD-ROM drive, optical drive, or removable media box.The database and the module that are used to implement the function of some embodiment of the present utility model can provide on for example one or more CD-ROM at computer-readable medium, and can be preserved by file storage subsystem 1028.Wherein, mainframe memory 1026 has comprised computer instruction, and by processor subsystem 1014 computer instructions the time, this computer instruction will impel computer system operation or carry out function described herein.Here use and be called as in " main frame " or " computing machine " processing of operation and software responses computer instruction and the data and carrying out in mainframe memory subsystem 1026 on processor subsystem 1014, wherein said mainframe memory subsystem 1026 comprises any other this locality or the remote storage device that is used for this type of instruction and data.
Bus sub 1012 provides a kind of various assemblies that can allow computer system 1010 and the subsystem mechanism of intercommunication mutually as required.Though it is single bus that bus sub 1012 schematically is shown as, the alternative embodiment of bus sub can be used multiple bus.
Computer system 1010 self can have different types, comprises personal computer, portable computer, workstation, terminal, network computer, TV, large scale computer, parallel processing system (PPS), more than network or any other data handling system or the subscriber equipment of a computing machine.Because the characteristic of computing machine and network constantly changes, therefore, the description of the computer system 1010 described in Figure 10 is only used for an object lesson of example the utility model preferred embodiment.Numerous other configurations of computer system 1010 all are feasible, and wherein said configuration can have than the more or less assembly of the described computer system of Figure 10.
Figure 11 is that the integrated circuit (IC) design that is used to according to an embodiment of the present utility model forms simplified block diagram based on the system of the Test Design of scanning.
As shown in figure 11, this system 1100 comprises:
Form device 1101, be used to circuit design to form a plurality of candidate's Test Design,, be used for generating a plurality of test vectors according to circuit design comprising generating apparatus 1101-1;
Generating apparatus 1102 is used to each candidate's Test Design to generate test protocol quality factor; And
Selecting arrangement 1103, be used for according to the test protocol quality factor that generate for each candidate's Test Design relatively select one of them candidate's Test Design so that in integrated circuit (IC)-components, implement,
The generating apparatus 1101-1 that wherein is used to generate a plurality of test vectors has used predetermined automatic test pattern generating algorithm,
And the generating apparatus 1102 that wherein is used to each candidate's Test Design to generate the test protocol quality factor comprises and determines device 1102-1, if the sampling that is used for only using predetermined automatic test pattern generating algorithm to move to the test vector that end will generate is identified for the test protocol quality factor of each specific candidate's Test Design.
In an embodiment of the present utility model, described a plurality of candidate's Test Design comprise the difference arrangement of the status register of circuit design to scan chain.
In an embodiment of the present utility model, described a plurality of candidate's Test Design comprise that device is scanned input pin is interconnected to the different decompression circuit that scan chain is imported.
In an embodiment of the present utility model, described a plurality of candidate's Test Design comprise the different compressor circuits that scan chain output are interconnected to device scanning output pin.
In an embodiment of the present utility model, described a plurality of candidate's Test Design comprise the different configuration parameter value that are used to control this automatic test pattern generating algorithm operation.
In an embodiment of the present utility model, system 1100 also comprise incorporate into device 1104 be used for circuit design and at least scan chain arrange and decompressor is arranged and is incorporated into composite design, wherein said scan chain arrange and the next comfortable selecting arrangement of decompressor arrangement in candidate's Test Design of selecting; And
Running gear 1105 is used for according to composite design described predetermined automatic test pattern generating algorithm being moved to end.
In an embodiment of the present utility model, system 1100 also comprises running gear 1105, is used for according to the candidate's Test Design in selecting arrangement 1103 selections predetermined automatic test pattern generating algorithm being moved to end.
In an embodiment of the present utility model, be used to move predetermined automatic test pattern generating algorithm to the running gear 1105 that finishes and generate a plurality of test vectors,
System 1100 also comprises generator 1106, and being used for provides a plurality of test vectors to integrated circuit testing equipment, so that use in the integrated circuit (IC) chip of test according to circuit design and candidate's Test Design manufacturing of selecting in selecting arrangement.
In an embodiment of the present utility model, described a plurality of candidate's Test Design comprise the different configuration parameter value that are used to control the operation of automatic test pattern generating algorithm,
And wherein be used for moving predetermined automatic test pattern generating algorithm to the running gear 1105 that finishes and comprise the application apparatus 1105-1 that is used for using this configuration parameter value in the selected candidate's Test Design of selecting arrangement.
In an embodiment of the present utility model, system 1100 also comprises generating apparatus 1107, is used for generating one group of manufacturing shielding according to circuit design and in selecting arrangement 1103 selected candidate's Test Design.
In an embodiment of the present utility model, the test vector sampling comprises 256 test vectors at the most.
In an embodiment of the present utility model, the test vector that the test vector sampling comprises is above 32.
In an embodiment of the present utility model, the test vector sampling comprises 64 test vectors at the most.
In an embodiment of the present utility model, predetermined automatic test pattern generating algorithm generates test pattern in order,
And wherein test vector sampling includes only the top n test vector that predetermined automatic test pattern generating algorithm generates, and wherein N is a predetermined integers, all fixes its all candidate's Test Design in a plurality of candidate's Test Design.
In an embodiment of the present utility model, the generating apparatus 1101-1 that is used to generate a plurality of test vectors comprises operating means 1101-1-1, is used to operate described predetermined automatic test pattern generating algorithm, until generating N test vector; And
Stop device 1101-1-2 is used for stopping to carry out described predetermined automatic test pattern generating algorithm before generating any further test vector.
In an embodiment of the present utility model, the quality factor of test protocol are the test protocol quality metrics.
In an embodiment of the present utility model, the test protocol quality factor are fault coverage rates.
In an embodiment of the present utility model, be used for selecting the selecting arrangement 1103 of one of them candidate's Test Design to comprise that being used for candidate's Test Design searches for the searcher 1103-1 with the maximized candidate's Test Design of test protocol quality factor with iterative manner.
In an embodiment of the present utility model, the generating apparatus 1101-1 that is used for generating according to circuit design a plurality of test vectors comprises:
Recognition device 1101-1-3 is used for discerning the incipient fault set that might occur in the integrated circuit (IC)-components according to described circuit design manufacturing; And
Operating means 1101-1-1 is used to operate described predetermined automatic test pattern generating algorithm, so that only be sampled as target with the incipient fault in the described incipient fault set.
As used herein, if leading input has influenced required movement, so described required movement " in response to " leading input.If have intermediate treatment key element, step or period, required movement can be still so " in response to " leading input.If intermediate treatment key element or step have made up more than one input, so this action be considered to " in response to " each input." dependence " of required movement and one or more inputs also defines in a similar manner.
Above the description about the utility model preferred embodiment provides with the description purpose presented for purpose of illustration.It is not to be confined to disclosed exact form for exhaustive the utility model or with the utility model.Clearly, concerning the practitioner in the art, numerous modifications and changes all are conspicuous.Give an example, although the embodiment of Fig. 7 and 9 carries out iterative search and finds best Test Design, another embodiment can obtain same or analogous result under the situation of not carrying out iteration, for example by parallel assessment candidate Test Design, use different processor alternatively.Other lifts an example, although in the embodiment of Fig. 7 and 9, select best Test Design according to optimum failback rate (or certain other quality metrics), be appreciated that, in another embodiment, best Test Design might be based on certain other measure selection, the power attenuation in the test process for example, wherein optimum quality is secondary selection criterion alternatively.As an alternative, having in the weighted mean of one or more other factors quality metrics only can be used as a factor and uses.Usually, will be used to sometimes here determine that measuring of " the best " Test Design is called " quality factor " of this Test Design, quality metrics then only is a preferred exemplary of this quality factor.Other lifts an example, can discern all incipient faults in the circuit design not only as the ATPG in the step of the step 810 of Fig. 8, but can discern the circuit design of combination and all incipient faults in the Test Design.These embodiment are selected and description for principle of the present utility model and practical application thereof are described in the best way, can make others skilled in the art understand the utility model thus, thereby learn that various embodiment and various modification are fit to contemplated special-purpose equally.Scope of the present utility model is limited by follow-up claim and equivalent thereof.

Claims (19)

1. one kind is used to integrated circuit (IC) design to form system based on the Test Design of scanning, comprising:
Form device, be used to circuit design to form a plurality of candidate's Test Design,, be used for generating a plurality of test vectors according to circuit design comprising generating apparatus;
Generating apparatus is used to each candidate's Test Design to generate test protocol quality factor; And
Selecting arrangement, be used for according to the test protocol quality factor that generate for each candidate's Test Design relatively select one of them candidate's Test Design so that in integrated circuit (IC)-components, implement,
The generating apparatus that wherein is used to generate a plurality of test vectors has used predetermined automatic test pattern generating algorithm,
And the generating apparatus that wherein is used to each candidate's Test Design to generate the test protocol quality factor comprises definite device, if the sampling that is used for only using predetermined automatic test pattern generating algorithm to move to the test vector that end will generate is identified for the test protocol quality factor of each specific candidate's Test Design.
2. according to the system of claim 1, wherein said a plurality of candidate's Test Design comprise the difference arrangement of the status register of circuit design to scan chain.
3. according to the system of claim 1, wherein said a plurality of candidate's Test Design comprise that device is scanned input pin is interconnected to the different decompression circuit that scan chain is imported.
4. according to the system of claim 1, wherein said a plurality of candidate's Test Design comprise the different compressor circuits that scan chain output are interconnected to device scanning output pin.
5. according to the system of claim 1, wherein said a plurality of candidate's Test Design comprise the different configuration parameter value that are used to control this automatic test pattern generating algorithm operation.
6. according to the system of claim 1, also comprise incorporate into device be used for circuit design and at least scan chain arrange and decompressor is arranged and is incorporated into composite design, wherein said scan chain arrange and the next comfortable selecting arrangement of decompressor arrangement in candidate's Test Design of selecting; And
Running gear is used for according to composite design described predetermined automatic test pattern generating algorithm being moved to end.
7. according to the system of claim 1, also comprise running gear, be used for candidate's Test Design that basis is selected at selecting arrangement, predetermined automatic test pattern generating algorithm is moved to end.
8. according to the system of claim 7, wherein be used to move predetermined automatic test pattern generating algorithm to the running gear that finishes and generate a plurality of test vectors,
Also comprise generator, be used for providing a plurality of test vectors, so that in the integrated circuit (IC) chip of test, use according to circuit design and candidate's Test Design manufacturing of in selecting arrangement, selecting to integrated circuit testing equipment.
9. according to the system of claim 7, wherein said a plurality of candidate's Test Design comprise the different configuration parameter value that are used to control the operation of automatic test pattern generating algorithm,
And wherein be used for moving predetermined automatic test pattern generating algorithm to the running gear that finishes and comprise the application apparatus that is used for using this configuration parameter value in the selected candidate's Test Design of selecting arrangement.
10. according to the system of claim 1, also comprise generating apparatus, be used for generating one group of manufacturing shielding according to circuit design and in the selected candidate's Test Design of selecting arrangement.
11. according to the system of claim 1, wherein the test vector sampling comprises 256 test vectors at the most.
12. according to the system of claim 11, wherein the test vector that comprises of test vector sampling is above 32.
13. according to the system of claim 1, wherein the test vector sampling comprises 64 test vectors at the most.
14. according to the system of claim 1, wherein Yu Ding automatic test pattern generating algorithm generates test pattern in order,
And wherein test vector sampling includes only the top n test vector that predetermined automatic test pattern generating algorithm generates, and wherein N is a predetermined integers, all fixes its all candidate's Test Design in a plurality of candidate's Test Design.
15. according to the system of claim 14, the generating apparatus that wherein is used to generate a plurality of test vectors comprises operating means, is used to operate described predetermined automatic test pattern generating algorithm, until generating N test vector; And
Stop device is used for stopping to carry out described predetermined automatic test pattern generating algorithm before generating any further test vector.
16. according to the system of claim 1, wherein the quality factor of test protocol are the test protocol quality metrics.
17. according to the system of claim 1, wherein the test protocol quality factor are fault coverage rates.
18., wherein be used for selecting the selecting arrangement of one of them candidate's Test Design to comprise that being used for candidate's Test Design searches for the searcher with the maximized candidate's Test Design of test protocol quality factor with iterative manner according to the system of claim 1.
19. according to the system of claim 1, the generating apparatus that wherein is used for generating according to circuit design a plurality of test vectors comprises:
Recognition device is used for discerning the incipient fault set that might occur in the integrated circuit (IC)-components according to described circuit design manufacturing; And
Operating means is used to operate described predetermined automatic test pattern generating algorithm, so that only be sampled as target with the incipient fault in the described incipient fault set.
CN2009201742889U 2008-10-09 2009-09-30 System for forming scan-based test design for integrated circuit design Expired - Lifetime CN201837703U (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/248,710 2008-10-09
US12/248,710 US8584073B2 (en) 2008-07-21 2008-10-09 Test design optimizer for configurable scan architectures

Publications (1)

Publication Number Publication Date
CN201837703U true CN201837703U (en) 2011-05-18

Family

ID=44059011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009201742889U Expired - Lifetime CN201837703U (en) 2008-10-09 2009-09-30 System for forming scan-based test design for integrated circuit design

Country Status (1)

Country Link
CN (1) CN201837703U (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104937428A (en) * 2013-01-22 2015-09-23 泰拉丁公司 Embedded tester
EP3082000A1 (en) * 2015-04-15 2016-10-19 dSPACE digital signal processing and control engineering GmbH Method and system for testing a mechatronic system
TWI709053B (en) * 2016-04-27 2020-11-01 台灣積體電路製造股份有限公司 Integrated circuit design system and method for integrated circuit design

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104937428A (en) * 2013-01-22 2015-09-23 泰拉丁公司 Embedded tester
CN104937428B (en) * 2013-01-22 2018-02-27 泰拉丁公司 Embedded testing device
EP3082000A1 (en) * 2015-04-15 2016-10-19 dSPACE digital signal processing and control engineering GmbH Method and system for testing a mechatronic system
US10551281B2 (en) 2015-04-15 2020-02-04 Dspace Digital Signal Processing And Control Engineering Gmbh Method and system for testing a mechatronic system
TWI709053B (en) * 2016-04-27 2020-11-01 台灣積體電路製造股份有限公司 Integrated circuit design system and method for integrated circuit design
US10860769B2 (en) 2016-04-27 2020-12-08 Taiwan Semiconductor Manufacturing Co., Ltd. Method and system for integrated circuit design with on-chip variation and spatial correlation

Similar Documents

Publication Publication Date Title
CN101815951B (en) Test design optimizer for configurable scan architectures
CN100507923C (en) Block based design methodology with programmable components
CN1331079C (en) Block based design methodology
CN201740851U (en) Scanning test system for testing design of implementation in integrated circuit
US20100083199A1 (en) Increasing Scan Compression By Using X-Chains
CN102317908B (en) Identifying and improving robust designs using statistical timing analysis
US8261220B2 (en) Path preserving design partitioning with redundancy
CN201837703U (en) System for forming scan-based test design for integrated circuit design
Accardi et al. Deuterium scattering experiments in CTEQ global QCD analyses: a comparative investigation
US20110099400A1 (en) Method and system thereof for optimization of power consumption of scan chains of an integrated circuit for test
US9157961B2 (en) Two-level compression through selective reseeding
Nagaraj et al. An automatic post silicon clock tuning system for improving system performance based on tester measurements
Hariharan et al. From rtl liveness assertions to cost-effective hardware checkers
CN104981806B (en) Automatic clock tree synthesis exception generates
Munko et al. RMST‐based multiple contrast tests in general factorial designs
CN115827475A (en) Quantitative analysis and evaluation method for software quality of electronic equipment
Wang et al. Comparing fault detection efficiencies of adaptive random testing and greedy combinatorial testing for Boolean-specifications
CN103018661A (en) Scanning test system
Koppolu et al. Hierarchical diagnosis of identical units in a system
Thomas et al. Impact of behavioral modifications for testability
Beckert et al. Heuristically creating test cases for program verification systems
Yamaguchi et al. Hierarchical BIST: Test‐per‐clock BIST with low overhead
Kotásek et al. The use of genetic algorithm to derive correlation between test vector and scan register sequences and reduce power consumption
Xu et al. Soc test-architecture optimization for the testing of embedded cores and signal-integrity faults on core-external interconnects
Pomeranz Functional Design-for-Testability for Functional Test Sequences

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant