CN1774642A - Method and apparatus for testing integrated circuits - Google Patents

Method and apparatus for testing integrated circuits Download PDF

Info

Publication number
CN1774642A
CN1774642A CN 200480009920 CN200480009920A CN1774642A CN 1774642 A CN1774642 A CN 1774642A CN 200480009920 CN200480009920 CN 200480009920 CN 200480009920 A CN200480009920 A CN 200480009920A CN 1774642 A CN1774642 A CN 1774642A
Authority
CN
China
Prior art keywords
test
operating system
module
field controller
interface
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.)
Granted
Application number
CN 200480009920
Other languages
Chinese (zh)
Other versions
CN100456043C (en
Inventor
安肯·拉马尼克
马克·艾尔斯顿
陈良力
罗伯·萨乌尔
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.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advantest Corp filed Critical Advantest Corp
Publication of CN1774642A publication Critical patent/CN1774642A/en
Application granted granted Critical
Publication of CN100456043C publication Critical patent/CN100456043C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

A distributed operating system for a semiconductor test system, such as automated test equipment (ATE), is described. The operating system includes a host operating system for enabling control of one or more site controllers by a system controller. One or more local operating systems, each associated with a site controller, enable control of one or more test modules by an associated site controller. Each test module performs testing on a corresponding device-under-test at a test site.

Description

Detect the method and apparatus of integrated circuit
Technical field
The present invention relates to the test of integrated circuit (IC), particularly relate to the automated test device (ATE) that is used to test one or more IC.
Background technology
The application's case is advocated the right of priority of following application case: No. the 60/449th, 622, the application case that on February 24th, 2003 proposed, and name is called " method and apparatus of testing integrated circuits "; No. the 60/447th, 839, the application case that on February 14th, 2003 proposed, name is called " for the method and structure of SIC (semiconductor integrated circuit) development and testing program "; No. the 10/404th, 002, the U. S. application case that on March 31st, 2003 proposed, name is called " tester simulator, test module emulator and recorded medium storing program wherein "; No. the 10/403rd, 817, the U. S. application case that on March 31st, 2003 proposed, name is called " proving installation and method of testing ", and above-mentioned all applications are incorporated into for reference in full at this.The application also in full with reference to the U. S. application of proposition simultaneously number _ _ _ _ _ _ _ _ _, name is called " for the method and structure of SIC (semiconductor integrated circuit) development and testing program ", this application case advocates that application case the 60/447th, No. 839, who proposed on February 14th, 2003 is called the right of priority of " for the method and structure of SIC (semiconductor integrated circuit) development and testing program ".
(system-on-a-chip, the SOC) demand of the increase of complexity and simultaneous reduction chip testing cost impel IC manufacturer and test machine supplier to rethink how the IC test should be carried out to chip system.According to industry research, if do not redesign, the projected cost of test machine will significantly increase in the near future.
Testing apparatus main cause with high costs is the specificity of known test machine framework (architecture).Each tester manufacturer all has several tester platform, it is not only incompatible between different company such as Advantest, Teradyne and Agilent, and also incompatible between platform, as Advantest company make as T3300, T5500 and T6600 series of tests machine.Because the existence of these incompatibility, every test machine all requires himself hardware and software component special use, that can not be used for other test machines.In addition, test procedure (test program) is transferred to another test machine by a test machine needs a large amount of work of translating, and third-party solution also is difficult to exploitation.Even the third-party solution that has been a certain platform development, it can not shift on different platforms or utilize.Normally complicated and error-prone by a platform to the process of translating of another platform, cause extra effort, time and testing cost to increase.
Test machine software such as operating system and test analysis tool/application go up operation at principal computer (hostcomputer).Because the dedicated nature of framework, hardware and softwares all for a given test machine all are maintained fixed configuration.For test I C, developed the part or all of special test program of use test function power, it is used to define test data, signal, waveform and electric current and voltage quasi position, also be used to gather DUT (detected element) (device under test) response and definite DUT whether qualified/defective.
Because test machine should be able to be tested multiple different IC, hardware and software component all is designed to work in a wide opereating specification.Therefore, test machine has comprised the many resources that can not use under a lot of test case.Simultaneously, for given IC, test machine may not provide and is suitable for the resource that this IC needs most.For example, may find, one logic circuit testing machine may be suitable for test and contain embedded micro-processor, large-scale on-board dram and flash memory (flash), and the A of complex chip system (SoC A) of other kernels such as PCI and USB etc., but but comprise digital to analog converter (Digital/Analog Converters for not containing embedded micro-processor and large-scale on-board dram/flash memory, DACs) and the test of the special applications IC B of sigma-delta converter (Sigma-Delta converters) (Application Specific Integrated Circuit B, ASIC B) but be not enough.In order to test ASIC B, suitable test machine should be able to need to simulate with the mixed signal test unit and more is better than extensive support to built-in memory test.
Therefore, need provide a kind of test machine that can reconfigure (reconfigured) according to test request.In addition, also need to connect and use other suppliers' equipment to be used in combination with automated test device.But, since the monopoly of data layout (data format) in the specificity of known test macro and each supplier's equipment, usually impossible another supplier's of plug and play equipment.
Summary of the invention
The open architecture test system of the embodiment of the invention (open architecture test system) allows to use third party's module (third party modules).This test system hardware and software frame comprise standard interface (standard interface), can make from the mode interaction with plug and play of different suppliers' module by these standard interfaces.These modules can be hardware, as functional unit (functional unit), digital pincard (digital pin card), analog card (analogcard) or device power supply (DPS) (device power supply); Also can be software, as tool software or utility routine, comprise test execution instrument (test executive tool), system monitoring (systemmonitoring) or registration tool (licensing tool), unit rank controller (unit-levelcontroller) (for example: underlying instrument, GPIB control), database or be used to control the software of miscellaneous equipment.
In one embodiment, this framework is the distributed objects environment (distributed object environment) under a kind of Microsoft Windows operating system.Test machine is a kind of modular system, have a module controls software (module control software) and a backboard communication pool (backplane communications library), it allows the communication and controller communicating by letter to module of module to module.These modules comprise, for example, digital module (digital module), device power supply (DPS) (Device Power Supply, DPS) module, AWG (Arbitrary Waveform Generator) (ArbitraryWaveform Generator, AWG) module, digitizer module (digitizer module) and specialized application software (application specific software).
In one embodiment, module connects and to enable device (enabler) and comprise that one can provide multimode to connect and the switch matrix network (switch matrixnetwork) of synchronizing linkage (synchronization mechanism).When testing a plurality of DUT (detected element) of same type, this switch matrix network also allows to share common test data (common test data) between a plurality of controllers and test site.
Because each scene has independently field controller (site controllers), all test site can both asynchronously be moved.So in fact, help a plurality of DUT tests.This kind modularization and how on-the-spot configuration also provide scalability (scalability) for system.In an embodiment of this system, single controller can be by configuration for controlling and test a plurality of DUT.
All use standard interface to help the realization of plug and play (plug-and-play) or replaceable module (replaceable modules) notion in the hardware and software aspect.In software, frame clsss (framework class) is used to starting, activation, control and the monitoring of module.Framework (framework) is one group of class and method that can realize the common test associative operation.It comprises and is used for following class (classes): power supply power supply and pin electronics sequencing (pin electronics sequencing), set accurate position of current/voltage and timing condition, obtain measurement result, (test flow) flowed in the control test, or the like.Framework also provides runtime services (runtime service) and debug method (debugging).Object framework can come work according to one embodiment of the invention standard interface by carrying out.Provide a kind of reference of the frame clsss based on C++ to carry out example.The user can also develop the special framework class of oneself.
The connection that obtains hardware-software by the backboard communication pool with communicate by letter.By coming the open backboard communication pool (openbackplane communication library) of access to provide a general user interface for test macro based on the test procedure of C Plus Plus and the GUI test procedure layer on the C++.U.S. patent application case discloses the method for using the C/C++ structure to generate test procedure for the 60/447th, No. 839.Communication pool provides a kind of mechanism, being that transparent way and field controller communicate to user application and test procedure.In essence, the backboard communication pool provides attempts the interface that communicates at whole test machine backboard (in this article, " backboard " is an abstract concept (backplane), might not refer to entity hardware backboard), thus the module that provides and be connected to a certain particular scene communicates needed function.Use to this storehouse makes the module supplier need not to create the driver of self (as the MS-Windows driver).This just makes the module software of specific supplier can use standard rear panel drive software and corresponding hardware module to communicate.In one embodiment, backboard communication protocol (backplane communications protocol) is used the form based on packet (packet).
An advantage of open architecture is that it uses whole test machine and is simplified.It provides a kind of and has developed third-party solution and utilize these solutions again and do not need the mechanism of bigger rewriting.For many given test site, can come to select and use appropriate module as required.Because module is removable, thus each test site can both be by configuration (reconfiguration) again so that realize the best test to DUT.It has also simplified the problem of incompatibility between platform.All these simplification make the reduction, turnaround time of working strength accelerate and finally cause the reduction of testing cost.
The invention provides a kind of system that is used to test at least one detected element (DUT).This system comprises at least one field controller, and it is used to control at least one test module so that at least one DUT is carried out at least one test (this test can be the component part of a test plan).Described at least one field controller of system controller control.
The test module interface defines the test module function so that field controller is connected with first test module, wherein this test module interface can be expanded so that field controller is connected with second test module, and non-extend testing module interface can not be enough to field controller is connected with second test module.
But this system also comprises an extend testing function, and as user's definable test class (user-definable test class), it is independent of special-purpose DUT characteristic.But test is exactly the realization to this extend testing function.
Test module can utilize the tester pins interface to communicate by letter with DUT, and it can be independent of special-purpose DUT characteristic.This test module interface can comprise that a test module interface class (test module interfaceclass) and this tester pins interface can comprise a tester pins interface class (tester pininterface class).
The distributed operating system of one embodiment of the invention comprises a master operating system (hostoperating system) and the local operation system (local operating system) that at least one is associated with each field controller, wherein this master operating system can be controlled at least one field controller by a system controller, and this at least one local operation system can control at least one test module by a field controller that is associated.
This master operating system is the operation of these at least one field controllers synchronously, arbitrates the communication between this system controller and these at least one field controllers, and monitors the operation of these at least one field controllers.Field controller can be monitored the operation of these test modules that are associated with this field controller.
Master operating system comprises at least one main interface, and it is used for communicating with at least one field controller.Test module interface definition test module function is so that be connected field controller with first test module, wherein this test module interface can be expanded so that field controller is connected to second test module, and the test module interface of non-expansion can not be enough to field controller is connected to second test module.
Master operating system can comprise at least one main frame class (host framework class), and it can adopt the standard computer language, and (for example: C/C++) exploitation makes the user can develop the vertical application class so that control these at least one field controllers.
Each local operation system can comprise at least one local frame clsss (local frameworkclass), and it can adopt standard computer language (C/C++) exploitation, makes the user can develop the vertical application class so that control these at least one test modules.
The quantity of the controllable module of each field controller is scalable (scalable).Make the type of the test module of field controller control can be with local operation system that corresponding field controller is associated by configuration again.Master operating system makes the quantity of the field controller of system controller control can be scaled, and makes the quantity of the DUT of test system and test can be scaled.
Emulator (emulator) can be simulated the use of candidate's test module (candidate test module) in test macro, to confirm candidate block and test macro compatibility.
Description of drawings
Figure 1 shows that known test machine framework.
Figure 2 shows that system architecture according to an embodiment of the invention.
Figure 3 shows that software architecture according to an embodiment of the invention.
Figure 4 shows that the use of test class according to an embodiment of the invention.
Figure 5 shows that the synoptic diagram of unified modeling language (UML) interactive between the module resource that test machine system and different supplier provide according to an embodiment of the invention.
Figure 6 shows that the embodiment of the field controller object of safeguarding by field controller that is used for the leading subscriber test.
Figure 7 shows that the embodiment that represents the object broker of field controller object shown in Figure 6 in system controller one side.
Figure 8 shows that test environment according to an embodiment of the invention.
Embodiment
Figure 1 shows that the framework that known test machine is general, shown signal is how to generate and impose on element under test (DUT).Each DUT input contact pin all is connected to the driver 2 of application testing data, and each DUT output contact pin all is connected to comparer 4 (comparator) simultaneously.In most of the cases, use three-state driver comparer (tri-state driver-comparators), each test contact pin (passage) all can either serve as the input contact pin and also can serve as the use of output contact pin like this.Be used for separately that the set of the test contact pin of certain DUT forms a test site (test site), it stores piece 16 (block) collaborative work of data 14 (waveform memory data) and definition of data speed (data rate) with the timing generator 6 that is associated (timing generator), waveform generator 8 (waveformgenerator), mode memory 10 (pattern memory), chronometric data storer 12 (timingdata memory), waveform.
Figure 2 shows that system architecture 100 according to an embodiment of the invention.System controller (SysC) 102 is couple to a plurality of field controllers (SiteCs) 104.System controller also can couple receives a network so that the access associated documents.Device 106 (module connection enabler) is enabled in connection by module, and each field controller is all coupled so that control one or more test modules 108 (test module) that are positioned at test site 110.Module connects enables device 106 and allows the hardware module 108 that has connected is carried out again configuration and is used as data transmission bus (be used for loading mode data (patterndata), collect response data (response data), control is provided, or the like).In addition, enable device by this module connection, the module that is positioned at a scene can be accessed in another on-the-spot module.The module connection is enabled device 106 and is allowed different test site to have identical or different model block configuration.In other words, each test site all can adopt the module of varying number and type.Possible hardware realizes comprising that special-purpose connection, switch connect, bus connects, annular connects and Y-connection.For example, module connects and to enable device 106 and can be realized by switch matrix.Each test site 110 all is associated with a DUT 112, and this DUT 112 is connected to corresponding on-the-spot module by load board 114 (loadboard).In one embodiment, single field controller can be connected to a plurality of DUT scene.
System controller 102 serves as the total system manager.System controller 102 is coordinated activity, other parallel testing scheme of management system level of field controller and the data recording and the fault processing support of processor/detector control and system level is provided.According to operating and setting, system controller 102 can be deployed in one and be independent of on the CPU of operation of field controller 104.Perhaps, common CP U can be shared by system controller 102 and field controller 104.Similarly, each field controller 104 can both be deployed on the CPU (CPU (central processing unit)) of himself special use, or in same CPU as independently a process or a thread.
System architecture can be envisioned as distributed system shown in Figure 2 from the notion angle, and understands the individual system assembly and can also be counted as integrated a, monolithic system (monolithic system), and an entity component of distributed system not necessarily.
Figure 3 shows that software architecture 200 (softwarearchitecture) according to an embodiment of the invention.Software architecture 200 is represented a distributed operating system, it has the element that is used for system controller 220, at least one field controller 240 and at least one module 260, and these elements are corresponding with relevant hardware system element 102,104,108 (hardware system elements) respectively.Except that module 260, framework 200 also comprises and is used for the element of respective modules emulator 280 in software (module emulation).
As an exemplary selection, the development environment of this kind platform can be based on MicrosoftWindows.Use this kind framework in program and support are portable, also to have fringe benefit (for example, Onsite Maintenance Engineer can connect the notebook computer of operation test machine operating system so that carry out the diagnosis on rank).But, for the big calculating of operand (as test pattern coding) (test patterncomplies), related software can be designed to can independent operating so that allow to stride the independent community of the job scheduling of distributed platform.The associated software tool that is used for batch jobs (batch jobs) so just can move on a plurality of Platform Types.
As an exemplary selection, can be with the ANSI/ISO standard C ++ as the native language of software.Certainly, also have plurality of optional scheme (for a level on the nominal C++ interface is provided) that the third party can be integrated into its alternate language of oneself selecting in the system.
Shade (shading) according to the element of its specified source (nominal source) establishment (or as the exploitation of subsystem collective) has been shown among Fig. 3, it comprises test machine operating system interface 290 (testeroperating system interface), nest 292 (user components) (for example, the assembly that is used for test purpose that the user provides), system component 294 (system components) (for example, as basic connection and the basis of software structure of communicating by letter and providing), Development of Module assembly 296 (moduledevelopment components) (for example, Development of Module merchant provides), with external module 298 (external components) (for example, providing) by the external source beyond the Development of Module merchant.
From tissue (source-based organization) one side based on the source, test machine operating system (Tester Operating System, TOS) interface 290 comprises: system controller is to field controller interface 222, frame clsss 224, field controller is to the interface 245 of module, frame clsss 246, predetermined module rank interface, backboard communication pool 249, chassis slot interface (interface, IF) 262, load board hardware interface 264, backboard emulation interface 283, load board emulation interface 285, DUT emulation interface 287, be used for the Verilog model of DUT Verilog program language interface (ProgrammingLanguage Interface, PLI) 288 and the C/C++ language that is used for the C++ model of DUT support 289.
Nest 292 comprises: user test plan 242 (user test plan), user test class 243 (user test classes), hardware load board 265 (hardware loadboard) and DUT266, DUT Verilog model 293 and DUT C/C++ model 291.
System component 294 (system components) comprising: system tool 226 (system tools), communication pool 230 (communication library), test class 244 (test classes), backboard driver 250 (backplane driver), hardware backboard 261 (hardware (HW) backplane), simulation frame 281 (simulation framework), backboard emulation 282 (backplane emulation), with load board emulation 286 (loadboard simulation).
Development of Module assembly 296 (module-development components) comprising: module command is carried out example 248 (module commands implementation), module hardware 263 (modulehardware) and modular simulation 284 (module emulation).
External module 298 (external components) comprises external tool 225 (external tools).
System controller 220 (system controller) comprising: the interface 222, frame clsss 224, system tool 226, external tool 225 and the communication pool 230 that connect field controller.System controller software is the first-class reference mark (primary point) of user interaction.It provides the inlet of field controller of the present invention, how provide field controller in scene/DUT environment synchronously, of No. the 60/449th, 622, this assignee's U.S. patent application case.On system controller operation based on graphical user interface (Graphical User Interface, GUI) or the user application of alternate manner and instrument.System controller also can be used as the thesaurus of all test plan relevant informations, comprises test plan, test pattern and test parameter file (test parameter files).The test parameter file comprises the parametrization data that are used for test class in the object oriented environment of one embodiment of the invention.
Third party developer removes modular system instrument 226 can also provide other instrument (or substituting as modular system instrument 226).Standard interface 222 on the system controller 220 comprises that instrument can use so that the interface of access test machine and tested object.Instrument (application program) 225,226 allows the interactive of test and test machine object and control (batch control) in batches.Instrument comprises the application program (for example, using SECS/TSEM etc.) that is used to provide automatic capability.
The communication pool 230 that is present on the system controller 220 provides a kind of mechanism so that user application and test procedure transparent way are communicated by letter with field controller 240.
The interface 222 that is present in the storer that is associated with system controller 220 provides open interface for the object framework of carrying out on the system controller.Comprising allowing based on the module software access of field controller and fetching the interface of mode data.Comprise also that wherein application program and instrument can use the interface with access test machine and tested object and script interface (scripting interface), script interface provides the ability by script engine (scripting engine) access and manipulation test machine and test suite.So just formed and a kind ofly made interaction, (batch) and remote application are carried out the shared mechanism of its function in batches.
Provide the mechanism of a kind of and above-mentioned these object interactions with system controller 220 associated frame classes 224, provide the reference of a standard interface to carry out example.For example, field controller 240 of the present invention provides a functional test object (functional test object).This system controller frame clsss can provide the functional test agency (functional test proxy) of a correspondence, as the agency based on Remote System Controller of functional test object.The standard feature test interface just can be used by the instrument on the system controller 220 like this.System, Development of Module and interface module 294,296 and 290 can be considered the operating system that distributes between system controller and the field controller respectively.Frame clsss provides the open system interface that is associated with main system controller effectively.It also constitutes the software element that field controller provides access, and provide field controller in scene/DUT environment how synchronously.Therefore the object model (object model) that this layer provided in one embodiment of the invention, it is suitable for manipulation and access field controller and does not need directly to handle communication layers (communication layer).
Field controller 240 (site controller) accommodates user test plan 242 (user testplan), user test class 243 (user test classes), standard testing class 244 (standardtest classes), standard interface 245 (standard interfaces), field controller frame clsss 246 (site controller framework classes), module high levle command interface (that is the accurate position of predetermined module interface) 247 (module high level command interface), module command is carried out example 248 (module command implementation), backboard communication pool 249 (backplane communication library), with backboard driver 250.Most of test functions are preferable to be handled by field controller 104/240, therefore allows test site 110 independent operations.
Test plan 242 is write by the user.Test plan can directly be write by standard computer language such as C++, or describes so that produce the C++ code with the higher level TPL, can compile it as executable test procedure then.
Test plan utilizes the test class that is associated with field controller 244 frame clsss 246 and/or standard or that the user provides to create tested object, utilizes 245 pairs of hardware of standard interface to carry out configuration, and definition test plan stream (test plan flow).Desired any additional logic (additional logic) term of execution that it also being provided at test plan.Test plan is supported the service that some are basic and is provided to the interface of lower floor's objects services, as debug service (debug service) (for example, breakpoint), also provides the access to lower floor's framework and standard class.
With field controller associated frame class 246 be a category and method, it carries out the common operation relevant with test.Field controller rank framework for example comprises and is used for following class: power supply power supply and pin electronics sequencing, set accurate position of current/voltage and timing condition, obtain measurement result, the control test is flowed, or the like.Framework also provides runtime services (runtime service) and debug method.Object framework can come work by standard interface.For example, the execution of TesterPin (tester pins) frame clsss is by standardization, can be used for universal testing machine contact pin interface (general tester pin interface) with the interaction of hardware module contact pin so that carry out test class.
Certain this object framework can carry out work under the help of module level interface 247, thereby realizes and the communicating by letter of module.The field controller frame clsss is effective as the local operation system interface and supports each field controller.
Generally speaking, the program code (program code) above 90 percent is the data that are used for element test, and remaining 10 code is realized method of testing.The element test data depend on DUT's (for example: Power Supplies Condition, signal voltage condition, timing condition etc.).Test code comprises the particular element condition is loaded into automated test device (Automatic Test Equipment, the ATE) method of hardware, and comprise the needed method of specific user's object (as the data record) that realizes.The framework of one embodiment of the invention provides a kind of test and test machine pattern that is independent of hardware, and it allows the user to carry out the task of DUT test procedureization.
In order to increase the reusability of test code, can make this kind code be independent of any element exclusive data (device-specific data) (for example: contact pin title, excited data (stimulusdata) or the like) or any element test exclusive data (device-test-specific data) (for example: the condition of direct current (DC) unit, measurement contact pin, the quantity of target contact pin, the title of schema file, the address of model program).If test is the data compilation of these types of employing with code, the reusability of this test code will descend so.Therefore, according to one embodiment of the invention, test code can obtain any element exclusive data or element test exclusive data from the outside, as importing during the code execution time.
In an embodiment of the present invention, a test class (Test Class) is the construction of a standard testing interface, represent with ITest that here its realization test data is separated with the code that is used for a certain particular type test (and reusability of consequent code).This kind test class can be counted as " template (template) " of himself separate instance, and it is only different on the basis of element special use and/or element test exclusive data.Test class is stipulated in the test plan file.The typically private type of executive component test or the setting of element test of each test class.For example, one embodiment of the invention can provide the special use of ITest interface to carry out, and for example, FunctionalTest (functional test) is as the foundation class (base class) of DUT all functions test.It provides following basic function: set test condition, execution pattern and determine test mode according to the existence of failure gating (failed strobes).The type of other execution comprises interchange (AC) and direct current (DC) test class, here represents with ACParametricTests and DCParametricTests.
All test-types all provide the default execution (default implementation) (for example: init (), preExec (), and postExec ()) of some empty method (virtual method).These methods become the inlet point that the Test Engineer crosses default behavior and sets any test special parameters.But, can also use the test class (custom test classes) of customization in the test plan.
Test class allows the user by the parameter of the option of the particular instance that is provided for stipulating this test class behavior (class behavior) to be carried out configuration.The rank (Level) and timing (Timing) condition of mode list (Pattern List) that for example, functional test (Functional Test) can be adopted parameter PList and TestConditions to come separate provision will to carry out and test.Be the different value of these parameters regulations (by the use of different " test " modules in the test plan description document), the different instances that the user can systematic function be tested.How Fig. 4 explanation produces different test cases from single test class.Can adopt the general-purpose library (general-purpose library) of template base (Template Library) as general-purpose algorithm and data structure.This storehouse is visible for the user of test machine, and the user for example can revise the execution of test class like this, so that create user-defined test class.
Test class for user's exploitation, because all test class all are (for example to derive from a single test interface, Itset), so an embodiment support of system is integrated into framework with this test class, thereby this framework can operate on it in the mode identical with the system testing class of standard group.The user can optionally incorporate extra function into its test class, only is appreciated that to use custom code (custom code) so that utilize these extra functions in its test procedure.
Each test site 110 all is exclusively used in one or more DUT 106 of test, and moves by one group of configurable test module 112.Each test module 112 all is an entity of carrying out a fc-specific test FC task.For example, test module 112 can be DUT power supply, pincard, analog card or the like.This module means provide the dirigibility and the configurability of debugging.
Module command is carried out (Module Commands Implementation) class 248 and can be provided by the module hardware supplier, and or be hardware module execution module level interface (module-levelinterfaces), perhaps provide the special module of standard interface to carry out, this depends on the command executing method that the supplier selectes.The external interface of these classes is required and is pre-determined by predetermined module level interface requirement and backboard communication pool.This level also provides the expansion of standard testing instruction set (standard set of testcommands), allows increase method (function) and data element (data elements).
Backboard communication pool 249 (Backplane Communications Library) provides interface for the standard traffic of whole back plate, thereby the module that provides and be connected to test site communicates necessary function.So just allow the specific supplier module software can use backboard driver 250 (BackplaneDriver) and corresponding hardware module communication.Backboard communication protocol can adopt the form based on packet.
Tester pins (Tester Pin) object represents physical tester channels (physical testerchannels) also derives from test machine transplanting of rice machine interface, represents with ITesterPin here.(Software Development Kit SDK) provides default ITesterPin to carry out to the SDK (Software Development Kit) of one embodiment of the invention, can be called as TesterPin, and it is carried out according to predetermined module level interface IChannel.If the supplier can carry out the function of their module according to IChannel, just can freely use TesterPin; Otherwise they must provide the execution of ITesterPin so that can use their module work.
The standard modular interface (standard moduleinterface) that test machine of the present invention system provides represents with IModule that here it represents supplier's hardware module at large.The particular module software that the supplier provides for system can be to provide with executable form, as dynamic link library (Dynamic Link Libraries, DLL).The software that provides for every kind of module type of supplier can be loaded in the single dynamic link library (DLL).Each this software module all is responsible for being provided for the execution of the specific supplier of module interface order, it comprise the application programming interfaces that are used for the module software exploitation (Application Programming Interface, API).
There are two aspects in the module interface order: at first, they are used to communicate by letter (indirectly) of a certain specific hardware module in user and the system; Secondly, they provide and can are used for oneself module is integrated into interface in the field controller level framework by third party developer.Therefore, the module interface order that provides of framework is divided into two types:
At first, it is evident that these " orders " most, it appears to the user by framework interface.Therefore, test contact pin interface (ITesterPin) provides the method that obtains and set rank and clocking value, and power interface (IPowerSupply) provides the method for for example power supply (powering up) and outage (powcringdown).
In addition, framework provides the particular category of predetermined module level interface (module-level interface), and it can be used to and the communicating by letter of module.These all are that frame clsss (for example: " standard " of framework interface carried out) is used for interface with supplier's module communication.
But,, be optional to the use of module level interface in second aspect.The benefit of doing like this is that the supplier can utilize the execution as the class of ITesterPin and IPowerSupply etc., focuses on the content of the particular message that sends to supplier's hardware simultaneously by execution module level interface.But if these interfaces are not suitable for the supplier, they can select to provide the customization of themselves framework interface to carry out (for example: the supplier of ITesterPin, IPowerSupply etc. carries out).So these will provide the customization function (custom funtionality) of the hardware that is suitable for them.
Therefore can realize the integrated of particular module supplier software by two kinds of means of different: (custom implementation) carried out in the customization of relevant framework class and interface, or the customization of module level interface particular category is carried out.
The Application Instance of having showed two kinds of methods below in Fig. 5, Fig. 5 are unified modeling language (UnivcrsalModeling Language, UML) synoptic diagram of class of describing the test machine system of the embodiment of the invention and supplier's module interaction.
A new digital module supplier, promptly (Third Party A TPA), provides software module to be used for communicating with its hardware module to third party A.This software module can operative norm interface IModule.Here this module object is called TPAPinModule.Supplier TPA can be by realizing that in its module relevant predetermined module level interface (being IChannel in the case) utilizes the modular system of ITesterPin interface to carry out, and is labeled as TesterPin here.Because TesterPin uses calibration predetermined module level interface such as IChannel and module to communicate, therefore above-mentioned can accomplishing.Therefore, TPAPinModule only just can provide contact pin by creating and appearing the TesterPin object.
Consider such a case below: another supplier, promptly (Third Party B TPB), thinks that IChannel can not work well with its hardware to third party B.Therefore, TPB not only needs to provide his IModule to carry out (TPBPinModule), but also the execution of ITesterPin interface TPBTesterPin need be provided.
This scheme gives third party developer and is selecting how to send out out great dirigibility aspect its hardware and the support software.Although require them to carry out the IModule interface, they can select to carry out module level interface or execution object, for example TesterPin that they see fit.
In fact, the supplier is in order to be provided at the expansion (extensions) that is not supported in the ITesterPin interface, and can select to carry out TesterPin.Framework can provide special interface that retrieves certain object or the mechanism of carrying out pointer to the user.This means when personal code work has the ITesterPin pointer if necessary, framework just can determine whether it points to the TPBTesterPin object.(notice that these characteristics can be by standard C ++ runtime type identification (Run Time TypeIdentification RTTI) provides).In other words, when test plan visit (calls on) ITesterPin interface, Qi Merger of tester pins execution , that this interface can directly call supplier's TesterPin class goes into particular module information (for example: will be set to the register address that specific DUT stimulus (stimulus) is provided).
In a word, although always skeleton code uses the ITesterPin interface, but certain features (specific features) and expansion (extensions) that the user still can freely utilize the module supplier to be provided as required.In other words, module supplier can, for example, during the modular system that method (function) is increased to class is carried out.For the compromise of user is to utilize the specific supplier expansion that test code is descended to the availability of other suppliers' module.
In module level, have two kinds of operator schemes in system's 100 nominals.In the operator scheme (online mode), (for example: hardware element) use module component 260 (module elements) on line; And in off-line operation pattern (offline mode), use software module emulation 280.
For operator scheme on the line, module component 260 comprise hardware backboard 261 (HardWare, HW), chassis slot interface 262 (chassis slot interface), module hardware 263 (module hardware), load board hardware interface 264 (loadboard hardware interface), hardware load board 265 (hardware loadboard) and element under test (DUT) 266.
For the off-line operation pattern, software module emulator 280 (module emulation insoftware) comprises phantom frame 281 (simulation framework), backboard emulator 282 (backplane emulation), backboard emulation interface 283 (backplane emulationinterface), modular simulation device 284 (module emulation), load board emulation interface 285 (loadboard simulation interface), load board emulator 286 (loadboardsimulation), with element under test emulation interface 287 (DUT simulation interface).Two models that are used for DUT emulation shown in the figure.A model uses Verilog, and (Programming Language Interface is PLI) with element under test Verilog model 293 to comprise Verilog program language interface 288.A model uses C/C++, and it comprises support 289 of C/C++ language and element under test C/C++ model 291.Notice that this emulation can carry out on any computing machine, for example PC (Personal Computer, PC).
In the pattern, module supplier provides physical hardware components support test, as digital tester channels (digital tester channels), DUT power supply or DC measuring unit (DCmeasurement units) on line.Module is connected with hardware backboard 261 by chassis slot interface 262.
For offline mode, be equal to the environment of system controller (SystemController) based on PC or other operations, additionally bear the runtime environment that all provide field controller level framework and software lower floor, and simulation hardware.
Backboard emulator 282 (backplane emulation) provide ageng (surrogate) for physics backboard 261 (physicalbackplane).It communicates by backboard emulation interface 283 and (supplier provides) modular simulation software 284 (module emulation software).
Modular simulation software 284 is preferably provided by the module supplier, and is typically to carry out closely binding with the specific supplier of module 263.Therefore, in whole modules that different suppliers provide, modular simulation software can be typically different in detail.In this case, modular simulation by software model (software model) (for example: modular simulation software 284) appear hardware capability allows the supplier, simulate signal is delivered to dummy load plate 286, and receiving and handle DUT response signal from dummy load plate 286, this dummy load plate 286 is connected to DUT prototype software 291,293 by element under test emulation interface 287.In some cases, the supplier may find to provide the simple functions emulation of module and the emulation avoided module firmware (module firmware) is favourable.Modular simulation software compares emulation DUT to the response of emulation module simulate signal and known good DUT response.According to this comparative result, the target of the test the DUT whether test that the software determination module is carried out suits the requirements, and help the user on line the IC (physics DUT) on the physical testing machine go up and this module carried out debug before using module.
Load board emulation interface 285 is as the path of signal turnover modular simulation layer (module emulationlayer) and dummy load plate 286 (simulated loadboard).The signal of mapping of load board simulated assembly 286 (loadboard simulation component) supporting element socket and turnover DUT emulation interface 287 is propagated.
DUT emulation can be this machine code emulation 291 (native code) (that is, and C/C++), or to the Verilog program language interface of the functional mode of target detected element 293 (ProgrammingLanguage Interface, PLI).This model is connected with the dummy load plate by DUT emulation interface 287.
Attention is provided by simulation frame 281 (simulation framework) the integral body control of these layers.Simulation frame response known simulation signal is measured emulation DUT.The method of system emulation is open in No. 10/403,817, United States Patent (USP) case.
Communication and control
Communication and control are to carry out by the management of related software object.Be preferably, communication mechanism be hidden on the system controller object model (object model) afterwards.This object model provides an agency (proxy) for class and the object that finds on the controller at the scene, and for application development (for example: the programming model of providing convenience (programming model) the IC element test).Make like this application developers (for example: automated test device (ATE) system user) avoid with application program and scene/system controller between the relevant unnecessary details (unnecessarydetails) of details of communicating by letter.
Figure 6 shows that the specific embodiment of the field controller object of safeguarding by field controller 104 in the field controller software 240 (site controller software).The field controller object comprises CmdDispatcher 602, FunctionalTestMsgHandler 604 and Functional Test606.Interface comprises IMsgHandler 608 and ITest 610.
Field controller software 240 is preferable to comprise all functions class that the application program access may need.These classes can comprise, for example, and test, module, contact pin or the like.Because user test typically resides on the different computing machines with Software tool, message can be sent to the server (server) on the field controller by the instrument on the system controller.This server is with the method on call instruction scheduling (CommandDispatch) object.
Command scheduling object (CmdDispatcher) 602 is kept the mapping (map) of mh (messagehandler) object, and it carries out IMsgHandler interface 608.Figure 6 shows that the specific execution of IMsgHandler, FunctionalTestMsgHandler 604.The message that CmdDispatcher object 602 is received (messages) comprises the identifier (identifier) of the object that will communicate by letter.This identifier is found in inside mapping (internal map), and it solves specific execution, and shown here is FunctionalTestMsgHandler object 604.
In this example, IMsgHandler 608 is made of single method handleMessage ().This method is preferably as single execution class and carries out.In the situation shown in the figure, FunctionalTestMsgHandler604 will be forwarded to one of six methods with message according to the definite character of importing message into.The header of incoming message (header) comprises message identification (id), and it allows the mh decision how to explain and whither send this message.
Corresponding communication environment relates to instrument 225,226 parts of system controller software 220 in system controller 102.Figure 7 shows that the embodiment of the instrument object of safeguarding on the system controller 102 in the system controller software 220 (or system controller object), it is corresponding with field controller object shown in Figure 6.This instrument object comprises object CmdDispatcher 702, FunctionalTestMsgHandler 704 and FunctionalTestProxy 706.Interface comprises IMsgHandler 708, ITestClient710 and IDispatch 712.Also comprise utility application 714.
For this example, identical among this type of CmdDispatcher 702, IMsgHandler 708 and FunctionalTestMsgHandler 704 and Fig. 6.But, do not use the illustration (instantiation) of FunctionalTest 606 (or other field controller classes).The substitute is, the instrument object have with field controller 104 on the proxy class (proxy classes) of each object communication.Therefore, for example, the instrument object comprises the class FunctionalTestProxy 706 that replaces FunctionalTest 606.Similarly, the ITestClient in the instrument object 710 is different with ITest 610 in the field controller object.Generally, can not use the accurate interface that provides on the field controller 104 in the application program of operation on the system controller 102.In this case, replace three method ITest610 (being preExec (), execute (), and postExec ()) with the single method among the ITestClient 710 (being runTest ()).In addition, ITestClient 710 is preferably double nip (dual interface); That is, it is inherited by IDispatch 712, and (Component Object Model COM) carries out IDispatch712 as the Microsoft The Component Object Model.It provides the object that makes script engine (scripting engine) can access carry out this interface.But this is Script Programming (scriptable) on the Microsoft windows platform with regard to the permission system.
Operational instances as embodiment shown in Fig. 6-7, at system controller 102 (for example, one of in tools section 226,228) application program that goes up operation can comprise under the situation of one or more FunctionalTest objects 606 at test plan 242, communicate with field controller 104.During the initialization on the controller 104, corresponding test plan object is loaded into field controller 104 to test plan 242 at the scene, its constitute TestPlanMessageHandler object and with CmdDispatcher object 602 with its registration.Give a unique identification (ID) for mh like this.Similar operation also takes place in other TestPlan objects that constitute test plan 242.
With communication pool 230 initialization, (communication channel) is connected to field controller 104 to application program on the system controller 103 (for example, in instrument 226,228) by communication channel, and is a TestPlan object acquisition sign (ID).This storehouse constitute a TestPlanProxy object and with this sign (ID) with its initialization.During initialization, this agent object determines that it comprises the type and the sign (ID) of what tests and these tests.It loads suitable dynamic link library (DLLs) for every type (only having one type here) and for they constitute agent object (proxy objects), sign (ID) value of utilizing them is with their initialization.
Then test agent object (Test Proxy Objects) also carries out initialization.The test agent object constitutes suitable message so that obtain their title (utilizing its ID value) and send it to the communication service (communication server) that is positioned at field controller 104 for this reason, and field controller 104 passes to CmdDispatcher 602 with message.Seek the handleMessage () method that purpose sign (destination IDs) also is sent to this message FunctionalTestMsgHandler object 604 in the portion's mapping within it of this object.For example, if this message (message) is the request that obtains test name, these objects obtain their corresponding test name, and utilize suitable title string (appropriate name strings) to reply the test agent object of (reply) application program.
After initialization is finished, but application program remote access one TestPlan object, and by all two tested objects of this TestPlan object access.The user can press on the application program now, for example, and " Run Test Plan (operation test plan) " button.As a result, the RunTestPlan () method on the application call test plan agent object (test plan proxy object).This method utilizes the purpose sign (ID) of test plan object to constitute the RunTestPlan message, and call remote procedure call and act on behalf of (Remote Procedure Call proxy, RPC proxy) sendMessage () function, this remote procedure call (RPC) agency delivers to field controller with message.
The communication server on the field controller 104 calls the handleMessage () method on the CmdDispatcher object 602, and transmits the sign (ID) of test plan object to it.Seek this sign (ID) in the CmdDispatcher object 602 portion mapping within it, find the mh of TestPlan object and call handleMessage () on this object, and the RunTestPlan () on this object reference TestPlan object.Application program adopts similar method can access the last running status of name and tested object.
The using method of communication pool
Below be to use an example of communication pool 230.
Communication pool 230 is preferably a static library (static library).Application program can be used this communication pool by the CommLibrary.h file.Need the application program of output communication storehouse class should have pretreater definition (preprocessor definitions) as COMMLIBRARY_EXPORTS, COMMLIBRARY_FORCE_LINKAGE, it is by defining except comprising the above-mentioned file that comprises.The application program in input communication storehouse does not need to define any pretreater definition.When communication pool was used as server, application program must be called the static function of following CcmdDispatcher: InitializeServerunsigned long portNo ().
This portNo is the portNo that server should listened to.The command scheduler corresponding with server (command dispatcher) can be retrieved by calling following static function: the getServerCmdDispatcher on the CCmdDispatcher class.
When communication pool was used as client, application program should be called the static function of following CcmdDispatcher:
InitializeClientconst?OFCString?serverAddress,
unsigned?long?serverPortNo,
CcmdDispatcher? **pCmdDispatcher,
OFCString?serverId)
Essential serverAddress and the ServerPortNo of connecting of this client.This function is for client and be connected to the serverId of this client, and initialization command scheduler pointer (commanddispatcher pointer).Also have in the later moment, this client can be by calling the static function getClientCmdDispatcher retrieval command scheduler corresponding with serverId.
When communication pool was compiled, this construction (build) had been excluded outside file ClientInterface.idl and ServerInterface.idl.Preferred embodiment is adopted as counterfoil (stub) and the agents document (proxy files) that these Interface Definition Documents (interface definition files) have been created, and is linked in the same storehouse with counterfoil execute file (stubimplementation files) so that will act on behalf of (proxy).So, the server and client side can be by illustration in same address space.Carry out following change in docking port defined file and the counterfoil file preferably, make communication pool be in identical address space with client as server.
The change of Interface Definition Document
It below is the namaspace declaration (namespacedeclaration) in each Interface Definition Document of preferable adding.Be between the execution of agency's execution function (proxy implementationfunctions) and our interface function, to produce Name Conflict (namecollision) like this.Following namaspace declaration is added into serverInterface.idl
cpp_quote(″#ifdef_cplusplus″)
cpp_quote(″namespace?COMM_SERVER″)
cpp_quote(″{″)
cpp_quote(″#endif′)
cpp_quote(″}″)
Change counterfoil execute file (stub implementation file) thus in function so that call the function of being stated in our the execution function executive's interface, that is, we have corresponding to each the function of difference name in the function of stating in interface.
Conflict in the function call, the preferable title pre-determined constant that will carry out function is " COMM_ " string.Therefore the code in the counterfoil function is changed and call " COMM_functionName " but not " functioname ".
For this method can be come into force, the function class of all existence all should also have its oneself corresponding mh object and proxy class.All mh objects all should be obtained from the IMsgHandler class that communication pool provides.The IMsgHandle class is an abstract class (abstractclass).Be preferably that actuator by mh is responsible for handleMessage, setObjectId, handleError provides a definition.All type of messages all should be since 1 (0 be the handleErro reservation).Function class is preferably has the member variable (member variable) of its oneself corresponding mh as them.In the constructor (constructor) of function class, function class should be by calling the function that mh (message handler) provides and is utilized mh that himself is registered.Next mh object (messagehandler object) should be registered by command scheduler (command dispatcher), this command scheduler is called the addMsgHandler function on it, and is parameter (parameter) with the mh.This addMsgHandler function can be a mh and a function class distribution sign (ID).The destructor of function class (destructor) should identify function class (functionclass identifier) and sends as parameter, thus the removeMsgHandler function on the call instruction scheduler.Proxy class also should be followed the accreditation process identical with above-mentioned function class.
Following CTestPlan class has shown the typical function class according to preferred embodiment of the present invention.
File:-TestPlan.h
Class?CTestPlan
{
private:
unsigned?long?m_Id;
CTestPlanMsgHandler?m_tplMsgHandler;
}
File:-TestPlan.cpp
extern?CcmdDispatcher? *g_pCmdDispatcher;
CTestPlan∷CTestPlan
{
m_tplMsgHandler.setTestPlan(this);
g_pCmdDispatcher.AddMsgHandler(&m_tplMsgHandler)
}
CTestPlan∷~CTestPlan
{
g_pCmdDispatcher.removeMsgHandler(m_Id)
}
This g_pCmdDispatcher object should the initialization by calling by the getCmdDispatcher () that appears of communication dynamic link library (DLL).Following CTestPlanMsgHandler class has shown typical mh (message handler).
File:-TestPlanMsgHandler.h Class CtestPlanMsgHandler:public IMsgHandler { public:setTestPlan (CTestPlan*pTestPlan); SetTestPlanProxy (CTestPlanProxy*pTestPlanProxy); Void handleMessage (unsigned long msgType, unsigned long senderId, unsigned long senderMsgLen, byte*pSenderMsg) void handleSetName (unsigned long senderId, unsigned long senderMsgLen, byte*pSenderMsg); Void handleGetName (unsigned long senderId, unsigned long sanderMsgLen, byte*pSenderMsg); Private:CTestPlan m_pTestPlan; CTestPlanProxy m_pTestPlanProxy; Typedefvoid (CFuncTestMsgHandler ∷ * handlerFn) (unsigned long, unsigned long, byte*); Std ∷ map<int, handlerFn>m_handlers; File:-TestPlanMsgHandler.cpp<!--SIPO<DP n=" 19 "〉--〉<dp n=" d19 "/CTestPlanMsgHandler ∷ CtestPlanMsgHandler m_handlers[HandleError]=handleError; M_handlers[GetName]=handleGetName; M_handlers[SetName]=handleSetName; Void CTestPlanMsgHandler ∷ handleMessage (unsigned long msgType, unsigned long senderId, unsinged long senderMsgLen, byte * pSenderMsg) { if (msgType=0) { handleError (senderId, senderMsgLen, pSenderMsg); Else { handlerFn fn=NULL; HIter_t flter; Flter=m_handlers.find (msgType); If (flter=m_handlers.end ()) { return; Fn=flter-〉second; If (NULL!=fn) (this->* fn) (and senderId, senderMsgLen, pSenderMsg);<!--SIPO<DP n=" 20 "〉--〉<dp n=" d20 "/void CTestPlanMsgHandler ∷ handleSetName (unsigned long senderId, unsigned long senderMsgLen, byte * pSenderMsg) { if (m_pTestPlanProxy!=NULL) { OFCString tplName=ByteToString (senderMsgLen, pSenderMsg) m_pTplProxy-〉setName (tplName); Void CTestPlanMsgHandler ∷ handleGetName (unsigned long senderId, unsigned long senderMsgLen, byte*pSenderMsg) { OFCString testName;=NULL) { unsigned long l_destId unsigned long l_msgType; Unsigned long l_senderId; Unsigned l_senderMsgLen; Byte * l_senderMsg=NULL; An if (m_pTestPlan->getName (testName)!=true) //If a failure has occurred Send error message char*errorString=" Error retrieving name "; L_destId=senderId; L_msgType=HandleError; L_senderId=m_Id;<!--SIPO<DP n=" 21 "〉--〉<dp n=" d21 "/l_senderMsgLen=strlen (errorString); L_senderMsg=StringToByte (errorString); SendMsg (l_destId, l_msgType, l_senderId, l_senderMsgLen, l_senderMsg); Return; L_destId=senderId; L_msgType=SetName; Long l_senderId=m_Id; L_senderMsgLen=testName.lenth (); L_senderMsg=NULL; StringToByte (testName , ﹠amp; Amp; L_senderMsg); SendMsg (l_destId, l_msgType, l_senderId, l_senderMsgLen, l_senderMsg); DELETE_BYTE (l_senderMsg); Void CTestPlanMsgHandler ∷ handleError (unsigned long senderId, unsigned long senderMsgLen, byte * pSenderMsg) { OFCString errorString; ByteToString (senderMsgLen, pSenderMsg, errorString); M_pTestPlanProxy->setError (errorString); Following CTestPlanProxy class shown the surface of a typical proxy class.<!-- SIPO <DP n="22"> -->        <dp n="d22"/>    File:-TestPlanProxy.h    Class CTestPlanProxy    {          CTestPlanProxy(unsigned long serverId);          ~CTestPlanProxy();    private:          CTestPlanProxy();          unsigned long m_Id;          unsigned long m_serverId;          CTestPlanMsgHandler m_tplMsgHandler;    }    File:-TestPlanProxy.cpp    extern CcmdDispatcher *g_pCmdDispatcher;    CTestPlanProxy∷CTestPlanProxy(unsigned long serverId)    {          m_serverId=serverId;          m_tplMsgHandler.setTestPlanProxy(this);          g_pCmdDispatcher.AddMsgHandler(&m_tplMsgHandler)          ///initialize the proxy with its name.          unsigned long msgType;          unsigned long senderMsgLen;          byte*pSenderMsg=NULL;          msgType=GetName;          senderMsgLen=0;          pSenderMsg=NULL;          sendMsg(m_clientId,        <!-- SIPO <DP n="23"> -->        <dp n="d23"/>                                  msgType,                                  m_Id,                                  senderMsgLen,                                          pSenderMsg);                   //Check if the error string has been set by the message handler.                   if(m_errorString.length()!=0)                   {                        OFCString errorString=m_errorString;                        m_errorString=″″;                        throw exception(errorString.c_str());                   }            }            CTestPlanProxy∷~CTestPlanProxy            {                   g_pCmdDispatcher.removeMsgHandler(m_Id)            }                   The g_pCmdDispatcher object should be initialized by calling       getCmdDispatcher().
This g_pCmdDispatcher object should be initialised by calling getCmdDispatcher ().
System configuration and test
Fig. 8 is the nominal cycle tests 800 (nominal testingsequence) according to one embodiment of the invention.Cycle tests 800 is included in the installation 802 (installation) of the module in the test environment 804 (test environment), and it comprises test and prepares 806 (testpreparation) and system testing 808 (system testing).At first, new module 810 (hardware or software, or its combination) is verified 812 (certification) (may be based on the external program of supplier's quality control by some).Installing 802 at first requires test to prepare 806, it comprises to the installation of the hardware module emulation that is used for off-line simulation 810 (offlines imulation) (HW EmulationModule), to the installation of the module source file (module resource files) that is used for test procedure research and development 812 (test program development) and interface (interface) with to being used for the installation that pattern compiles the special module pattern compiler (modulespecific pattern complier) of 814 (pattern compilation).Then, come executive system test 808 (system testing) by the input that comes self calibration 816 (calibration), diagnosis 818 (diagnostics) and configuration 320 (configuration).Then,, comprising new module executive system test 808: the control of (1) interface, (2) synchronously, sequencing and repeatability, (3) mistake/warning is handled, (4) many field controls and (5) multiplex's tool module controls.
The above, it only is preferred embodiment of the present invention, be not that the present invention is done any pro forma restriction, though the present invention discloses as above with preferred embodiment, yet be not in order to limit the present invention, any those skilled in the art, in not breaking away from the technical solution of the present invention scope, when the technology contents that can utilize above-mentioned announcement is made a little change or is modified to the equivalent embodiment of equivalent variations, but every content that does not break away from technical solution of the present invention, according to technical spirit of the present invention to any simple modification that above embodiment did, equivalent variations and modification all still belong in the scope of technical solution of the present invention.

Claims (24)

1, a kind of distributed operating system that is used for testing the semiconductor test system of at least one detected element (DUT) is characterized in that this operating system comprises:
One master operating system, it is by the control of system controller realization at least one field controller; With
At least one local operation system, it is related with each field controller, is used for by the control of a field controller realization that is associated at least one test module, and wherein at least one test module is carried out test to the detected element of a correspondence.
2, distributed operating system according to claim 1 is characterized in that wherein said master operating system is synchronous with the operation of described at least one field controller.
3, distributed operating system according to claim 1 is characterized in that wherein said master operating system arbitrates the communication between described system controller and described at least one field controller.
4, distributed operating system according to claim 1 is characterized in that wherein said system controller monitors the operation of described at least one field controller.
5, distributed operating system according to claim 1 is characterized in that wherein the operation of a field controller pair described at least one test module that is associated with described field controller is monitored.
6, distributed operating system according to claim 1 is characterized in that wherein said master operating system comprises at least one main interface, and it is used for communicating with described at least one field controller.
7, distributed operating system according to claim 6 is characterized in that wherein said at least one main interface is used for and at least one test module of being associated with a field controller communicates.
8, distributed operating system according to claim 1, it is characterized in that it also comprises a test module interface, this test module interface is used for defining the test module function so that a field controller is connected to one first test module, wherein said test module interface is extendible so that described field controller is connected to one second test module, can not be enough to described field controller is connected with described second test module without the test module interface of expanding.
9, distributed operating system according to claim 1 is characterized in that wherein said master operating system comprises at least one main frame class.
10, distributed operating system according to claim 9, it is characterized in that wherein said at least one main frame class is to adopt the standard computer language development, so that the user can be developed be used to control the vertical application class of described at least one field controller.
11, distributed operating system according to claim 10 is characterized in that wherein said standard computer language is C or C Plus Plus.
12, distributed operating system according to claim 1 is characterized in that wherein each local operation system all comprises at least one local frame clsss.
13, distributed operating system according to claim 12, it is characterized in that wherein said at least one local frame clsss is to adopt the standard computer language development, so that the user can be developed be used to control the vertical application class of described at least one test module.
14, distributed operating system according to claim 13 is characterized in that wherein said standard computer language is C or C Plus Plus.
15, distributed operating system according to claim 1 is characterized in that wherein the quantity by the described module of each field controller control is scalable.
16, distributed operating system according to claim 1, the described local operation system that it is characterized in that wherein corresponding with one field controller is associated make the type of the described test module of described field controller control can be by configuration again.
17, distributed operating system according to claim 1 is characterized in that wherein said master operating system makes the quantity of the described field controller of described system controller control can be scaled.
18, distributed operating system according to claim 1 is characterized in that wherein said master operating system makes the quantity of the described DUT (detected element) of described test system and test can be scaled.
19, distributed operating system according to claim 1 is characterized in that wherein said at least one test module comprises hardware and/or software.
20. distributed operating system according to claim 1 is characterized in that also comprising an emulator, it is used for simulating the use of candidate's test module in test macro, so that verify described candidate block and described test macro compatibility.
21, distributed operating system according to claim 1, the configuration of first pack module that it is characterized in that wherein being positioned at one first test site is different with the configuration of second pack module that is positioned at one second test site.
22, distributed operating system according to claim 1, it is characterized in that one first test site has first configuration that is used to test one first detected element, and one second test site has second configuration that is used to test one second detected element, wherein said first and second test site can alternatively be tested one the 3rd detected element so that form one the 3rd test site jointly by configuration again.
23, distributed operating system according to claim 1 is characterized in that wherein first module that is positioned at first test site can access one be positioned at second module in a secondary scene.
24, distributed operating system according to claim 1 is characterized in that also comprising a communication pool, and it has one group of predetermined function and interface of being used for test module.
CNB2004800099204A 2003-02-14 2004-02-16 Method and apparatus for testing integrated circuits Expired - Fee Related CN100456043C (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US44783903P 2003-02-14 2003-02-14
US60/447,839 2003-02-14
US60/449,622 2003-02-24
US10/404,002 2003-03-31
US10/403,817 2003-03-31

Publications (2)

Publication Number Publication Date
CN1774642A true CN1774642A (en) 2006-05-17
CN100456043C CN100456043C (en) 2009-01-28

Family

ID=36760942

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800099204A Expired - Fee Related CN100456043C (en) 2003-02-14 2004-02-16 Method and apparatus for testing integrated circuits

Country Status (1)

Country Link
CN (1) CN100456043C (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102466775A (en) * 2010-11-17 2012-05-23 益明精密科技有限公司 Multifunctional testing device for convertible module
CN102866348A (en) * 2012-09-23 2013-01-09 成都市中州半导体科技有限公司 Integrated circuit test data query system and integrated circuit test data query method
CN103675514A (en) * 2012-09-12 2014-03-26 株式会社日立制作所 Logic circuit and control apparatus using the same
US9032384B2 (en) 2006-07-10 2015-05-12 Bin1 Ate, Llc System and method for performing processing in a testing system
CN107478933A (en) * 2017-08-23 2017-12-15 北京电子工程总体研究所 A kind of distributed test system based on CompactRIO and fiber optic network
CN109143038A (en) * 2018-09-25 2019-01-04 珠海欧比特宇航科技股份有限公司 A kind of the ATE test method and device of S698-T chip
CN109522229A (en) * 2018-11-15 2019-03-26 四川九州电子科技股份有限公司 A kind of high-efficient automatic test macro and its test method
CN109752641A (en) * 2018-12-21 2019-05-14 深圳市科陆电子科技股份有限公司 A kind of method, apparatus, equipment and the storage medium of batch testing Devices to test
CN112074747A (en) * 2018-05-10 2020-12-11 泰瑞达公司 Bus synchronization system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182258B1 (en) * 1997-06-03 2001-01-30 Verisity Ltd. Method and apparatus for test generation during circuit design
US6028439A (en) * 1997-10-31 2000-02-22 Credence Systems Corporation Modular integrated circuit tester with distributed synchronization and control
KR20010112250A (en) * 1999-01-21 2001-12-20 추후제출 A system and method for testing and validating devices having an embedded operating system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032384B2 (en) 2006-07-10 2015-05-12 Bin1 Ate, Llc System and method for performing processing in a testing system
CN102466775A (en) * 2010-11-17 2012-05-23 益明精密科技有限公司 Multifunctional testing device for convertible module
CN103675514A (en) * 2012-09-12 2014-03-26 株式会社日立制作所 Logic circuit and control apparatus using the same
CN102866348A (en) * 2012-09-23 2013-01-09 成都市中州半导体科技有限公司 Integrated circuit test data query system and integrated circuit test data query method
CN107478933A (en) * 2017-08-23 2017-12-15 北京电子工程总体研究所 A kind of distributed test system based on CompactRIO and fiber optic network
CN112074747A (en) * 2018-05-10 2020-12-11 泰瑞达公司 Bus synchronization system
CN109143038A (en) * 2018-09-25 2019-01-04 珠海欧比特宇航科技股份有限公司 A kind of the ATE test method and device of S698-T chip
CN109522229A (en) * 2018-11-15 2019-03-26 四川九州电子科技股份有限公司 A kind of high-efficient automatic test macro and its test method
CN109522229B (en) * 2018-11-15 2021-08-17 四川九州电子科技股份有限公司 Testing method of efficient automatic testing system
CN109752641A (en) * 2018-12-21 2019-05-14 深圳市科陆电子科技股份有限公司 A kind of method, apparatus, equipment and the storage medium of batch testing Devices to test

Also Published As

Publication number Publication date
CN100456043C (en) 2009-01-28

Similar Documents

Publication Publication Date Title
US7437261B2 (en) Method and apparatus for testing integrated circuits
EP1592975B1 (en) Method and apparatus for testing integrated circuits
EP1767955B1 (en) Test apparatus
CN100541218C (en) Exploitation is used for the method and structure of the test procedure of SIC (semiconductor integrated circuit)
US7809520B2 (en) Test equipment, method for loading test plan and program product
JP3911007B1 (en) Method and system for simulating a modular test system
JP2006518460A5 (en)
EP1756603B1 (en) Method and system for controlling interchangeable components in a modular test system
JP4608516B2 (en) Method for integrating test modules into a modular test system and modular test system
US20100023294A1 (en) Automated test system and method
JP2009116876A (en) Simulation system and method for test device, and program product
JP2009116878A (en) Simulation system and method for test device, and program product
JP2007057541A (en) Test emulator
CN1774642A (en) Method and apparatus for testing integrated circuits
TWI287639B (en) A distributed operating system for a semiconductor test system for testing at least one device under test
JP2009229304A (en) Test system and module control method
JP2005285092A (en) Test emulation apparatus
Rajsuman et al. Open architecture test system: System architecture and design
Ibrahim et al. Dars: An eda framework for reliability and functional safety management of system-on-chips
JP2009229305A (en) Test system, and communication method between modules

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090128

Termination date: 20140216