CN100489554C - 测试装置与测试模拟方法 - Google Patents

测试装置与测试模拟方法 Download PDF

Info

Publication number
CN100489554C
CN100489554C CNB2004800084143A CN200480008414A CN100489554C CN 100489554 C CN100489554 C CN 100489554C CN B2004800084143 A CNB2004800084143 A CN B2004800084143A CN 200480008414 A CN200480008414 A CN 200480008414A CN 100489554 C CN100489554 C CN 100489554C
Authority
CN
China
Prior art keywords
test
module
simulation
timing time
test signal
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
CNB2004800084143A
Other languages
English (en)
Other versions
CN1768275A (zh
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 CN1768275A publication Critical patent/CN1768275A/zh
Application granted granted Critical
Publication of CN100489554C publication Critical patent/CN100489554C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31907Modular tester, e.g. controlling and coordinating instruments in a bus based architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种测试装置,其具有对依据不同循环周期生成测试信号用的所述数个测试模组实施模拟的数个测试模组模拟部;使所述数个测试模组模拟部模拟生成的循环时间相对应的测试信号的测试信号生成用计时时间实施生成的同步模拟部;对所述同步模拟部生成出的数个所述测试信号生成用计时时间,按时间顺序进行排列并实施依次输出用的计时时间排列部;以及使与所述计时时间排列部输出的一个所述测试信号生成用计时时间相对应的所述测试模组模拟部分,在与该一个测试信号生成用计时时间相对应的循环时间里模拟生成测试信号用的进度安排部。

Description

测试装置与测试模拟方法
技术领域
本发明涉及一种测试装置、测试模组模拟装置(模组即为模块,以下均称为模组)、以及记录相应程式用的记录媒体(程式即为程序,以下均称为程序),特别是涉及一种可以分别向被测试元件供给测试信号,对具有可实施交换的数个测试模组的测试装置实施模拟,从而可以在不使用被测试元件和测试模组等实物的条件下对测试环境实施验证的测试装置、测试模组模拟装置、以及记录相应程式用的记录媒体。
对于认定下述参考文献的指定国家,下述申请所记载的内容是以引用方式组合在本申请中而构成为本申请的组成部分:
美国专利申请号10/404002,申请日2003年3月31日;
美国专利申请号10/403817,申请日2003年3月31日;
国际专利申请号PCT/JP2004/001649,申请日2004年2月16日;
国际专利申请PCT/JP2004/001648,申请日2004年2月16日。
背景技术
能够不使用被测试元件和测试模组等实物对测试环境实施验证的一些在先技术,已经由日本特开平10-320229号公报、日本特开2000-267881号公报、日本特开2001-51025号公报、日本特开2001-134457号公报、日本特开2003-333469号公报所公开。
日本特开平10-320229号公报公开的是一种具有对半导体测试装置中各硬件组件的功能实施模拟的各模拟组件,对DUT的功能实施模拟的元件模拟部,依据测试程式由各模拟组件处对测试程式运行所需要的数据实施收集用的组件,以及依据所收集到的数据使元件模拟部产生测试信号、并且对与元件模拟部给出的结果信号进行比较的结果实施储存的元件测试模拟部的模拟装置。
日本特开2000-267881号公报公开的是一种能够可靠地对随DUT内部阻抗变化的电压值、电流值实施模拟的半导体模拟装置。
日本特开2001-51025号公报公开的是一种具有对半导体测试装置的动作实施模拟的测试模拟组件,依据硬件描述语言对DUT实施模拟的硬件描述语言模拟组件,以及依据DUT的模拟结果对半导体测试用程式实施调试的调试组件的半导体测试用程式调试装置。
日本特开2001-134457号公报公开的是一种可以在模拟半导体测试装置的动作时,高速生成出与各接脚相对应的波形数据的半导体测试用程式调试装置。
日本特开2002-333469号公报公开的是一种对按照具有模拟输出端子的半导体调试方式制作的半导体测试用程式,实施验证的半导体测试用程式调试装置。
如上所述的测试装置的模拟装置,主要是由测试装置销售方独自开发出的软件建构实现的测试装置。然而在另一方面,技术人员所希望的测试装置应该是一种能够通过开放型软件建构实现的测试装置,并且希望能够有一种可以对不同销售方开发出的模组实施组合以构成测试装置的适当方式,从而能够对混合使用各种模组的测试装置实施适当模拟的模拟装置。
发明内容
本发明的目的在于,提供一种新的测试装置、测试模组模拟装置以及记录此程式的记录媒体,所要解决的技术问题是使其解决上述现有技术中存在的问题,从而更加适于实用。
为了能够实现这些目的,本发明提供的第一构成形式是一种对具有将测试信号分别供给至被测试元件的数个测试模组的测试装置实施模拟的测试装置,并且可以具有对依据不同循环周期生成测试信号用的所述数个测试模组实施模拟的数个测试模组模拟部;对控制所述被测试元件的测试用的控制装置实施模拟的控制模拟部;依据所述控制模拟部给出的指令,使所述数个测试模组模拟部,分别对模拟生成与该测试模组模拟部的循环时间相对应的测试信号的测试信号生成用计时时间实施生成的同步模拟部;对所述同步模拟部生成出的数个所述测试信号生成用计时时间,按时间顺序进行排列并实施依次输出用的计时时间排列部;以及使与所述计时时间排列部输出的一个所述测试信号生成用计时时间相对应的所述测试模组模拟部,在与该一个测试信号生成用计时时间相对应的循环时间里模拟生成测试信号用的进度安排部。
而且,这种测试装置还可以使所述同步模拟部进一步使数个所述测试模组模拟部,在与所述测试信号生成用计时时间相对应的循环时间里模拟实施测试信号的生成操作,对相对所述控制装置的中断信号实施收集用的中断信号收集用计时时间;所述计时时间排列部对数个所述测试信号生成用计时时间和数个所述中断信号收集用计时时间,按时间顺序进行排列并实施依次输出;所述进度安排部对于所述计时时间排列部输出有一个所述中断信号收集用计时时间的场合,使与该中断信号收集用计时时间相对应的所述测试模组模拟部,将在该中断信号收集用计时时间之前由该测试模组模拟部生成测试信号的循环时间里模拟产生的所述中断信号,通知至所对应的所述测试模组模拟部,将在该中断信号收集用计时时间之前由该测试模组模拟部生成测试信号的循环时间里模拟产生的所述中断信号,通知至所述控制模拟部处。
而且,这种测试模拟装置还可以进一步使所述数个测试模组模拟部,分别在与所述测试信号生成用计时时间相对应的循环时间里生成测试信号的过程中,对该循环时间里的测试信号变化用计时时间实施生成;该测试模拟部还进一步具有获取通过所述数个测试模组模拟部生成出的数个所述变化用计时时间用的,依据所述数个变化用计时时间使测试信号按时间顺序依次产生模拟变化的被测试元件连接部。
而且,这种测试模拟装置还可以进一步使所述被测试元件连接部将由所述数个测试模组模拟部获得的数个所述变化用计时时间供给至所述计时时间排列部;所述计时时间排列部将所述数个变化用计时时间,所述数个测试信号生成用计时时间和所述数个中断信号收集用计时时间,按时间顺序进行排列并实施依次输出;所述进度安排部对于所述计时时间排列部输出有一个所述变化用计时时间的场合,在所述被测试元件连接部处使该变化用计时时间内的测试信号产生模拟变化。
而且,这种测试模拟装置还可以进一步使所述数个测试模组模拟部,分别在与所述测试信号生成用计时时间相对应的循环时间里测试信号生成的过程中,分别将表示该循环时间结束用的循环结束用计时时间通知至所述同步模拟部;所述同步模拟部依据由所述数个测试模组模拟部分别通知来的所述循环结束用计时时间,对与该测试模组模拟部模拟生成下一循环时间相对应的测试信号的所述测试信号生成用计时时间实施生成。
而且,这种测试模拟装置还可以进一步在与下一循环时间相对应的所述测试信号生成用计时时间输出至所述计时时间排列部处的场合中,使所述进度安排部在该测试信号生成用计时时间之前的循环时间里生成测试信号的过程中,将与该测试信号生成用计时时间相对应的所述测试模组模拟部模拟生成的中断信号,通知至所述控制模拟部处。
而且,这种测试模拟装置还可以进一步使所述数个测试模组模拟部,分别通过由电脑运行与该测试模组模拟部相对应的测试模组模拟程式的方式实现;所述测试模组模拟程式可以具有按照使所述测试模组与分别由所述控制装置接收到的数个指令分别相对应的方式设置的,对与该指令相对应所述测试模组的动作实施模拟用的数个硬件模拟函数;以及使所述进度安排部在与所述测试信号生成用计时时间相对应的循环时间里对测试信号实施生成用的控制函数。
本发明提供的第二构成形式是一种对使电脑具有作为对包括将测试信号分别供给至被测试元件的数个测试模组的测试装置实施模拟的测试模拟装置使用的功能的程式实施记录用的记录媒体,其中所述程式使所述电脑可以具有作为下述组件使用的功能:对依据不同循环周期生成测试信号用的所述数个测试模组实施模拟的数个测试模组模拟部;对控制所述被测试元件的测试用的控制装置实施模拟的控制模拟部;依据所述控制模拟部给出的指令,使所述数个测试模组模拟部分别对模拟生成与该测试模组模拟部的循环时间相对应的测试信号的测试信号生成用计时时间实施生成的同步模拟部;对所述同步模拟部生成出的数个所述测试信号生成用计时时间,按时间顺序进行排列并实施依次输出用的计时时间排列部;以及使与所述计时时间排列部输出的一个所述测试信号生成用计时时间相对应的所述测试模组模拟部,在与该一个测试信号生成用计时时间相对应的循环时间里模拟生成测试信号用的进度安排部。
本发明提供的第三构成形式是一种在对具有依据不同循环周期,将测试信号分别供给至被测试元件的数个测试模组的测试装置实施模拟的测试模拟装置中,对一个所述测试模组实施模拟的测试模组模拟装置,其中所述测试模拟装置可以具有对控制所述被测试元件的测试用的控制装置实施模拟的控制模拟部;依据所述控制模拟部给出的指令,使所述数个测试模组分别对模拟生成与该测试模组的循环时间相对应的测试信号的测试信号生成用计时时间实施生成的同步模拟部;对所述同步模拟部生成出的数个所述测试信号生成用计时时间,按时间顺序进行排列并实施依次输出用的计时时间排列部;以及向与所述计时时间排列部输出的一个所述测试信号生成用计时时间相对应的所述测试模组模拟装置,发出在与该一个测试信号生成用计时时间相对应的循环时间里模拟生成测试信号用的指令的进度安排部;而且该测试模组模拟装置可以具有依据所述进度安排部给出的指令,在与所述一个测试信号生成用计时时间相对应的循环时间里模拟生成测试信号用的测试图案发生器模拟部。
而且,这种测试模组模拟装置还可以进一步具有将与所述一个测试信号生成用计时时间相对应的、表示循环结束用的循环结束用计时时间通知至同步模拟部,使所述同步模拟部依据所述循环结束用计时时间,对该测试模组模拟装置的下一测试信号实施模拟生成用的所述测试信号生成用计时时间实施再次生成的测试模组接口模拟部。
本发明提供的第四构成形式是一种在依据不同循环周期,对具有将测试信号分别供给至被测试元件的数个测试模组的测试装置实施模拟的测试模拟装置中,使电脑具有作为对一个所述测试模组实施模拟的测试模组模拟装置使用的功能的程式实施记录用的记录媒体,其中所述测试模拟装置可以具有对控制所述被测试元件的测试用的控制装置实施模拟的控制模拟部;依据所述控制模拟部给出的指令,使所述数个测试模组分别对模拟生成与该测试模组的循环时间相对应的测试信号的测试信号生成用计时时间实施生成的同步模拟部;对所述同步模拟部生成出的数个所述测试信号生成用计时时间,按时间顺序进行排列并实施依次输出用的计时时间排列部;以及向与所述计时时间排列部输出的一个所述测试信号生成用计时时间相对应的所述测试模组模拟装置,发出在与该一个测试信号生成用计时时间相对应的循环时间里模拟生成测试信号用的指令的进度安排部;而且所述程式使所述电脑可以具有作为依据所述进度安排部给出的指令,在与所述一个测试信号生成用计时时间相对应的循环时间里模拟生成测试信号用的测试图案发生器模拟部使用的功能。
本发明提供的第五构成形式是一种具有将测试信号供给至被测试元件的测试模组的测试装置,可以具有对所述被测试元件的测试实施控制的控制装置;依据循环周期对测试信号实施生成用的测试模组;对所述测试模组实施模拟的测试模组模拟部;而且所述控制装置对实施所述被测试元件的实际测试或模拟测试用的指令实施输入;对于接收到对所述被测试元件实施实际测试用的指令的场合,将实施被测试元件的测试用的测试程式供给至所述测试模组,通过所述测试模组进行所述被测试元件的测试,对于接收到对所述被测试元件实施模拟测试用的指令的场合,将所述测试程式供给至所述测试模组模拟部,通过所述测试模组模拟部进行所述被测试元件的测试。
而且,这种测试装置还可以进一步使所述控制装置运行在该控制装置与所述测试模组间进行通信处理的通信软件;所述通信软件与所述控制装置协调动作,依据包括呼叫所述通信软件初始化程式用的所述指令,对将所述测试程式供给至所述测试模组还是所述测试模组模拟部实施判断。
本发明提供的第六构成形式是一种对具有将测试信号供给至被测试元件的数个测试模组的测试装置实施模拟的测试模拟装置,可以具有对依据循环周期生成测试信号的所述数个测试模组实施模拟的数个测试模组模拟部;对控制所述被测试元件的测试用的控制装置实施模拟的控制模拟部;以及使所述数个测试模组模拟部,对与循环时间相对应的模拟生成测试信号用的测试信号生成用计时时间实施进度安排的进度安排部;而且所述测试模组模拟部对呼叫函数用的所述测试信号生成用计时时间的相关信息实施接收,将与该测试信号生成用计时时间相对应的循环时间里测试信号的电压变化,通过数次呼叫对输出通道实施模拟的输出通道对象的电压设定方法的方式实施输出;当与该循环时间相对应的测试信号电压变化输出结束之后,通过呼叫所述输出通道对象的结束方法的方式,对与该循环时间相对应的测试信号电压变化输出结束的信息实施通知。
而且,这种测试模拟装置还可以进一步使所述进度安排部依据由所述数个测试模组模拟部分别给出的所述结束方法,对由全部所述测试模组模拟部结束测试信号电压变化输出的时间实施计算;而且还可以进一步具有获取所述期间内的所述测试信号,并且依据该测试信号对被测试元件在所述期间内的动作实施模拟的被测试元件模拟部。
而且,这种测试模拟装置还可以进一步使所述输出通道对象在对所述结束方法的呼叫实施接收之后,禁止由该结束方法给出的、在测试信号电压变化输出结束之后的期间里的电压变化。
而且,上述的发明仅仅是以例举形式给出了本发明的全部必要特征,然而对这些特征组的不完全组合形成也属于本发明。
经由上述可知,本发明是有关于一种对具有将测试信号分别供给至被测试元件的数个测试模组的测试装置实施模拟的测试模拟装置,其可以具有对依据不同循环周期生成测试信号用的所述数个测试模组实施模拟的数个测试模组模拟部;对控制所述被测试元件的测试用的控制装置实施模拟的控制模拟部;依据所述控制模拟部给出的指令,使所述数个测试模组模拟部分别对模拟生成与该测试模组模拟部分的循环时间相对应的测试信号的测试信号生成用计时时间实施生成的同步模拟部;对所述同步模拟部生成出的数个所述测试信号生成用计时时间,按时间顺序进行排列并实施依次输出用的计时时间排列部;以及使与所述计时时间排列部输出的一个所述测试信号生成用计时时间相对应的所述测试模组模拟部分,在与该一个测试信号生成用计时时间相对应的循环时间里模拟生成测试信号用的进度安排部。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为表示作为本发明一种实施形式的测试装置10的构成形式用的示意图。
图2为表示作为本发明一种实施形式的测试模拟装置190的功能构成用的示意图。
图3为表示作为本发明一种实施形式的电脑20的一个硬件构成实例用的示意图。
图4为表示作为本发明一种实施形式的测试模组模拟部270的功能构成用的示意图。
图5为表示作为本发明一种实施形式的软件类层分级建构500的一个实例用的示意图。
图6为表示作为本发明一种实施形式的测试模拟装置190的测试信号生成处理程式用的示意图。
图7为表示由作为本发明一种实施形式的测试模拟装置190模拟生成的一个测试信号实例用的示意图。
图8为表示使用在本发明一种实施形式中的软件结构用的示意图。
图9为表示使用在本发明一种实施形式中的一个测试类层用的示意图。
图10为表示作为本发明一种实施形式的、测试***与由不同销售方提供的模组源程式间相互作用的统一建模语言(UML)示意图表。
图11为表示通过站点控制部保持着的、对使用者的检测实施管理用的站点控制对象的一种实施形式的示意图。
图12为表示如图11所示的站点控制对象用的***控制部侧的对象代理的一种实施形式用的示意图。
图13为表示作为本发明一种实施形式的测试环境用的示意图。
图14为表示作为本发明一种实施形式的模拟配置档案的一个实例用的第一示意图。
图15为表示作为本发明一种实施形式的模拟配置档案的一个实例用的第二示意图。
图16为表示作为本发明一种实施形式的离线配置档案的一个实例用的第一示意图。
图17为表示作为本发明一种实施形式的离线配置档案的一个实例用的第二示意图。
图18为表示作为本发明一种实施形式的软件类层分级建构5200的一个实例用的示意图。
图19表示的是作为本发明一种实施形式的通道对象的使用图表。
图20表示的是作为本发明一种实施形式的事件对象的式样图表。
图21为表示作为本发明一种实施形式的数字模组的基本类层的一个实例用的示意图。
图22为表示作为本发明一种实施形式的数字驱动模组的类层说明部分的一个实例用的示意图。
图23为表示作为本发明一种实施形式的数字驱动模组的handlerEvent方法的一个实例用的示意图。
图24为表示作为本发明一种实施形式的数字选通模组的类层说明部分的一个实例用的示意图。
图25为表示作为本发明一种实施形式的数字选通模组的handlerEvent方法的一个实例用的示意图。
图26为表示作为本发明一种实施形式的DUT模型的类层定义的一个实例用的示意图。
图27为表示作为本发明一种实施形式的DUT模型的run方法的一个实例用的示意图。
图28(a)、28(b)为表示实际环境6000和模拟环境6050中***总线存取程式库6014的位置分布用的示意图。
110:***控制装置                190:测试模拟装置
120:通信网络                    130a:站点控制装置
130b:站点控制装置               130c:站点控制装置
140:总线开关                    150a:同步模组
160a:同步连接模组               170a:测试模组
170a:测试模组                   150b:同步模组
160b:同步连接模组               170b:测试模组
180载入板                        200:DUT模拟部
230:站点控制模拟部              240:总线开关模拟部
250:同步模组模拟部              260:同步连接模组模拟部
270:测试模组模拟部              275:进度安排控制部
276:计时时间排列部              277:进度安排部
280:DUT连接部                   330:通信I/F
340:硬盘驱动部                  350:FD驱动部
360:CD-ROM驱动部                400:测试模组接口模拟部
410:控制函数处理部              420:计算机字DB
430:测试图案发生器模拟部        440:波形整形器模拟部
450:接脚控制模拟部              460:参数测定模拟部
510:模拟组成部分                520:A公司模组
530:B公司模组                   540:数字测试模组
560:电源模组                    590:同步模组
550:250MHz数字测试模组          570:高电压电源模组
580:低电压电源模组              2226:工具部
2225:工具部                     2224:软件框架类层
2220:***控制部                 2222:标准接口
2230:通信程式库                 2242:使用者测试计划部
2243:使用者检测类层             2244:标准检测类层
2246:软件框架类层               2245:标准接口
2247:模组电位用接口             2248:模组指令执行部
2249:背板通信程式库             2250:PCI背板驱动部分
2282:背板模拟部                  2261:HW背板
2283:背板模拟IF                  2262:机壳插槽IF
2284:模组模拟部                  2263:模组硬件部
2285:载入板模拟IF                2264:载入板硬件IF
2280:SW中的模组模拟部            2286:载入板模拟部
2265:硬件载入板                  2287:DUT模拟用IF
2293:DUT VERILOG模型             2291:DUTC/C++模型
2281:模拟软件框架部              2290:接口
2292:使用者                      2294:***
2296:模组开发                    2298:外部
2608:“接口”IMsgHandler         2610:“接口”ITest
2714:公共应用部分Application     2712:“接口”IDispatch
2708:“接口”IMsgHandler         2710:“接口”ITestClient
2804:测试环境部                  2817:校正部
2818:诊断部                      2820:构成部
2806:测试准备部                  2816:测试图案编译部
2814:测试程式展开部              2809:离线模拟部
HW:模拟模组                      2808:***测试部
2815:安装部                      2810:新的HW或SW模组
2812:认证部                      6000:站点CPU上的软件
6014:***总线存取程式库          6016:PCI总线驱动部
6032:总线IF                      140:总线开关
150、160、170:各种模组           6050:站点CPU上的离线处理程式
6014:***总线存取程式库          6080:测试装置模拟处理器
6084:***总线模拟器              6086:模组模拟器
S600:通知测试信号生成用计时时间
S605:通知循环开始                S610:产生循环时间的测试信号
S615:登录对测试信号变化用计时时间
S620:通知循环结束用计时时间
S625:对下一测试信号生成用计时时间、测试结果收集用计时时间、循环结束处理计时时间、中断信号收集用计时时间实施登录,
S630:通知变化用计时时间           S635:生成测试信号,获取结果信号
S640:通知测试结果收集用计时时间
S645:测试结果收集、配送           S650:通知循环结束用计时时间
S655:通知中断信号收集用计时时间
S660:完成?
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的测试模拟装置、测试模组模拟装置以及记录此程式的记录媒体其具体实施方式、结构、特征及其功效,详细说明如后。
下面参考附图,对本发明的一种实施形式进行说明。
图1为表示作为本发明一种实施形式的测试装置10的构成形式用的示意图。测试装置10可以将生成出的测试信号供给至DUT100(Device UnderTest;被测试元件),并且可以按照作为DUT100依据测试信号动作的结果输出的结果信号,是否与期待值一致的方式,判断该DUT100运行是否良好。作为本实施形式的测试装置10,可以通过开放型软件建构实现,向DUT100供给测试信号的测试模组170等等,可以采用基于开放型软件建构构成的各种模组。而且,测试装置10还可以具有对DUT100的实际测试实施模拟用的测试模拟装置190,通过该测试模拟装置190,可以按照与实际测试使用的测试模组170等等的变更相对应的方式适当改变其构成,从而可以提供出能够对DUT100的实际测试环境进行适当模拟的模拟环境。
测试装置10可以具有***控制装置110,通信网络120,站点(site)控制装置130a~130c,总线开关140,同步模组150a~150b,同步连接模组160a~160b,测试模组170a~170b,载入板180和测试模拟装置190,并且可以与DUT100a~100b相连接。
***控制装置110可以通过外部网络等等,对测试装置10进行DUT100a~100b用的测试控制程式、测试程式、测试数据等等实施信号接收和储存。通信网络120与***控制装置110、站点控制装置130a~130c和测试模拟装置190间相连接,从而可以在这些部件间实施通信连接。
站点控制装置130a~130c是根据本发明构造的一个控制装置实例,用于对DUT100的测试进行控制。在这儿,可以采用数个站点控制装置130,分别对一个DUT100的测试进行控制。如果举例来说,可以如图1所示,站点控制装置130a对DUT100a的测试进行控制,站点控制装置130b对DUT100b的测试进行控制。而且,也可以采用数个站点控制装置130,分别对数个DUT100的测试进行控制。
如果更具体的讲就是,站点控制装置130可以通过通信网络120,由***控制装置110处获取到测试控制程式。随后,站点控制装置130可以依据该测试控制程式,由***控制装置110处获取出实施DUT100测试用的测试程式和测试数据,并且通过总线开关140将其储存在实施该DUT100测试用的、诸如同步模组150和一个或数个测试模组170等等的模组处。站点控制装置130可以依据测试程式和测试数据开始进行测试,通过总线开关140向同步模组150发出指令信号。而且,站点控制装置130在由诸如同步模组150等处接收到表示测试结束的中断信号时,还可以依据测试结果在各模组处进行下一测试。
总线开关140分别将数个站点控制装置130,与控制该站点控制装置130用的同步模组150和一个或数个测试模组170相互连接,从而可以在这些部件间实施通信连接。在这儿,预先确定的一个站点控制装置130,可以依据测试装置10的使用者和测试控制程式等给出的指令,对总线开关140实施设定,以便使总线开关140能够将数个站点控制装置130,分别与由该站点控制装置130进行DUT100的测试用的同步模组150和一个以上的测试模组170相互连接。如果举例来说,在图1中的站点控制装置130a,可以按照与同步模组150a和数个测试模组170a相互连接的方式进行设定,从而可以利用这些部件进行DUT100a的测试。而且,站点控制装置130b可以按照与同步模组150b和数个测试模组170b相互连接的方式进行设定,从而可以利用这些部件进行DUT100b的测试。
在这儿,站点控制装置130b使用同步模组150b、同步连接模组160b、一个或数个测试模组170b进行DUT100b测试所需要的构成形式和动作方式,与站点控制装置130a使用同步模组150a、同步连接模组160a、一个或数个测试模组170a进行DUT100a测试所需要的构成形式和动作方式大体相同,其不同点仅如下所述,所以在这儿主要对使用站点控制装置130a对DUT100a进行测试所需要的构成形式和动作方式进行说明。
同步模组150a可以依据站点控制装置130a给出的指令,按照由进行DUT100a的测试使用的测试模组170a生成测试信号的方式,对测试信号生成用计时时间实施生成。而且,同步模组150a还通过同步连接模组160a,对由一个或数个测试模组170a给出的测试结果实施信号接收,并且通过一个或数个测试模组170a运行与测试结果是否良好相对应的测试程式的进度安排程式。
同步连接模组160a将由同步模组150a生成出的测试信号生成用计时时间,通知至实施与该测试信号生成用计时时间相应动作的测试模组170a处,从而可以使一个或数个测试模组170a按照指定的计时时间值动作。同步连接模组160a还对由一个或数个测试模组170a给出的测试结果实施信号接收,并将其通知至同步模组150a处。
数个测试模组170a分别与具有DUT100a的数个端子中的一部分进行连接,通过站点控制装置130a依据所储存的测试程式和测试数据进行对DUT100a的测试。在DUT100a的测试过程中,测试模组170a可以依据由测试程式确定的进度安排,由测试数据生成出测试信号,并且将测试信号供给至与测试模组170a相连接的DUT100a的端子处。随后,测试模组170a将DUT100a依据测试信号实施动作的结果输出,作为结果信号实施获取,并且与期待值进行比较。测试模组170a还将结果信号与期待值的比较结果,作为测试结果通知至同步连接模组160a处。在这儿的数个测试模组170a,可以依据测试程式和测试数据,在测试信号的循环周期产生有变化时,还可以依据不同的循环周期生成出测试信号。
而且,测试模组170a对于测试程式处理结束的场合,以及测试程式在运行中出现异常的场合等等场合,可以相对站点控制装置130a发出中断信号。这种中断信号可通过总线开关140,通知至与测试模组170a相对应的站点控制装置130a处,利用具有站点控制装置130a的处理程式装置,实施中断处理。
载入板180搭载有数个DUT100,并且与和数个测试模组170相对应的、位于DUT100上的端子相连接。
测试模拟装置190可以依据储存在***控制装置110出的测试控制程式、测试程式和测试数据,对测试装置10实施模拟,利用DUT100的模拟模型模拟进行对DUT100的测试。在本实施形式中,测试模拟装置190可以对一个站点控制装置130,由该站点控制装置130控制的同步模组150、同步连接模组160和一个或数个测试模组170a,以及以该站点控制装置130作为测试对象的DUT100的动作进行模拟。通过采用这种测试模拟装置190的方式,测试装置10的使用者可以不通过准备诸如DUT100、同步模组150、同步连接模组160和/或测试模组170等实物的阶段,直接开始对测试控制程式、测试程式和/或测试数据实施验证操作。而且,通过制备数个测试模拟装置190的方式,还可以使数个使用者在不占有价格昂贵的实际测试环境的条件下,分别开发出测试控制程式、测试程式和/或测试数据。
如上所述,测试装置10可以通过采用开放型软件建构的方式实现,并且可以使用满足开放型软件建构的各种模组。而且,测试装置10还可以将诸如同步模组150、同步连接模组160和测试模组170等模组,***至具有总线开关140的各种连接插口中使用。在这时,诸如测试装置10的使用者等等,可以通过诸如站点控制装置130a等等,改变与总线开关140间的连接形式,使实施DUT100测试所使用的数个模组,与控制该DUT100测试的站点控制装置130相连接。采用这种构成形式,测试装置10的使用者还可以根据数个DUT100上的端子数目、端子配制方式、端子种类、或测试种类等等,选择适当的模组,并将其安装至测试装置10处。
还可以不采用上述方式,而是通过采用共用设计在使用测试装置10的全部测试模组170上的一个同步连接部的方式,实现同步连接模组160a和同步连接模组160b。对于这种场合,诸如测试装置10的使用者等等,可以通过在改变总线开关140的连接形式的同时,改变同步连接部和测试模组170间连接形式的方式,选择与数个DUT100的特性相对应的模组。
图2为表示作为本发明一种实施形式的测试模拟装置190的功能构成用的示意图。测试模拟装置190具有站点控制模拟部230、总线开关模拟部240、同步模组模拟部250、同步连接模组模拟部260、一个或数个测试模组模拟部270、DUT连接部280、DUT模拟部200、进度安排控制部275。下面,以测试模拟装置190模拟通过站点控制装置130a实施DUT100a的测试的场合为例进行说明。
站点控制模拟部230可以对如图1所示的站点控制装置130a实施模拟。换句话说就是,站点控制模拟部230可以通过通信网络120,实施由***控制装置110处获取测试控制程式的操作。随后,站点控制模拟部230可以依据该测试控制程式,由***控制装置110处获取出实施DUT100测试用的测试程式和测试数据,并且通过总线开关模拟部240将其储存在诸如同步模组模拟部250和一个或数个测试模组模拟部270等等的模组模拟部处。
在这儿,站点控制模拟部230可以由站点控制装置130a,相对同步模组150a和一个或数个测试模组170a给出指令,并且相对总线开关模拟部240,对由该模组内的储存区域中的读取存取、写入存取等指令实施模拟发出。站点控制模拟部230通过采用相对总线开关模拟部240模拟发出测试程式和测试数据的写入存取指令的方式,可以通过总线开关模拟部240将测试程式和测试数据储存在同步模组模拟部250和一个或数个测试模组模拟部270等等处。
而且,站点控制模拟部230还可以通过总线开关模拟部240,对由同步模组模拟部250和测试模组模拟部270模拟发出的中断信号实施信号接收,并模拟实施站点控制装置130a的中断处理操作。
总线开关模拟部240可以对如图1所示的总线开关140实施模拟,从而可以在站点控制模拟部230、同步模组模拟部250和一个或数个测试模组模拟部270间实施通信连接。
同步模组模拟部250可以对如图1所示的同步模组150实施模拟,从而可以依据由站点控制模拟部230给出的指令,利用数个测试模组模拟部270,按照分别模拟生成与该测试模组模拟部270的循环时间相对应的测试信号的方式,生成出测试信号生成用计时时间。随后,同步模组模拟部250对由该生成测试信号的测试模组模拟部270给出的循环时间结束用的计时时间,作为循环结束用计时时间实施接收。同步模组模拟部250依据该循环结束用计时时间,由测试模组模拟部270生成出下一测试信号用的测试信号生成用计时时间,对测试模组模拟部270给出的测试结果实施收集的测试结果收集用计时时间,结束该测试模组模拟部270的循环时间处理用的循环结束处理用计时时间,以及对由测试模组模拟部270至站点控制模拟部230的中断信号实施收集用的中断信号收集用计时时间。在这儿,由测试模组模拟部270相对站点控制模拟部230给出的中断信号,可以是由数个测试模组模拟部270分别给出的、相对于与测试信号生成用计时时间相对应的循环时间里模拟生成测试信号的站点控制装置130a的中断信号。
同步连接模组模拟部260对如图1所示的同步连接模组160实施模拟,从而可以将由同步模组模拟部250模拟生成出的测试信号生成用计时时间、对同步模组模拟部250实施模拟所生成出的测试结果收集用计时时间、循环结束处理用计时时间和中断信号收集用计时时间,通知至进度安排控制部275处。而且,同步连接模组模拟部260还可以对由一个或数个测试模组模拟部270给出的测试结果实施信号接收,并通知至同步模组模拟部250处。
测试模组模拟部270可以由接收测试信号生成指令的同步模组模拟部250处接收循环开始指令信号,依据储存在站点控制模拟部230处的测试程式和测试数据,在与该测试信号生成用计时时间相对应的循环时间里模拟生成出测试信号。如果更具体的讲就是,测试模组模拟部270在与测试信号生成用计时时间相对应的循环时间里生成测试信号的过程中,模拟生成出在该循环时间中的测试信号变化用计时时间。在这儿,测试模组模拟部270按照与一个循环时间相对应的方式,对作为测试信号变化用计时时间的、按照与该测试模组模拟部270相对应的测试模组170的模式确定的数目变化用计时时间实施生成操作。测试模组模拟部270可以依据DUT模拟部200的测试信号,获取出作为模拟动作结果输出的输出信号,并且将其与依据测试程式和测试数据确定的期待值进行比较。测试模组模拟部270还可以通过同步连接模组模拟部260,将结果信号与期待值的比较结果作为测试结果,通知至同步模组模拟部250处。
而且,测试模组模拟部270还可以由进度安排部277处接收表示中断发生用的指令,并且在生成接收到中断发生指令之前的最后一个测试信号用的循环时间里,将模拟发生的中断信号,通过总线开关模拟部240通知至站点控制模拟部230处。
DUT连接部280可以获取出由数个测试模组模拟部270生成出的数个变化用计时时间,并且可以依据该数个变化用计时时间,按时间顺序模拟测试信号的变化。
DUT模拟部200可以依据通过DUT连接部280获取到的测试信号,对通过诸如Verilog-HDL和VHDL等等硬件描述语言描述的DUT100的动作实施模拟。DUT模拟部200还可以按照模拟方式,对作为DUT100依据测试信号动作结果输出的结果信号实施生成,并且可以通过DUT连接部280通知至测试模组模拟部270处。
进度安排控制部275可以在通过同步模组模拟部250、同步连接模组模拟部260、数个测试模组模拟部270和DUT连接部280,对DUT100实施的模拟测试过程中,依据由这些模组模拟部生成出的各种计时时间,分别对模组模拟部的动作时间进度实施控制。进度安排控制部275可以包括有计时时间排列部276、进度安排部277。
计时时间排列部276可以对由同步模组模拟部250生成出的数个测试信号生成用计时时间、数个中断信号收集用计时时间、数个循环结束处理用计时时间和数个测试结果收集用计时时间,和通过一个或数个测试模组模拟部270实施生成的、通过DUT连接部280供给出的数个变化用计时时间,按照时间顺排列并依次输出至进度安排部277处。进度安排部277可以将计时时间排列部276依次输出的各计时时间,通知至与该计时时间相对应的模组模拟部和DUT连接部280处,使模组模拟部和DUT连接部280实施与该计时时间相对应的动作。下面,对与计时时间排列部276输出的计时时间种类相对应的进度安排部277的动作进行说明。
(1)计时时间排列部276对测试信号生成用计时时间实施输出的场合
进度安排部277将该测试信号生成用计时时间通知至同步模组模拟部250处,以通过同步模组模拟部250发出由与该测试信号生成用计时时间相对应的测试模组模拟部270实施测试信号生成的指令。采用这种构成形式,进度安排部277可以通过同步模组模拟部250,使与该测试信号生成用计时时间相对应的测试模组模拟部270,对与该测试信号生成用计时时间相对应的循环时间里的测试信号实施模拟生成。
(2)计时时间排列部276对中断信号收集用计时时间实施输出的场合
进度安排部277可以向与该测试信号生成用计时时间相对应的测试模组模拟部270,发出中断信号出现用的指令。采用这种构成形式,进度安排部277可以使该测试模组模拟部270,将与该中断信号收集用计时时间之前生成测试信号的计时时间里模拟发生的中断信号,通过总线开关模拟部240通知至站点控制模拟部230处。
(3)计时时间排列部276对循环结束处理用计时时间实施输出的场合
进度安排部277将已经接收到循环结束用计时时间的信息,通知至与该循环结束处理用计时时间相对应的测试模组模拟部270处。
(4)计时时间排列部276对测试结果收集用计时时间实施输出的场合
进度安排部277将已经接收到测试结果收集用计时时间的信息,通知至与该测试结果收集用计时时间相对应的测试模组模拟部270处。当接收到这一信息时,测试模组模拟部270将在该循环时间里结果信号与期待值的比较结果,通过同步连接模组模拟部260通知至同步模组模拟部250处。
(5)计时时间排列部276对变化用计时时间实施输出的场合
DUT连接部280将由数个测试模组模拟部270给出的数个变化用计时时间,通知至计时时间排列部276处。当接收到这一信号时,计时时间排列部276将数个变化用计时时间和其它各种计时时间,一并按时间顺序实施排列。
当计时时间排列部276输出该变化用计时时间时,进度安排部277可以按照该变化用计时时间,使测试信号产生模拟变化,并且将已经接收到的变化用计时时间的信号,通知至DUT连接部280处。当接收到这一信号时,DUT连接部280可以在该变化用计时时间里使测试信号产生模拟变化。
在这儿,测试模组模拟部270将作为获取结果信号计时时间的测试结果获取用计时时间,通知至进度安排控制部275,从而可以通过计时时间排列部276,与其它各种计时时间一并按时间顺序实施排列。对于这种场合,进度安排部277对于计时时间排列部276输出有测试结果获取用计时时间的场合,还可以通过DUT连接部280在该测试结果获取用计时时间里,将结果信号通知至获取该结果信号用的测试模组模拟部270处。
而且,DUT连接部280还可以对由数个测试模组模拟部270生成出的数个变化用计时时间实施获取,并且按照按时间顺序实施排列的方式,将信号供给至DUT模拟部200。对于这种场合,DUT模拟部200可以对所获得的数个变化用计时时间按时间顺序实施排列,并且依据该排列后的数变化用计时时间,实施DUT100的模拟操作。
如果采用如上所述的测试模拟装置190,可以按照分别与对测试装置10实施实际测试时的同步模组150、同步连接模组160、一个或数个测试模组170相对应的方式,设置同步模组模拟部250、同步连接模组模拟部260、一个或数个测试模组模拟部270,并且使这些模组模拟部可以容易地与其它模组模拟部相互置换。采用这种构成形式,对于在DUT100实施实际测试时需要将某一模组置换为其它模组的场合,可以将测试模拟装置190中与该模组相对应的模组模拟部,置换为与另一模组相对应的模组模拟部,从而可以在测试模拟装置190上提供出与测试装置10的实际测试环境大体相同的测试环境。
当然也可以不采用上述方式,而是使站点控制模拟部230、总线开关模拟部240、同步模组模拟部250、测试模组模拟部270、进度安排控制部275、DUT连接部280和DUT模拟部200,由作为站点控制装置130等等的一台电脑实现,或是由数台电脑构成的分散***实现。
图3为表示作为本发明一种实施形式的测试模拟装置190的一个硬件构成实例用的示意图。作为本实施形式的测试模拟装置190,可以通过具有CPU300、ROM310、RAM320、通信接口部330、硬盘驱动部340、软盘驱动部350、CD-ROM驱动部360的电脑20实现。
CPU300可以依据储存在ROM310和RAM320处的程式实施动作,进行对各部分的控制。在ROM310处储存有电脑20启动时由CPU300实施的基本程式,以及与电脑20的硬件相关的程式等等。在RAM320处储存有由CPU300实施的程式和由CPU300使用的数据等等。通信接口部330可以通过通信网络与其它装置间实施通信连接。硬盘驱动部340储存有供电脑20使用的程式和数据,并且可以通过RAM320供给至CPU300。软盘驱动部350可以由软盘390处对程式和数据实施读取,并供给至RAM320。CD-ROM驱动部360可以由CD-ROM395处对程式和数据实施读取,并供给至RAM320。
通过RAM320供给至CPU300处的程式,可以储存在软盘390、CD-ROM395或诸如IC卡等等的记录媒体处,并且可以依据使用者的指令实施供给。这些程式可以由记录媒体处读取,通过RAM320安装在电脑20上,由电脑20实施运行。
安装并在电脑20中运行的、使电脑20具有作为测试模拟装置190使用的功能的程式模组,可以包括DUT模拟模组、站点控制模拟模组、总线开关模拟模组、同步模组模拟模组、测试模组模拟模组、进度安排控制模组、计时时间排列模组、进度安排模组、DUT连接模组。这些程式或称模组,使得电脑20可以具有分别作为DUT模拟部200、站点控制模拟部230、总线开关模拟部240、同步模组模拟部250、同步连接模组模拟部260、测试模组模拟部270、进度安排控制部275、计时时间排列部276、进度安排部277和DUT连接部280使用的功能。
如上所示的这些程式或称模组,也可以储存的外部记录媒体处。记录媒体除了可以为软盘390、CD-ROM395之外,还可以为诸如DVD和PD等等的光学记录媒体,诸如MD等等的光磁记录媒体,磁带媒体,和诸如IC卡等等的半导体媒体等等。而且,还可以采用诸如与专用通信网络和内部网络相连接的、设置在子***处的硬盘或RAM等等记录装置作为这种记录媒体,也可以通过通信网络将程式由外部网络供给至电脑20处。
图4为表示作为本发明一种实施形式的测试模组模拟部270的功能构成用的示意图。正如图4所示,可以通过使电脑20按照与该测试模组模拟部270相对应的测试模组模拟程式或测试模组模拟模组动作的方式,实现该测试模组模拟部270。
测试模组模拟部270具有与测试模组170通过总线开关140由站点控制装置130处接收到的数个指令相对应的数个硬件模拟函数,以及为将各种计时时间通知至测试模组模拟部270处而实施呼叫的控制函数,并且可以按照对由总线开关模拟部240和进度安排控制部275处给出的这些函数实施呼叫的方式实施接收动作。在这儿,控制函数可以指令进度安排控制部275在与测试信号生成用计时时间相对应的循环时间里对测试信号实施模拟生成,并且指令将在中断信号收集用计时时间之前由测试模组模拟部270生成测试信号的循环时间里模拟生成出的中断信号,通知至站点控制模拟部230处等等。
测试模组模拟部270可以包括有测试模组IF模拟部400(测试模组接口模拟部)、测试图案发生器模拟部430、波形整形器模拟部440、接脚(pin)控制模拟部450、参数测定模拟部460。
对于由总线开关模拟部240接收到硬件模拟函数呼叫的场合,以及对于由进度安排控制部275接收到控制函数的呼叫信息的场合,可以使测试模组IF模拟部400启动,对与该函数呼叫相对应的测试模组模拟部270的动作进行控制。测试模组IF模拟部400可以包括有计算机字(machineword)DB420、控制函数处理部410。
计算机字DB420用于对储存在位于测试模组170处的储存区域中的储存区域实施模拟,对于依据硬件模拟函数的呼叫信号,对由站点控制模拟部230通过总线开关模拟部240给出的指令实施模拟接收的场合,可以对与该指令相对应的、位于计算机字DB420内的储存区域实施存取操作。
如果更具体的讲就是,作为本实施形式的测试模组IF模拟部400,安装有可以对与诸如读出存取和写入存取等数指令相对应的、由测试模组模拟部270实施的动作进行模拟的数个硬件模拟函数。当通过总线开关模拟部240由站点控制模拟部230处获取到读出存取指令时,测试模组IF模拟部400可以通过总线开关模拟部240,将与作为该读出存取对象的储存区域相对应的、位于计算机字DB420内的数据返回至站点控制模拟部230处。而且,当获取到写入存取指令时,计算机字DB420可以将作为写入对象的数据,储存在与作为该写入存取对象的储存区域相对应的计算机字DB420内。如果举例来说,计算机字DB420在通过总线开关模拟部240,由站点控制模拟部230处接收到测试程式或测试数据的写入存取指令时,可以将这些测试程式或测试数据,储存在与该写入存取相对应的、位于计算机字DB420内的储存区域处。
控制函数处理部410对于由进度安排控制部275处获取到控制函数呼叫信号的场合,可以使与该控制函数相对应的测试图案发生器模拟部430、波形整形器模拟部440、接脚控制模拟部450和参数测定模拟部460动作,从而可以对与该控制函数指令相对应的测试模组170的动作进行模拟。如果更具体的讲就是,当进度安排控制部275利用控制函数,在与测试信号生成用计时时间相对应的循环时间里,给出实施测试信号生成用的指令时,控制函数处理部410可以由储存在计算机信息元DB420处的测试程式和测试数据中,读取出在该循环时间里测试模组模拟部270需要处理的程式部分和数据部分,并且由测试图案发生器模拟部430、波形整形器模拟部440、接脚控制模拟部450和参数测定模拟部460,实施与该程式部分和数据部分相对应的处理操作。
测试图案发生器模拟部430可以对具有测试模组170的信号测试图案发生器实施模拟。换句话说就是,测试图案发生器模拟部430可以利用诸如函数呼叫方式,通过控制函数处理部410对储存在计算机字DB420处的测试程式和测试数据实施信号接收和储存。而且,对于在某循环时间里需要生成测试信号的指令,可以利用诸如函数呼叫方式,通过控制函数处理部410由进度安排控制部275处实施接收,进而对与该循环时间里需要产生的测试信号实施模拟生成。
测试图案发生器模拟部430还可以通过DUT连接部280和波形整形器模拟部440,对DUT模拟部200依据测试信号动作的、作为结果模拟输出的结果信号实施获取,并且将其与期待值进行比较。
波形整形器模拟部440可以用于对具有测试模组170的波形整形器实施模拟。换句话说就是,波形整形器模拟部440可以通过测试图案发生器模拟部430对测试信号实施接收,进而对测试信号的波形实施模拟整形,并输出至DUT连接部280处。
接脚控制模拟部450可以用于对具有测试模组170的接脚控制部实施模拟。换句话说就是,接脚控制模拟部450可以依据测试程式,对波形整形器模拟部440和/或参数测定模拟部460上测试信号模拟输出用的各端子,实施诸如动作电压等等参数的设定。
参数测定模拟部460用于对具有测试模组170的参数测定部实施模拟。换句话说就是,参数测定模拟部460可以通过控制函数处理部410,利用函数呼叫方式,由进度安排控制部275处获取到实施直流测试(DC参数测试)的指令,并且可以对直流测试中该循环时间里需要产生的测试信号实施模拟生成。而且,参数测定模拟部460还可以对DUT模拟部200在直流测试中依据测试信号进行动作的、作为结果模拟输出的结果信号实施获取。
控制函数处理部410对于在与测试信号生成用计时时间相对应的循环时间里,测试模组模拟部270生成出测试信号的场合,还可以将表示与该测试信号生成用计时时间相对应的循环结束用的循环结束用计时时间,通知至同步模组模拟部250处。
如上所述,控制函数处理部410可以在与测试信号生成用计时时间相对应的循环时间中对测试信号实施生成的过程中,将表示该循环结束用的循环结束用计时时间,通过进度安排控制部275通知至同步模组模拟部250处。采用这种构成形式,控制函数处理部410可以使同步模组模拟部250,依据该循环结束用计时时间,对测试模组模拟部270的下一测试信号实施模拟生成所需要的测试信号生成用计时时间实施再次生成。
而且,控制函数处理部410对于由进度安排控制部275接收到中断信号发生指令的场合,可以通过诸如函数呼叫等方式,将中断信号发生指令通知至测试图案发生器模拟部430、波形整形器模拟部440和接脚控制模拟部450处。接收到该中断信号发生指令的测试图案发生器模拟部430、波形整形器模拟部440和接脚控制模拟部450,可以在测试模组模拟部270生成测试信号的各循环时间中该中断信号收集用计时时间之前的循环时间里,将模拟生成的中断信号通知至控制函数处理部410处。控制函数处理部410在接收到该中断信号时,可以通过对诸如具有总线开关模拟部240的中断信号通知用硬件模拟函数实施呼叫的方式,通过总线开关模拟部240将该中断信号通知至站点控制模拟部230处。
图5为表示作为本发明一种实施形式的软件类层分级建构500的一个实例用的示意图。在本实施形式中,实现诸如同步模组模拟部250、同步连接模组模拟部260和测试模组模拟部270等等模组模拟部用的模组模拟程式,是采用按照能够模拟实现测试装置10的开放型软件建构的方式设定的、作为模组模拟程式框架的类层函数实施制作的。
模拟组成部分类层510是一种通过假定方法函数的方式,对模组模拟程式所具有的、诸如数个方法函数中的参数和返回值等等实施呼叫的规则实施定义的类层。模拟组成部分类层510可以具有数个假定硬件模拟函数512,以及数个假定控制函数514。
在这儿,read()为对于站点控制模拟部230对读出存取指令实施模拟发出的场合实施呼叫的、对与读出存取相对应的模组动作实施模拟用的方法函数。write()为对于站点控制模拟部230对写入存取指令实施模拟发出的场合实施呼叫的、对与写入存取相对应的模组动作实施模拟用的方法函数。getChannel()为对于在对具有测试模组170的储存区域的数据库位址(位址即为地址,以下均称为位址)实施设定时站点控制装置130给出的数据库位址设定指令,相对站点控制模拟部230实施模拟发出的场合实施呼叫的方法函数。
registerEvent()是一种使由同步模组模拟部250处接收到信号的同步连接模组模拟部260、测试模组模拟部270和DUT连接部280,对于将中断信号收集用计时时间、变化用计时时间和测试结果获取用计时时间等通知并登录在计时时间排列部276的场合实施呼叫的方法函数。handlerEvent()是一种在获得诸如测试信号生成用计时时间、中断信号收集用计时时间、变化用计时时间和测试结果获取用计时时间等等时,为在同步模组模拟部250、同步连接模组模拟部260、测试模组模拟部270和DUT连接部280处实施与这些计时时间相对应的处理,而通过进度安排控制部275实施呼叫的方法函数。raiseEvent()是一种使同步模组模拟部250、同步连接模组模拟部260、测试模组模拟部270和DUT连接部280,对于将与计时时间无关的非同步处理事件通知至进度安排控制部275的场合实施呼叫的方法函数。
A公司模组类层520和B公司模组类层530,是由模拟组成部分类层510派生出来的类层,而且是一种可以通过诸如提供模组的制作方实施提供的、可以对该制作方提供的模组所共同具有的共用功能实施模拟的模组模拟程式。A公司模组类层520和B公司模组类层530可以分别具有数个实际硬件模拟函数522和数个实际控制函数524。数个实际硬件模拟函数522和数个实际控制函数524,是按照分别与数个假定硬件模拟函数512和数个假定控制函数514相对应的方式实施表述,对与假定方法函数相对应的实际方法函数(非假定方法函数)的处理内容实施记述用的模组模拟程式。
A公司模组类层520和B公司模组类层530还可以进一步具有派生类层。如果举例来说,在图5中的B公司模组类层530,就还进一步派生有数字测试模组类层540、电源模组类层560和同步模组类层590。
数字测试模组类层540是对进行DUT100的功能测试用的测试模组170实施模拟用的测试模组模拟程式所在的类层。数字测试模组类层540还可以进一步派生出对在频率为250MHz时动作的DUT100实施功能测试用的测试模组170实施模拟用的250MHz数字测试模组类层550。电源模组类层560是对向DUT100实施电源供给用的模组实施模拟的模组模拟程式所在的类层。电源模组类层560还可以进一步派生出对向DUT100供给高电压电源的模组实施模拟用的高电压电源模组类层570,以及对向DUT100供给低电压电源的模组实施模拟用的低电压电源模组类层580。同步模组类层590是对同步模组150实施模拟的模组模拟程式所在的类层。
250MHz数字测试模组类层550、高电压电源模组类层570、低电压电源模组类层580和同步模组类层590,可以分别与包括在B公司模组类层530内的handlerEvent()置换(覆盖)使用,并且包括有可分别对模组自有功能实施模拟的实际方法函数handlerEvent()。
具有测试模拟装置190的同步模组模拟部250、同步连接模组模拟部260、一个或数个测试模组模拟部270等等,还可以通过将包括在软件类层分级建构500处的模组模拟程式所在的类层中的某一个,作为实际装置化部分实施实现。
通过如上所述的内容可知,具有测试模拟装置190的同步模组模拟部250、同步连接模组模拟部260和测试模组模拟部270等等的模组模拟部,可以通过与包括在软件类层分级建构500中的某一个类层相对应的模组模拟程式实施实现。测试模拟装置190的使用者,可以通过对由与实际安装在诸如测试装置10上的模组组合相对应的类层组合构成的模组模拟程式的实际装置化部分实施生成的方式,在测试模拟装置190上建构出与测试装置10的实际测试环境大体相同的测试环境。对于制作有与新模组相对应的新类层的场合,也可以通过将该新类层作为某一类层的派生类层的方式,减少模组模拟程式的制作步骤。
图6为表示作为本发明一种实施形式的测试模拟装置190的测试信号生成处理程式,在使用一个测试模组模拟部270进行测试时用的示意图。
在测试程式和测试数据储存在同步模组模拟部250、同步连接模组模拟部260、一个或数个测试模组模拟部270处的状态下,当站点控制模拟部230将开始实施测试的指令发送至同步模组模拟部250时,测试模拟装置190将按照如下所述的顺序进行模拟测试。
首先,进度安排控制部275(图中的SCHED)中的进度安排部277,对于计时时间排列部276输出有测试信号生成用计时时间的场合,对同步模组模拟部250(图中的SYNC)的handlerEvent()函数实施呼叫,并且在到达测试信号生成用计时时间时实施信号通知(程式步S600)。采用这种构成形式,进度安排控制部275可以通过同步模组模拟部250,使与测试信号生成用计时时间相对应的测试模组模拟部270,在与该测试信号生成用计时时间相对应的循环时间里实施测试信号的模拟生成。在这儿,进度安排控制部275还可以通过在handlerEvent()函数的参数中,包括表示已经到达由相应的测试模组模拟部270给出的测试信号生成用计时时间用的事件识别元的方式,将测试信号生成用计时时间通知至同步模组模拟部250处。
随后,同步模组模拟部250对于在该测试信号生成用计时时间里模拟生成测试信号用的测试模组模拟部270(图中的TM),通知出作为开始循环时间处理、生成测试信号用的指令的循环开始信号(程式步S605)。在这儿,同步模组模拟部250通过将指示循环开始用的事件识别元,包括在raiseEvent()函数的参数中的进度安排控制部275实施呼叫的方式,通过与计时时间排列部276按时间顺序处理后的计时时间非同步的进度安排控制部275,将循环开始信号通知至测试模组模拟部270处。
测试模组模拟部270对该循环开始信号实施接收,在相应的循环时间里对测试信号实施模拟生成(程式步S610)。换句话说就是,在程式步S610中,进度安排控制部275可以在与测试信号生成用计时时间相对应的循环时间里,将测试信号生成用计时时间通知至对测试信号实施模拟生成的同步模组模拟部250处,接收到该信号的同步模组模拟部250,可以按照通过进度安排控制部275将循环时间开始信号通知至测试模组模拟部270处的方式,使测试模组模拟部270在该循环时间里对测试信号实施模拟生成。在这儿,测试模组模拟部270可以在该循环时间里的测试信号生成过程中,对该循环时间里的测试信号变化用计时时间实施模拟生成。
随后,DUT连接部280(图中的LB)接收由测试模组模拟部270给出的测试信号变化用计时时间,并且将该变化用计时时间登录在计时时间排列部276处(程式步S615)。
测试模组模拟部270将表示该循环时间结束用的计时时间通知至同步模组模拟部250处(程式步S620)。在这儿,测试模组模拟部270可以按照测试程式和测试数据给出的指令信息,动态地改变各循环时间,并且由测试图案发生器模拟部430对测试信号实施生成。因此,位于测试模组模拟部270中的测试模组IF模拟部400内的控制函数处理部410,可以将由测试图案发生器模拟部430处获取到的、表示各循环时间结束的计时时间,通知至同步模组模拟部250处,从而可以由同步模组模拟部250正确地生成出测试信号生成用计时时间。
随后,同步模组模拟部250可以在程式步S620中,依据由测试模组模拟部270给出的循环结束用计时时间,使测试模组模拟部270对与下一循环时间相对应的测试信号模拟生成用的测试信号生成用计时时间实施生成,并通知、登录在计时时间排列部276处(程式步S625)。同步模组模拟部250对由测试模组模拟部270给出的、收集测试结果用的测试结果收集用计时时间,使测试模组模拟部270结束该循环时间用的循环结束处理用计时时间,以及在该循环时间里测试信号生成的过程中对测试模组模拟部270模拟生成出的中断信号实施收集用的中断信号收集用计时时间,实施再次生成,并且通知、登录在计时时间排列部276处(程式步S625)。在这儿,同步模组模拟部250通过对进度安排控制部275的registerEvent90()函数实施呼叫的方式,将这些计时时间登录在计时时间排列部276处。
而且,同步模组模拟部250还可以将与由测试模组模拟部270接收到的循环结束用计时时间大体相同的计时时间,作为该测试模组模拟部270中的下一测试信号生成用计时时间、测试结果收集用计时时间、循环结束处理用计时时间和中断信号收集用计时时间实施生成。
随后,计时时间排列部276在程式步S615中,输出所登录的变化用计时时间时,进度安排部277对该变化用计时时间中对测试信号实施模拟改变,并且将接收到该变化用计时时间的信息通知至DUT连接部280处(程式步S630)。
当由进度安排部277处接收到变化用计时时间时,DUT连接部280通过在该变化用计时时间里对测试信号实施模拟变化的方式,对测试信号实施生成,并供给至DUT模拟部200(程式步S635)。DUT模拟部200依据由DUT连接部280获取到的测试信号,对DUT100的动作实施模拟。DUT模拟部200对DUT100依据测试信号动作的、作为结果输出的结果信号实施模拟生成,并通过DUT连接部280供给至测试模组模拟部270。测试模组模拟部270对结果信号和期待值进行比较,以获得比较结果。
随后,当计时时间排列部276在程式步S625中,对所登录的测试结果收集用计时时间实施输出时,进度安排部277依据由DUT模拟部200供给至测试模组模拟部270处的结果信号,对结果信号是否良好进行收集,并且将获得测试结果收集用计时时间的信息通知至测试模组模拟部270处(程式步S640)。当接收到测试结果收集用计时时间时,测试模组模拟部270将该循环时间里结果信号与期待值间的比较结果,通过同步连接模组模拟部260通知至同步模组模拟部250处。同步模组模拟部250依据由测试模组模拟部270收集到的比较结果,判断测试结果是否良好(测试通过或视为废品),并且通过信号发送的方式将表示测试结果是否良好的信息通知至测试模组模拟部270处(程式步S645)。供给至数个测试模组模拟部270处的测试程式和测试数据,还可以依据该测试结果是否良好,按照改变该循环时间以后的测试时间顺序的方式实施记述。
随后,当计时时间排列部276在程式步S625中,对所登录的循环结束处理用计时时间实施输出时,进度安排部277在到达该循环结束用的计时时间值时,向测试模组模拟部270发送出信号(程式步S650)。
当计时时间排列部276在程式步S625中,对所登录的中断信号收集用计时时间实施输出时,进度安排部277在到达该中断信号收集用计时时间时,向测试模组模拟部270发送出信号(程式步S655)。当接收到表示中断信号收集用计时时间的信号时,测试模组模拟部270在位于该中断信号收集用计时时间之前的测试模组模拟部270生成测试信号的循环时间里,模拟生成出中断信号,并且通过总线开关模拟部240向站点控制模拟部230给出模拟信号通知。
测试模拟装置190在直至测试结束之前,重复进行如上述程式步S600至程式步S655所示的处理(程式步S660)。
对于使用数个测试模组模拟部270进行测试的场合,进度安排控制部275还可以对这数个测试模组模拟部270的动作计时时间按时间顺序实施排列处理,形成时间进度表。因此,可以按照时间顺序表,由数个测试模组模拟部270按顺序依次进行如程式步S600、程式步S630、程式步S640、程式步S650和程式步S655所示的处理。
图7为表示由作为本发明一种实施形式的测试模拟装置190模拟生成的一个测试信号实例用的示意图。正如该图所示,测试模拟装置190可以包括有作为测试模组模拟部270的、对测试模组A实施模拟用的测试模组模拟部270a,以及对测试模组B实施模拟用的测试模组模拟部270b。
在到达时刻t1之前,计时时间排列部276对测试模组模拟部270a的测试信号生成用计时时间t1、测试模组模拟部270b的测试信号生成用计时时间t2实施登录,对其按时间顺序进行排列处理并输出其结果,即首先输出测试信号生成用计时时间t1。在接收到该信号时,进度安排部277在时间进入至t1的同时,将到达测试信号生成用计时时间t1的信号通知至同步模组模拟部250处。
当接收到测试信号生成用计时时间t1的信号时,同步模组模拟部250通过同步连接模组模拟部260和测试模组模拟部270,向与该测试信号生成用计时时间t1相对应的测试模组模拟部270a通知出表示循环时间开始的信号。当接收到该信号时,测试模组模拟部270a在由图中循环时间1表示的循环时间里对测试信号实施模拟生成。在这儿,测试模组模拟部270a在到达该循环时间里的变化用计时时间t4时,将测试信号改变为H电位的信号,并通知至DUT连接部280处。当接收到该信号时,DUT连接部280将变化用计时时间t4登录在计时时间排列部276处。
随后,测试模组模拟部270a在循环时间1的测试信号生成结束时,将表示循环时间1的循环结束用计时时间t6的信号通知至同步模组模拟部250处。当接收到该信号时,同步模组模拟部250依据该循环结束用计时时间t6,对下一测试信号生成用计时时间t6、测试结果收集用计时时间t6-Δ、循环结束处理用计时时间t6-Δ、中断信号收集用计时时间t6-Δ实施生成,并将其登录在计时时间排列部276处。在这儿,t6-Δ表示的是在下一测试信号生成用计时时间t6的微小时间之前的时间。
计时时间排列部276对所登录的计时时间按时间顺序实施排列处理,输出测试信号生成用计时时间t2。当接收到该信号时,进度安排部277在时间进入至t2的同时,将到达测试信号生成用计时时间t2的信息通知至同步模组模拟部250处。
当接收到该测试信号生成用计时时间t1时,同步模组模拟部250通过进度安排控制部275,向与该测试信号生成用计时时间t2相对应的测试模组模拟部270b通知出表示循环时间开始的信号。当接收到该信号时,测试模组模拟部270b在测试模组模拟部270b的循环时间1里对测试信号实施模拟生成。采用这种构成形式,测试模组模拟部270b可以对测试信号的变化用计时时间t3和t5实施生成,并且可以由DUT连接部280将这些变化用计时时间登录在计时时间排列部276处。
随后,测试模组模拟部270b在循环时间1的测试信号生成结束时,将表示循环时间1的循环结束用计时时间t7用的信号通知至同步模组模拟部250处。当接收到该信号时,同步模组模拟部250依据该循环结束用计时时间t7,对下一测试信号生成用计时时间t7、测试结果收集用计时时间t7-Δ、循环结束处理用计时时间t7-Δ、中断信号收集用计时时间t7-Δ实施生成,并将其登录在计时时间排列部276处。
计时时间排列部276对所登录的计时时间按时间顺序实施排列处理,依次输出变化用计时时间t3、t4、t5。当接收到这些变化用计时时间信号时,进度安排部277将这些变化用计时时间通知至DUT连接部280处。采用这种构成形式,DUT连接部280可以在该变化用计时时间里使测试信号产生模拟变化,并供给至DUT模拟部200。
随后,计时时间排列部276对测试结果收集用计时时间t6-Δ实施输出。当接收到该信号时,进度安排部277在时间进入至t6-Δ的同时,将表示测试结果收集用计时时间t6-Δ的信号通知至测试模组模拟部270a处。采用这种构成形式,可以在测试模组模拟部270a与同步模组模拟部250间进行测试结果的收集和信号通知操作。
随后,计时时间排列部276对循环结束用计时时间t6-Δ实施输出。当接收到该信号时,进度安排部277向测试模组模拟部270a发送出表示循环时间1结束的通知。
随后,计时时间排列部276对中断信号收集用计时时间t6-Δ实施输出。当接收到该信号时,进度安排部277向测试模组模拟部270a发送出表示中断信号收集用计时时间t6-Δ用的信息。采用这种构成形式,测试模组模拟部270a还可以向站点控制模拟部230,通知出在循环时间1里模拟生成的中断信号。
随后,计时时间排列部276对测试信号生成用计时时间t6实施输出。当接收到该信号时,进度安排部277在时间进入至t6的同时,将表示到达测试信号生成用计时时间t6的信号通知至同步模组模拟部250处。随后测试模拟装置190按照与时间t1相类似的方式,对变化用计时时间t8、表示获取结果信号的计时时间用的测试结果获取用计时时间t11、下一测试信号生成用计时时间t12、测试结果收集用计时时间t12-Δ、循环结束处理用计时时间t12-Δ、中断信号收集用计时时间t12-Δ实施生成,并将其登录在计时时间排列部276处。
随后,计时时间排列部276对所登录的计时时间按时间顺序实施排列处理,并对测试信号生成用计时时间t7实施输出。当接收到该信号时,进度安排部277在时间进入至t7的同时,将到达测试信号生成用计时时间t7的信号通知至同步模组模拟部250处。随后测试模拟装置190按照与时间t2相类似的方式,对变化用计时时间t9和t10、下一测试信号生成用计时时间t13、测试结果收集用计时时间t13-Δ、循环结束处理用计时时间t13-Δ、中断信号收集用计时时间t13-Δ实施生成,并将其登录在计时时间排列部276处。
正如上面所描述的那样,如果采用作为本实施形式的测试模拟装置190,可以利用进度安排控制部275,对测试信号生成用计时时间、测试信号变化用计时时间、测试结果收集用计时时间、测试结果获取用计时时间、中断信号收集用计时时间等等的各种计时时间,按照时间顺序实施排列处理,形成进度安排表。因此,测试模拟装置190对于安装有具有不同循环周期的数个测试模组170的场合,也可以对测试装置10的动作实施适当的模拟。
而且在本实施形式中,同步连接模组模拟部260对于由测试模组170处接收到循环结束用计时时间的场合,是将测试结果收集用计时时间、循环结束处理用计时时间和中断信号收集用计时时间登录在计时时间排列部276处的,然而也可以不采用这种方式,而是采用如下所述的方式。
比如说在如图6所示的程式步S625中,同步模组模拟部250可以依据循环结束用计时时间,通过测试模组模拟部270对与下一循环时间相对应的测试信号实施模拟生成用的测试信号生成用计时时间实施生成,并且将其通知并登录在计时时间排列部276处。在另一方面,同步模组模拟部250在该时刻,不对测试结果收集用计时时间、循环结束处理用计时时间、中断信号收集用计时时间实施生成,所以也不相对计时时间排列部276实施登录操作。
采用这种构成形式,测试模拟装置190在进行完成如图6所示的程式步S630和程式步S635之后,不进行如程式步S640、程式步S650和程式步S655所示的操作,进入至程式步S600。对于在程式步S600中,将与下一循环时间相对应的测试信号生成用计时时间输出至计时时间排列部276的场合,进度安排部277可以将表示到达测试信号生成用计时时间的信号通知至同步模组模拟部250处。当接收到该信号时,同步模组模拟部250可以在下一循环时间的测试信号生成之前,将与测试结果收集信息、循环结束通知信息和中断信号收集信息,发送至与该测试信号生成用计时时间相对应的测试模组模拟部270处。
通过采用如上所述的这种处理方式,进度安排控制部275可以在下一循环时间的测试信号生成之前,在诸如同步模组模拟部250、同步连接模组模拟部260和测试模组模拟部270等等处,实施如程式步S640、程式步S645、程式步S650和程式步S655所示的处理。如果更具体的讲就是,进度安排控制部275可以在位于该测试信号生成用计时时间之前的循环时间里的测试信号生成过程中,依据供给至测试模组模拟部270的结果信号,通过同步模组模拟部250和同步连接模组模拟部260,对表示测试结果是否良好的信息实施收集和信号通知,并且由测试模组模拟部270将模拟生成的中断信号,通知至站点控制模拟部230处。
上面对本发明的数实施形式进行了说明,然而本发明的技术保护范围并不仅限于上述实施形式,还可以对上述实施形式进行各种各样的改变。这些实施形式也属于本发明的技术保护范围之内。
如果举例来说,如上所述的测试装置10是通过同步模组150、同步连接模组160和测试模组170等等进行DUT100的实际测试,通过同步模组模拟部250、同步连接模组模拟部260、测试模组模拟部270和DUT模拟部200等等进行DUT100的模拟测试的,然而还可以将可运行相同测试控制程式和/或测试数据的测试装置10提供给使用者,由使用者对实际测试和模拟测试实施切换操作。
换句话说就是,站点控制装置130还可以将对DUT100实施实际测试或模拟测试的指令,通过表示诸如测试开始指令的选择信号等等实施输入。***控制装置110或站点控制装置130对于接收到对DUT100进行实际测试用的指令的场合,可以通过总线开关140将进行DUT100的测试用的测试程式,供给至一个或数个测试模组170,进而通过这些测试模组170进行DUT100的测试。在另一方面,站点控制装置130对于接收到对DUT100进行模拟测试用的指令的场合,可以将能够在诸如测试模拟装置190或站点控制装置130等等上通过软件实现的测试程式,供给至测试模组模拟部270,进而通过测试模组模拟部270等等进行对DUT100的模拟测试。
如上所述,站点控制装置130可以对与该测试模组170间实施通信处理用的通信软件(通信程式库)实施运行,从而可以通过该通信软件对实际测试环境和模拟测试环境实施存取操作。对于这种场合,在站点控制装置130上运行的测试控制程式,可以利用该通信软件提供的同一存取函数(read/write函数等等),对同步模组150、同步连接模组160和测试模组170等等实施进行存取操作的实际测试,并且可以对同步模组模拟部250、同步连接模组模拟部260和测试模组模拟部270等等实施进行存取操作的模拟测试。
在这儿,上述通信软件可以包括在与站点控制装置130协同动作,对该通信软件实施初始化处理的呼叫信号中,从而可以依据对实际测试环境和模拟测试环境实施选择的指令,对将测试程式供给至测试模组170等等还是测试模组模拟部270等等实施判断。采用这种方式的一个实际实例,还将通过补充说明C.2.4.3等进行进一步的说明。
而且如果举例来说,如上所述的测试模组模拟部270还可以采用如下所述的构成形式。各测试模组模拟部270可以通过函数呼叫方式,由进度安排控制部275内的进度安排部277处获取进度安排用的测试信号生成用计时时间信号。各测试模组模拟部270可以对与该测试信号生成用计时时间相对应的循环时间里的测试信号的电压变化,通过对模拟输出通道用的输出通道对象电压设定方法(set方法)实施数次呼叫的方式实施输出。测试模组模拟部270还可以在与该循环时间相对应的测试信号电压变化输出结束之后,将表示与该循环时间相对应的测试信号电压变化输出结束的信号,通过对输出通道对象结束方法(end方法)实施呼叫的方式,通知至进度安排部277等等处。采用这种方式的一个实际实例,还将通过补充说明B.3.3等进行进一步的说明。
而且,进度安排部277可以依据由数个测试模组模拟部270分别给出的结束方法,对全部测试模组模拟部270的测试信号电压变化输出的结束时间实施计算,确定在该时间里对DUT100的动作实施模拟的DUT模拟部200。当接收到该信号时,DUT连接部280可以对该时间里的测试信号实施获取,并且依据该测试信号,对被测试元件在该时间里的动作实施模拟。
如上所述,输出通道对象在接收到结束方法呼叫的信号之后,通过该结束方法实施信号通知,即在测试信号的电压变化输出结束的时间里禁止电压出现变化。采用这种构成形式,还可以在模拟结束期间防止与模拟结果不吻合的现象出现。采用这种方式的一个实际实例,还将通过补充说明B.3.5等进行进一步的说明。
下面,对作为本实施形式的测试装置10和测试模拟装置190的各种具体实例和模式实例进行说明。
(补充说明A)软件建构的具体实例
图8为表示使用在本发明一种实施形式中的软件建构2200用的示意图。软件建构2200与相关的硬件***要素110、130、150、160和170相对应,并且可以表述为具有***控制部2220、至少一个站点控制部2240、至少一个模组2260的构成要素的分散操作***。除了模组2260之外,软件建构2200还可以包括有呈软件形式的、与模组模拟部相对应的SW(软件)模组模拟部2280。
作为一种举例示出的可选择方案,这种平台的开发环境可以在微软的windows下进行。使用这种软件建构方式可以具有程式和支持的可移植性等辅助优点(如果举例来说,现场维护工程师可以与进行高度诊断用的、使测试操作***动作的笔记本型(lap-top)电脑相连接)。然而,对于大规模计算集约型动作(诸如测试测试图案的组合部分等等),相关软件还可以通过横跨可实施独立动作的分散平台的作业调度程式,利用独立的构成要素实施建构。因此,与批量作业相关的软件程式,可以通过数个平台类型实施运行。
作为一种举例示出的可选择方案,ANSI/IS0标准的C++可以是一种软件使用的自然语言。当然,第三方也可以自己选择替代语言建构软件***,并且可以使用数个选择通路(比如说所谓提供至C++接口上的层等等)。
图8表示的是由所谓的源程式形成的组织(或称为子***的集合展开),它包括有通过阴影方式表示的测试操作***接口2290、使用者组成部2292(比如说为了测试的目的而由使用者提供的部分)、***组成部2294(比如说为了能够实现基本连接和通信而作为软件基础结构实施提供的部分)、模组开发组成部2296(比如说由模组开发部实施提供的部分)、外部组成部2298(比如说由除了模组开发部之外的外部源程式实施提供的部分)等各要素。
从源程式数据库构成的角度看,测试操作***(TOS)接口2290可以包括有***控制用站点控制接口2222、软件框架类层2224、站点控制模组用接口2245、软件框架类层2246、预定模组电位用接口2247、背板通信程式库2249、机壳插槽IF(接口)2262、载入板硬件IF2264、背板模拟IF2283、载入板模拟IF2285、DUT模拟用IF2287、DUT的Verilog模型用的VerilogPLI(程式设计语言接口)2288、DUT的C/C++模型用的C/C++语言支持部2289。
使用者组成部2292可以包括有使用者测试计划部2242、使用者检测类层2243、硬件载入板2265、DUT2266、DUT Verilog模型2293和DUTC/C++模型2291。
***组成部2294可以包括有***工具部2226、通信程式库2230、检测类层2244、背板驱动部2250、包括着总线开关140的HW背板2261、模拟软件框架部2281、背板模拟部2282和载入板模拟部2286。
模组开发组成部2296可以包括有模组指令执行部2248、模组硬件部2263和模组模拟部2284。
外部组成部2298可以包括有外部工具部2225。
可以在如图1所示的***控制装置110上运行的、作为软件的***控制部2220,包括有与站点控制部相对的接口22、软件框架类层2224、***工具部2226、外部工具部2225和通信程式库2230。***控制用软件的主要特点是可以与使用者相互作用。而且在这儿,还可以提供出本实施形式中站点控制部用的闸道(gateway)部分,以及由转让给同一受让人的美国申请第60/449622号所记载的、在多站点/DUT环境中使站点控制部用的同步处理部。使用者应用部和工具部除了可以采用图形使用者接口(GUI)和工具部之外,还可以通过***控制部运行。***控制部具有可以作为包括测试计划、测试测试图案和测试参数档案的测试计划相关信息储存库使用的功能。测试参数档案在本发明的一种实施形式中,包括有对象指向环境中的测试类层用的参数化数据。
第三方的开发部,可以作为附加在标准***工具部2226上(或是作为取代该程式)的工具部实施提供。***控制部2220上的标准接口2222,具有由工具部对检测部和测试对象实施存取用的接口。工具部(应用部)2225、2226,可以对检测部和测试对象间实施相互的批量控制。这种工具部可以包括有提供(诸如通常在SECS/TSEM等中使用的)自动化处理能力的应用部。
位于***控制部2220处的通信程式库2230,可以对使用者应用部和测试程式处的、呈透明形式的站点控制部2240间的通信提供***维护。
接口2222常住在与***控制部2220相关的储存器处,为在***控制部处运行的软件框架对象提供开放型接口。站点控制数据库中的模组软件包括有可以对测试图案数据实施存取、获取用的接口。而且,应用部和工具部包括有对检测部和测试对象实施存取操作用的接口,以及能够通过手写引擎组件对检测部和测试对象实施存取操作的手写接口。采用这种构成形式,还可以使诸如实施人机对话等等的、批量处理和远程应用共用的***维护组件,能够运行相应的功能。
与***控制部2220相关的软件框架类层2224,可以提供与这些上述对象间相互作用的***维护部,进而可以提供标准接口的基准执行部。如果举例来说,本实施形式的站点控制部2240可以提供功能测试对象。***控制部的软件框架类层,可以代理该功能测试对象的远程***控制数据库,提供与其对应的功能测试单元块。因此,标准的功能检测接口可以相对***控制部2220处的工具部实施利用。***、模组开发组成部界面组成部2294、2296、2290,也可以采用分散在***控制部和站点控制部间的操作***。软件框架类层实际上可以提供与主***控制部相关的操作***接口。而且,它还可以由提供与站点控制部相对的门路部用的软件要素构成。因此,这种层不需要实施直接通过通信层对站点控制部实施操作,适当地进行存取操作,从而可以提供出作为本发明一种实施形式使用的对象模型。
在如图1所示的站点控制装置130上运行的、作为软件的站点控制部2240,可以构成为使用者测试计划部2242、使用者检测类层2243、标准检测类层2244、标准接口2245、站点控制部软件框架类层2246、模组高电位指令用接口(如果举例来说,也可以为预定模组电位用的接口)2247、模组指令执行部2248、背板通信程式库2249、背板驱动部2250的主机。在一种实施形式中,大部分测试功能均可以由站点控制部2104/2240获得,因此可以相对于测试站点部2110独立地动作。
测试计划部2242可以通过由使用者实施的写入操作实现。这种测试计划部可以利用诸如C++等等标准的电脑语言直接表述,也可以通过生成出可运行的测试程式和编译语言的C++编码,用更高层次的测试程式语言实施表述。
这种测试计划部可以使用软件框架类层2246,和/或与站点控制部相关的标准、由使用者提供的检测类层2244,制作出测试对象,构成可以使用标准接口2245的硬件,对测试计划部的程式实施定义。而且,还可以根据需要,在测试计划部的运行过程中,提供所需要追加的逻辑部。测试计划部可以对所谓的基本维护实施支持,提供诸如调试维护(比如说框架点等等)之下的对象维护用的接口,以及位于其下的软件框架和标准类层的存取部等等。
与站点控制部相关的软件框架类层2246,为对共用的检测器相关动作实施执行的类层和方法设置。如果举例来说,站点控制电位软件框架可以包括有电力供给和接脚电子元件的顺序序号、电位和计时时间条件的设定,测定值获取,测试程式控制所在的类层。软件框架对象也可以通过实施标准接口的方式动作。如果举例来说,测试接脚软件框架类层的执行程式,可以通过测试类层与硬件模组接脚间的相互作用,采用实施通用的测试接脚接口的方式将其统一起来。
软件框架对象也可以通过与模组间通信用的模组电位用接口2247的辅助动作实施执行操作。站点控制部软件框架类层实质上具有作为对各站点控制部实施支持的本机操作***使用的功能。
一般说来,程式编码中90%以上为装置测试用的数据,其余10%的编码为实现测试方法用的编码。装置测试数据为依赖于DUT的数据(比如说电力供给条件、信号电压条件、计时时间条件等)。测试编码可以由将指定的装置条件加载到ATE硬件上的方法构成,或是由使用者为实现指定目的(数据记录等等)所需要的方法构成。作为本发明一种实施形式的软件框架,可以提供出依赖于硬件的检测器,以及使用者完成DUT测试操作任务用的测试对象模型。
为了能够提高测试编码的再次利用率,这种编码还可以相对于装置特有的数据(比如说接脚的标识符号,活化数据等等),或是装置测试所特有的数据(比如说DC组件的条件,测定接脚,目标接脚数目,测试图案档案的标识符号,测试图案程式的位址等等)中的一个相对独立。如果测试编码为这些类型的数据,并且为编译语言,则测试编码的再次利用率比较低。因此,如果采用本发明的一种实施形式,使装置特有的数据或是装置测试所特有的数据在编码运行期间实施输入,将可以由外部利用这种测试编码。
在本发明的一种实施形式中,标准测试接口的执行用测试类层,在这儿是记载为ITest的,并且可以与特定类型的测试相关的检测器数据和编码相分离(因此可以使编码具有可再次利用性能)。这种测试类层,也可以为与装置特有的数据/装置测试所特有的数据不同的其它测试类层中的“模板”。测试类层是在测试类层档案中实施指定的。各测试类层的典型情况是,对具体类型的装置测试或是装置测试用的设置构成实施执行操作。如果举例来说,本发明的一种实施形式可以将与DUT相关的功能类层取为基本类层,并且可以提供出ITest接口的具体执行程式、比如说Functional Test等等。而且,还可以具有依据测试条件的设定、测试图案的实现和失败行程的存在状况,对测试状况实施判断的基本功能。其它类型的执行程式,在这儿还可以包括作为ACParametric Test和DCParametric Test的、表示为AC和DC测试类层的程式。
全部测试类型,还可以提供出某种假想方法的省略执行程式(如果举例来说,可以为init()、preExec()和postExec())。这些方法可以作为略过省略的动作,设定测试特有参数的测试引擎部用的入口点。因此,还可以使用在用户方测试类层和测试计划部中。
测试类层可以用来提供对与该测试特定场合相关的随机选择实施指定用的参数,从而可以由使用者实施类层的构成作业。如果举例来说,功能测试可以对实施测试图案一览表、测试用的电位和计时时间条件实施指定,所以可以采用参数PLIst和TestCondition。通过对(可以通过对测试计划部记述档案中不同的“类层”块使用的)这些参数的不同值实施指定的方式,使用者还可以制作出功能测试不同的实例。图9表示的就是由某一单一测试类层导出的不同测试实例。模板程式库可以采用由常规算法和数据建构的常规程式库。检测器的使用者可以了解这种程式库,所以使用者可以通过诸如使用者定义测试类层的方式,改变测试类层的执行部。
与由使用者开发的测试类层相关的一种***实施形式,为可以通过将全部测试类层统一在单一的测试接口、比如说通过ITest获得的软件框架处的方式,对这种测试类层实施支持,因此这种软件框架可以按照与***测试类层的标准设置相同的方式实施处理。不难理解,使用者还可以采用构成追加元件用的自行开发的测试程式中的算法编码,从而可以根据需要追加自行开发出的测试类层,进而实现功能的追加。
正如图1所示,按照包括有站点控制装置130、同步模组150、同步连接模组160和测试模组170的方式构成的各测试站点,可以是一个以上的DUT100测试专用的,所以可以具有作为构成测试模组170等等测试模组的集合体使用的功能。各测试模组是实施特定测试类层的主体。如果举例来说,测试模组可以通过DUT电源、接脚插件、模拟插件等构造。由模组构成的这种构成方式具有比较高灵活性和构成性。
模组指令执行部分类层2248还可以由模组硬件销售方实施提供,所以可以按照与销售方选择的指令实施方法相对应的方式,提供出与硬件模组相关的模组电位用接口的执行程式,或是标准接口模组所特有的执行程式。这种类层的外部接口,可以通过预定的模组电位用接口要素和背板通信程式库要素给予规定。这种层还可以通过对标准设置的测试指令实施扩张的方式提供,所以还可以对方法(功能)和数据要素实施追加。
背板通信程式库2249可以提供使用背板的标准通信用的接口,从而可以提供在与测试站点相连接的模组间实施通信所需要的功能。采用这种构成形式,还可以使用同步模组模拟部250,在与销售方特有的模组软件相对应的硬件间实施通信。背板通信协议(网络)为数据包的基础格式。
测试接脚对象可以表示为物理上的测试通道,在这儿可以由表示为ITesterPin的测试接脚接口构造。作为本发明一种实施形式的软件开发工具箱(SDK),可以提供被称为TesterPin的ITesterPin的省略执行程式,因此可以按照与预定模组电位接口IChannel相关的方式实施执行。销售方如果需要对与该IChannel相关的其它模组功能实施执行,可以根据需要自由使用TesterPin,如果不采用这种方式,将不能提供使其它模组动作用的ITesterPin执行程式。
由作为本实施形式的测试***提供的标准模组接口,在这儿表示为IModule,而且通常为可以由销售方提供的硬件模组。由销售方提供的***模组所特有的软件,以可以通过延迟锁定回路(DLL)方式运行的形式提供。由销售方提供出的各模组类型用的软件,也可以呈通过真空模盒方式制作出的单一DLL的形式。这种软件模组还可以分别具有模组软件开发用的API,并且可以通过将特有的执行程式提供给模组接口指令销售方的方式实现。
模组接口指令为两个层面。第一,具有作为使用者与***中特定硬件模组间实施(间接)通信用的接口使用的功能,第二,为第三方开发部门将其他方提供的自有模组统合在站点控制部电位软件框架提供一个接口。因此,由软件框架提供的模组接口指令,可以分为两种类型。
一种类型为几乎没有怀疑余地的,可以通过软件框架接口对使用者发出“指令”。因此如果举例来说,测试接脚接口(ITesterPin)可以按照能够获得、设定电位和计时时间值的方式实施提供,在另一方面,电源接口(IPowerSupply)可以按照使电力上升或下降的方式实施提供。
而且,软件框架可以使用在模组间的通信中,并且可以提供出预定模组电位用接口的特别类型。在这儿,采用的是可以与销售方提供的模组间实施通信所需要的软件框架类层用的接口(即软件框架接口的“标准”执行程式)。
因此,还可以根据需要,使用作为第二层面的模组电位用接口。采用这种构成形式的优点是,销售方可以通过执行模组电位用接口,对由相对彼此间硬件给出的具体信息内容给予关注,从而可以灵活地应用诸如ITesterPin和IPowerSupply等等的执行程式。如果这些接口与销售方的不吻合,还可以选择提供这些软件框架接口中的用户方执行程式(诸如ITesterPin、IPowerSupply等的销售方执行程式)。如果采用这种构成形式,将可以获得与这些硬件相对应的适当的用户方功能。
因此,模组所特有的销售方软件统合操作,可以通过两种方式实现,即通过相关的软件框架类层和接口的用户方执行程式,或是模组电位用接口的特别类型的用户方执行程式实现。
下面参考图10,对这两种方法的实例应用进行说明。图10为表示作为本发明一种实施形式的测试***与由销售方供给的模组间相互作用的统一建模语言(UML)类层结构图。
作为新的数字模组销售方的第三方A(TPA),可以提供出与该软件模组间实施通信的软件模组。这种软件模组可以执行标准的接口IModule。这种模组对象被称为TPAPinModule。销售方TPA可以使该模组中相关的预定模组电位接口,通过对于这种场合执行IChannel的方式,利用在这儿表示为TesterPin的、可以作为ITesterPin接口的标准***执行程式。在这儿,TesterPin实际上可以作为与模组间通信用的IChannel的标准预定模组电位接口使用。因此,TPAPinModule可以提供出单独制作TesterPin对象时用的接脚。
在这儿,IChannel接口判断自行开发的硬件是否产生有动作,由此对作为不同销售方的第三方B(TPB)进行分析。因此,TPB不仅需要提供自己的IModule执行程式(TPBPinModule),还需要提供ITesterPin接口的执行程式TPBTesterPin。
这种构成方式可以在对诸如第三方开发部门等等自行开发出的硬件实施选择和软件支持的过程中,向第三方开发部门提供比较大的灵活性。在获取另一种IModule接口的执行程式时,可以对模组电位接口实施执行操作,进而从中选择出适当的TesterPin等等的对象实施执行操作。
实际上,销售方还可以选择不支持对ITesterPin接口实施开发用的TesterPin执行程式。软件框架可以向使用者,提供获取特定接口用的***维护或是供给至对象的执行指示信息。对于使用者编码具有ITesterPin指示信息的场合,意味着可以对需要软件框架时所谓的TPBTesterPin对象是否实施指示给出判断。(请注意,这种特征可以通过标准的C++运行时间类型识别(RTTI)实施提供)。换句话说就是,测试计划部可以要求具有ITesterPin接口,而且该接口可以直接呼叫TesterPin类层的销售方提供的测试接脚执行程式,其模组内含有特有的信息(如果举例来说,包括按照对特定DUT实施刺激的方式设定的寄存器位址等等)。
在这时,软件框架编码可以使用常规的ITesterPin接口,所以使用者可以依据需要,自由采用由模组销售方提供的具体特征,并可以实施进一步开发。换句话说就是,模组销售方还可以在诸如类层标准***执行程式中附加有方法部(功能部)。相对于使用者的交换使用,对具体销售方提供的进一步扩展灵活应用,将会降低其它销售方提供的模组的测试编码的有用性。
利用模组的电位,可以使测试装置10具有所谓的两种动作模式。在联机动作模式下,可以采用通过包括有总线开关140、同步模组150、同步连接模组160、测试模组170、载入板180和DUT100的方式构成的模组单元2260(比如说硬件单元),而且在离线动作模式下,可以采用通过包括有总线开关模拟部240、同步模组模拟部250、同步连接模组模拟部260、测试模组模拟部270、进度安排控制部275、DUT连接部280和DUT模拟部200的方式构成的软件中的模组模拟部2280。
在联机动作模式下,模组单元2260可以具有包括有如图1所示的总线开关140的HW(硬件)背板2261,机壳插槽IF(接口)2262,包括有同步模组150、同步连接模组160和测试模组170的模组硬件部2263,载入板硬件IF2264,与载入板180相对应的硬件载入板2265,以及与如图10所示的DUT100相对应的DUT2266。
在离线动作模式下,作为软件的模组模拟部2280可以具有包括有如图2所示的进度安排控制部275的模拟软件框架部2281,包括有总线开关模拟部240的背板模拟部2282,背板模拟IF2283,包括有同步模组模拟部250、同步连接模组模拟部260和测试模组模拟部270等等的模组模拟部2284,载入板模拟IF2285,包括有DUT连接部280的载入板模拟部2286,以及DUT模拟用IF2287。两种模型均与DUT模拟相关。使用Verilog的模型,具有Verilog PLI(程式设计语言接口)2288和DUT Verilog模型2293。使用C/C++的模型具有C/C++语言支持部2289和DUT C/C++模型2291。而且,这种模拟也可以在诸如PC等等的电脑上运行。
在联机模式下,模组销售方可以对于数字测试通道、DUT电源或DC测定组件,提供出支持测试用的物理硬件组成部。模组可以通过机壳插槽IF2262,与HW背板2261间接口连接。
在离线模式下进行的作业,还可以在与***控制部等价动作的PC数据库或其它环境之外,附加提供站点控制部电位软件框架,和软件中更低的层的运行时间环境,同时可以完成对硬件实施模拟的全部任务。
背板模拟部2282还可以通过物理HW背板2261的软件实施替代提供。在这儿,可以通过背板模拟接口2283(由销售方提供的),与模组模拟部2284间实施通信连接。
模组模拟部2284可以由模组销售方提供,且通常与模组2263的特定销售方执行程式紧密结合。因此,模组模拟软件通常在由不同销售方供给的模组间详细描述其不同。对于这种场合,通过模组模拟方式,销售方将能够通过软件模型(比如说模组模拟软件2284)获得作为硬件使用的功能,从而可以相对实施模拟的载入板2286发送出活性化信号,通过DUT模拟用IF2287与DUT模型实验软件2291和2293相连接,进而可以对由实施模拟的载入板2286给出的DUT应答信号实施接收处理。而且,当对提供模组单纯功能模拟用的模组固件实施迂回模拟更有利时,还可以选择更适当的销售方。还可以通过模组模拟软件,将相对实施模拟的模组活性化信号的模拟DUT的应答,与已知应答良好的DUT应答进行比较。依据这种比较,软件可以对通过该模组运行的测试与所希望的、对DUT进行检测的目标间是否合适进行判断,使用者可以先在联机的实际检测部的IC(实际DUT)上使用,以便能够更好地进行模组的调试。
载入板模拟接口2285具有作为在模组模拟层和实施模拟的载入板2286间进行信号接收与发送的管路使用的功能。载入板模拟部2286能够支持与元件套接映象部(socket mapping)和DUT模拟用IF2287间进行的信号接收与发送。
DUT模拟部可以为自然语言编码(即C/C++)模拟部2291,或是相对作为对象的DUT模型2293的功能模型的Verilog过程语言接口(PLI)。这种模型可以通过DUT模拟接口2287,与实施模拟的载入板间实施接口连接。
对这些层进行的整体控制,可以通过模拟软件框架部2281实施。模拟软件框架部可以通过对已知活性化信号实施模拟的DUT应答实施测定。***模拟方法也可以采用如美国申请第10/403817所公开的方法。
通信和控制
通信和控制可以通过对相关软件对象的管理实现。在一种实施形式中,通信的***维护部可以隐藏在***控制部上的对象模组之后。这种对象模组可以给出能够在站点控制部上观察到的类层和相对对象的代理服务部,因此还可以提供出应用软件开发(比如说对IC装置的测试)用的、方便的程式设计模型。采用这种构成形式,应用软件的开发方(比如说ATE***的使用者)可以回避开不需要的、有关应用软件和站点/***控制部间的具体通信信息。
图11为表示保持在站点控制装置130内的站点控制软件2240处的站点控制对象的一种具体实施形式用的示意图。站点控制对象具有CmdDispatcher2602、FunctionalTestMsgHandler2604和FunctionalTest2606。接口具有IMsgHandler2608和ITest2610。
站点控制部2240最好包括有应用程式存取所需要的全部功能类层。这种类层可以包括测试部、模组、接脚等等。使用者测试部和软件工具部通常位于不同的电脑上,所以信息需要由***控制部的工具部处通知至站点控制部的服务器处。这种服务器需要具有与实施指令发送对象相关的方法。
指令发送对象(CmdDispatcher)2602,可以保持有执行IMsgHandler接口2608用的信息处理程式对象的映象部,图11表示出了IMsgHandler的一个具体执行程式FunctionalTestMsgHandler2604。通过CmdDispatcher对象2602接收到的信息,包括有实施通信所需要的对象识别元。这种识别元可以由内部映象部处看见,具体的执行程式在这种场合中,可以归在如图所示的FunctionalTestMsgHandler对象2604处。
在本实例中,IMsgHandler2608可以由单一方法handlerMessage()构成。这种方法还可以采用作为单一应用类层的执行程式。对于如图所示的场合,FunctionalTestMsgHandler2604可以按照与输入信息的正确性质相对应的方式,通知出六种方法中的一种信息。输入的信息标题,包括有可以对信息处理程式等等的信息实施解释,以确定可以对哪个信息实施通知用的信息ID。
与***控制装置110相对应的通信环境,与***控制软件2220中的工具部2225、2226部相关。图12为表示在***控制软件部2220中保持在***控制装置110上的工具部对象(或称为***控制部对象)的一种实施形式,它与如图11所示的站点控制对象相对应。工具部对象可以包括有对象CmdDispatcher2702、FunctionalTestMsgHandler2704和FunctionalTestProxy2706。接口包括有IMsgHandler2708、ITestClient2710和IDispatch2712。而且,还可以包括有公共应用部2714。
在这一实例中,类层CmdDispatcher2702、IMsgHandler2708和FunctionalTestMsgHandler2704,与如图11所示的部分相同。然而,FunctionalTest2606(或称其它的站点控制部分类层)并没有被实际装置化。与其相对应的是,工具部对象具有对站点控制装置130上的各对象实施通信用的代理类层。因此在该实例中,工具部对象包括有取代FunctionalTest2606用的FunctionalTestProxy2706。类似的,工具部对象中的ITestClient2710,也与站点控制对象中的ITest2610不同。一般说来,在站点控制装置130上动作的应用程式,还可以设置在站点控制装置130上而不再需要使用接口。对于这种场合,ITest2610中的三种方法(即preExec()、execute()和postExec()),可以被置换为ITestClient2710中的一种方法(即runTest())。而且,ITestClient2710最好还能够与对偶接口、即IDispatch2712相接,以便能够作为微软组成部对象模型(COM)实施执行。而且,这还可以提供出对这种接口用的对象的手写引擎部实施存取用的接口。如果采用这种构成形式,***可以通过微软视窗平台实施表述。
在如图11和图12所示的实施形式的一个构成实例中,(使诸如工具部组块2226、2228中的一个)在***控制装置110上动作用的应用程式,可以使测试计划部2242与具有一个以上的FunctionalTest对象2606的站点控制装置130间实施通信。在对站点控制装置130上的测试计划部2242实施初始化过程中,相对应的测试计划对象被闩锁在站点控制装置130上,构成为TestPlanMessageHandler对象,并且同时将其登录在CmdDispatcher2602上。这样可以在信息处理程式处具有独立的ID。还可以通过构成测试计划部2242的其它TestPlan对象,启动类似的动作。
利用***控制装置110上的(比如说工具部2226、2228中的)应用程式,可以使通信程式库2230初始化,通过通信通道与站点控制装置130连接,从而可以获得TestPlan对象用的ID。在这种初始化过程中,代理对象在其包括有测试部时,可以确定它们的类型和ID。而且,可以将它们的类型(对于这种场合仅有一种类型)闩锁在适当的DLL处,构成与其相关的代理对象,并且可以利用ID值使其初始化。
TestProxy对象也可以被初始化。采用这种构成形式,还可以将信号发送至由获取它们名称符号(使用它们的ID值)用的适当信息构成的站点控制装置130的通信服务器处。通信服务器可以将信息传递至CmdDispatcher2602。这种对象可以在其内部映象部中调入位址ID,并且可以将信息传递至FunctionalTestMsgHandler2604的handlerMessage()处。如果举例来说,当信息表示需要对测试部的名称实施获取时,这些对象可以分别获取到测试部名称,并通过适当的文字说明列对应用程式的TestProxy对象实施应答。
当初始化完成时,应用程式可以对TestPlan对象实施远程存取,进而可以通过其对两方Test对象实施远程存取。在这时,使用者可以按压下诸如应用程式上的“测试计划启动”按钮。因此,应用程式可以呼叫出TestPlanproxy对象上的RunTestPlan()方法。这种方法可以通过TestPlan对象的位址ID,构成RunTestPlan信息,并且可以通过RPC代理呼叫出sendMessage()功能。利用这种功能将可以把信息发送至站点控制部处。
站点控制装置130上的通信服务器,可以呼叫出CmdDispatcher对象2602上的handlerMessage()方法,将其转换为TestPlan对象的ID。CmdDispatcher对象2602可以通过其内部映象部呼叫该ID,对TestPlan对象用的信息处理程式实施观察,呼叫其对象上的handlerMessage()方法,进而由此呼叫出的TestPlan对象上的RunTestPlan()方法。通过使用类似的方法,应用程式可以获取到名称符号和Test对象的最近动作情况。
使用通信程式库的方法
下面对使用通信程式库2230的一个实例进行说明。
通信程式库2230在一种实施形式中是静态的程式库。应用程式可以通过CommLibrary.h档案使用该通信程式库。需要导出程式库类层的应用程式,除了包括有上述执行档案,还必须具有定义了的预处理程式定义COMMLIBRARY_EXPORTS、COMMLIBRARY_FORCE_LINKAGE。需要导入通信程式库的应用程式,不需要对预处理程式定义实施定义。通信程式库可以作为服务器使用,应用程式需要呼叫CcmdDispatcher的下一静态函数:InitializeServer(unsigned long portNo)。
这种portNo是服务器要求的访问口序号。与服务器相对应的指令调度程式,可以通过在CcmdDispatcher类层上呼叫静态函数getServerCmdDispatcher的方式实施读取。
如果将通信程式库作为委托单位使用,应用程式还需要对CcmdDispatcher的静态函数“InitializeClient(const OFCStringserverAddress,unsigned long serverportNo,CcmdDispatcher**pCmdDispatcher,OFCString serverID)”实施呼叫。
这种serverAddres和serverPortNo可以与委托单位间实施连接。这种函数可以用来使委托单位用指令调度程式指示部,以及和其相连接的服务器ID初始化。在随后的时间里,委托单位可以通过呼叫静态函数getServerCmdDispatcher的方式,对与服务器ID相对应的指令调度程式实施读取。
还可以对通信程式库实施编译,以便可以通过档案ClientInterface.idl和ServerInterface.idl,由构建实施排除。在一种最佳实施形式中,可以采用与这种接口定义档案相关的、已经生成出的存根(stub)和代理档案,并且在代理和存根执行档案相同的程式库处形成环路。因此,服务器和委托单位可以在相同的位址空间中被实际装置化。接口定义档案和类层档案中的下述变更,最好能够使通信程式库在服务器和委托单位相同的位址空间中动作。
接口定义档案中的变更
下面的名称空间说明部分,可以附加在各接口定义档案中。而且,需要避免在代理执行功能部和接口功能部的自身执行程式的名称符号间出现冲突。下面的名称空间说明部,就是附加在ServerInterface.id1中的。
存根执行档案中的函数,可以通过对接口中具有说明部功能的、自行建构的执行函数实施呼叫的方式进行变更。换句话说就是,自行建构的部可以具有与在接口中具有说明部的功能分别相对应的不同名称符号函数。
为了能够在函数呼叫时避免出现冲突,可以将通过“COMM_”列开始的名称符号,取为执行程式函数的名称符号。如果采用这种构成形式,类层函数中的编码,可以通过呼叫“COMM_functionName”取代“functionName”的方式实施变更。
按照这种方法动作时,所出现的全部功能类层,均需要具有相对应的信息处理程式对象和代理类层。全部的信息处理程式对象,可以由通信程式库提供的IMsgHandler类层处获得。IMsgHandler类层是一种抽象的类层。信息处理程式的执行任务,最好还能够提供出handlerMessage、setObject、handlerError的定义。全部信息类型可以由1开始(零的含义为存在handlerError)。功能类层可以具有与该成员变化情况相对应的信息处理程式。在功能类层的构建中,功能类层可以通过对该信息处理程式提供的函数实施呼叫的方式,对信息处理程式自身实施登录处理。信息处理程式对象可以通过对addMsgHandler函数在指令调度程式上,作为参数的信息处理程式实施获取的方式,对指令调度程式实施登录。addMsgHandler函数在信息处理程式和功能类层处可以作为ID使用。功能类层的调度程式,可以通过对作为参数的功能类层识别元实施发送的方式,在指令调度程式处呼叫出removeMsgHandler函数。而且,代理类层也可以按照对功能类层进行相关说明的方式,依据相同的登录顺序进行处理。
***构成和测试部
图13为表示作为本发明一种实施形式的所谓的测试指令序列2800用的示意图。测试指令序列2800包括有位于测试环境部2804中的模组安装部2815,进而包括有测试准备部2806和***测试部2808。在初始时,对新模组(硬件或软件或它们的组合形式)2810实施认证为的认证部2812(依据销售方的品质管理,或是依据与其无关的外部顺序)。安装部2815包括有测试准备部2806,后者可以对离线模拟部2809用的硬件模组模拟部实施设定,对测试程式展开部2814用的模组软件和接口实施设定,并且对测试图案编译部2816用的模组所特有的测试图案编译部实施设定。随后,***测试部2808可以利用由校正部2817、诊断部2818和构成部2820输入的方式实施运行。相对於新模组,可以由***测试部2808运行包括(1)接口控制、(2)同步、顺序设置和再现性、(3)错误/警报操作、(4)多重控制和(5)多指令(multi-instrument)模组控制等程式。
(补充说明B)DUT100的***软件框架的具体实例
B.1 概要
本具体实例表示的是以由测试模拟装置190,或***控制装置110和站点控制装置130等分散***构成的模拟环境(离线环境)为中心,面向DUT100的***软件使用者和开发方的软件框架。
B.2 使用者的具体实例
本部表示的是测试装置10的***软件面向使用者的软件框架。
B.2.1 SimTester
“SimTester(模拟的测试装置)”,是一种使电脑20具有作为如图2所示的测试模拟装置190使用的功能的应用程式。SimTester可以对各模组和DUT的DLL实施闩锁,对由***软件给出的指令实施应答的测试装置进行模拟。在这儿,***软件是一种可以对实施模拟的测试图案进行闩锁的运行软件。
SimTester在启动时,对模拟配置档案实施读取。因此,可以将测试模拟装置190闩锁为具有同步模组模拟部250、同步连接模组模拟部260和/或测试模组模拟部270的全部功能的模组模拟部DLL。当对DLL实施闩锁时,SimTester可以处于等待与***控制装置110相连接的状态。***控制装置110还可以对测试计划部实施闩锁,并且与SimTester相连接。测试计划部包括有离线配置档案。***控制装置110可以在对测试计划部的数据实施实际闩锁之前,将离线配置档案通知至SimTester处,并且结束初始化操作。如果离线配置档案被闩锁成功,SimTester对DUT模型实施闩锁,对DUT连接部280和作为DUT模拟部200的测试模组模拟部270等等的模组模拟部实施连接。在这时,模拟部可以实施测试图案读取和运行的准备操作。
当测试计划部未被闩锁时,SimTester接收未对DUT模型实施闩锁的信号,并且等待接收有关新的离线配置档案的信号。
B.2.2 建构档案
SimTester可以使用两个建构档案。第一档案为模拟配置档案。该档案可以确定是否可以使用模拟部中的模组。第二档案为离线配置档案。这一档案可以确定是否对DUT模型实施闩锁,是否与测试装置相互连接。
B.2.2.1 模拟配置档案
图14、图15表示的是模拟配置档案的一个实例。模拟配置档案可以呈阶层组块形式。
全局组块5010可以实施整体设定。InitialVoltage参数可以在模拟开始时对全部配线的电压初始值实施设定。该值也可以用来对不实施驱动的配线电压电位实施指定。
RecovertRate参数为选择用参数,在两个模拟信号相对驱动的场合使用。如果更具体的讲就是,该参数对于通过两个模拟信号对配线实施驱动的场合,可以用来确定到达一定电压电位所需要的时间,表示的是单位时间的电压变化量。
模组模拟组块5020可以对模组DLL实施指定,并且可以对该模组DLL实施设定。
Waveform组块给出的是各模组使用的波形模型说明部。波形模型可以在与DUT端子相连接的各通道处,对Step(步长波形)、Slew(旋转波形)和Analog(模拟波形)等实施指定。
Port组块给出的是使测试模拟装置190,具有作为同步模组模拟部250、同步连接模组模拟部260和/或测试模组模拟部270等使用的功能的模组模拟部的接口。
LogicalPort参数对于实际运行时某通道出现问题,而需要使用其它模组对***至该通道处的模组实施替换的场合,将这种替换记载在模组模拟部上用的信息。
模组模拟组块5020处的Params组块,表示的是通知至模组DLL处的参数。
B.2.2.2 离线配置档案
图16和图17表示的是离线配置档案的一个实例。
全局组块5110可以实施整体设定。RegSelect参数可以在测试图案扫描轨迹时对轨迹寄存器实施选择用的档案进行指定。
DUT模型组块5120可以对由DUT模型构成的DLL档案实施指定和各种设定。
Waveform参数可以对各DUT端子处的波形模型实施设定。DUT组块主要包括有Params组块和PinConnections组块。
Params组块对通知至模组DLL处的参数实施记载。
PinConnections组块对测试装置的资源(resource)和DUT端子间的连接状况实施指定。如果举例来说,“L3.11 10 1.0ns”表示的是逻辑访问口3上的序号为11的资源与DUT的端子10相连接,并且配线延迟为1.0ns。在这儿,逻辑访问口可以是诸如安装模组用的访问口,资源可以是设置在该模组内部处的通道对应逻辑回路等等。
B.3 面向开发方的具体实例
测试装置模组和DUT模型,可以采用如图5所示的模组模拟程式的软件框架,比如说可以采用由诸如C++语言的类层函数派生的方式实施制作。随着这种派生,需要对基本类层中的几个假想函数实施实际设置。这种软件框架可以包括有使测试装置模组和DUT模型间I/O实现容易用的函数。而且,通过使用这种软件框架的方式,还可以进行将所获得的DLL与测试模拟装置190上的其它组成部相连接的模拟操作。
B.3.1离线软件框架类层的构成形式
图18为更详细地表示如图5所示的软件类层分级建构用的一种软件类层分级建构5200的示意图。ThirdPartyModule类层和ThirdPartyDUT类层内的各方法是假想方法,然而也可以实际安装有对本模型的动作实施定义用的实际方法。SimComponent基本类层内的createDomain、registerDomain、releaseDomain、getDomain、registerEvent、和raiseEvent方法,可以使测试模拟装置190具有作为进度安排控制部275等等使用的功能,并且可以对DUT100的软件模拟部实施的存取操作给予支持。
图19为表示该软件框架中作为接口使用的通道对象的使用图表用的示意图。测试装置模组和DUT模型,可以包括有SimChannel对象序列。SimChannel对象的各实际装置化部分与该模型的I/O通道相对应。I/O通道可以通过SimChannelID对象实施识别。SimChanne类层可以通过模组和DUT模型,将输出电压的计时时间写入至输出通道,并且在由特定输入通道给出的计时时间里对电压实施读取。对于在由输入通道的时间窗口间,扫描到输入信号错误的场合,可以呼叫出SimChannel::getWaveformIter方法,从而可以获得simWaveformIter的实际装置化部分。而且,simWaveformIter对象可以在呼叫侧通道处,对于有限时间窗口中的全部错误实施返回处理。
图20为表示该软件框架中作为接口使用的事件对象的使用图表用的示意图。事件使用在该软件框架和第三方模组间实施的通信作业中。事件可以通过SimEvent类层被模封成型化。SimEvent的实际装置化部分可以通过SimEventmgr类层实施生成。一般说来,一个模型可以对SimEventmgr的一个实际装置化部分实施支持。对于一个模型与其它模组间实施特定事件信号通知的场合,需要采用数个SimEventmgr的实际装置化部分。
B.3.2 测试装置模组的安装
本部分以单纯数字驱动模组和数字选通模组(digital strobe module)为例,对模组的安装方法进行说明。
图21为表示作为测试装置一个实例的单纯数字模组的基本类层用的示意图。数字驱动模组和数字选通(strobe)模组的类层,是作为基本类层的派生类层实施生成的。
开发方可以依据该基本类层,对基本类层的构造类层、返回通道对象用的getChannel方法、设定模组储存器位址用的setBaseAddress方法、设定总线开关140的插槽序号用的setBusNumber方法、设定中断禁止/许可用的lockInterrupt/unlockInterrupt方法、对模组存储器位址空间实施寻址用的read/write方法等等,实施实际安装。
B.3.2.1 本机事件
对象的模拟可以通过事件驱动方式实现。换句话说就是,可以在各模组处对事件实施登录。事件发生时,还可以对登录事件的模组handlerEvent方法实施获取。
事件可以通过对SimEvent类层实施的定义,分类为同步事件和非同步事件。非同步事件还可以进一步分类为***事件和本机非同步事件。如果举例来说,***事件可以为***中断、测试图案生成结束等等。
B.3.2.1.1 本机非同步事件
本机非同步事件可用于在模组间的通信。这种事件和时间不相关。对于需要对非同步事件实施信号接收的场合,模组将会被覆盖,通过不具有时间自变量的registerEvent方法对事件实施登录。对于发生非同步事件的场合,模组可以呼叫出raiseEvent方法。接收到非同步事件的模组将被覆盖,在不具有时间自变量的registerEvent方法中对事件实施处理。
B.3.2.1.2 本机同步事件
本机同步事件(同步事件)可用作模组的读取事件和写入事件,即信号选通和驱动实施时间进度安排。同步事件可以在特定时间里将通知传递至模组处,然而不能用于模组间的通信。
B.3.3 单纯数字驱动模组
图22表示的是单纯数字驱动模组的一个类层说明部分。开发方可以对该类层的构造、返回销售方/模组信息用的getModuleIDs方法,以及对驱动模组实施初始化处理用的initEvent方法实施安装。
图23为表示数字驱动模组的handlerEvent方法的一个实例用的示意图。数字驱动模组在目前的循环时间里,可以将边缘部(edge)写入在各通道处。这种写入操作可以通过作为SimChannel对象配置列的m_channel的各要素中的set方法进行。SimChannel对象除了包括set方法之外,还可以包括off方法和end方法。off方法可以对信号驱动实施中断。end方法可以将该通道在预定时间里、比如说在循环时间里的信号生成结束信息通知至软件框架。当接收到这种通知信息时,相对位于通道相反侧的组成部分,即诸如DUT连接部280,可以给出由通道实施读取的指令信号。因此,可以通过该组成部对生成出的信号实施读取。一般说来,使用者可以在通过数个set方法对特定期间的电压实施设定之后,对该期间的最后一个end方法实施获取,从而可以对该期间的信号实施生成和通知。而且,set方法和end方法间的关系,将在B.3.5中进行详细说明。
B.3.4 单纯数字选通模组
图24表示的是单纯数字选通模组的一个类层说明部分。开发方可以与数字驱动模组相类似,对构建、getModuleIDs方法,以及initEvent方法实施安装。在这儿,数字选通模组可以对将DUT的输出值和期待值的比较结果储存在故障储存器用的read就write方法实施变更。
图25为表示数字选通模组的handlerEvent方法的一个实例用的示意图。数字选通模组可以采用SimChannel的read方法,在特定计时时间里对该通道的电压实施读取。而且,在循环时间里的处理结束之后,SimEventMgr对象在要求通知下一循环时间的结束计时时间的事件的同时,还可以通过registerEvent方法对该事件实施登录。
B.3.5 DUT模型的安装
DUT模型除了不包括事件驱动之外,可以按照与测试装置模组相同的方式实施制作。因此,DUT模型的基本类层SimComponentStepped,可以安装有initEvents方法、handlerEvent方法和I/O方法。为了能够在测试图案运行期间对DUT模型的动作实施定义,还需要对函数run实施安装。
图26表示的是通过测试装置实施驱动的八条配线,对再次输入至测试装置的DUT模型实施的类层定义。开发方可以依据该类层,对构建、getChannel方法和run方法实施安装。
图27为表示本DUT模型的run方法的一个实例用的示意图。run方法具有开始时刻和结束时刻这两个自变量。通过这些自变量,DUT模型可以依据由输入端子处输入的信号,由开始时刻至结束时刻间进入至内部状态,并且可以依据DUT内部状态的变化结果,实施数据输出。输入操作可以通过SimChannel对象进行,输出操作可以相对SimChannel对象实施发送。在这儿,输出可以在结束时刻后立刻进行。
run方法包括有对输入端子实施扫描、对DUT的内部状态实施更新、将数据输出至DUT的输出通道处等步骤。在这儿,即使对于在运行时间窗口之外仍存在有输出信号的fall边缘的场合,也可以根据需要通过set方法,将该fall边缘写入至输出通道处。当呼叫到end方法时,需要使输出信号处于fall状态。采用这种构成形式,为了不使输出信号的值产生变化,位于该通道相反侧的组成部在到达结束时刻之前,可以一直正确读取出通道的电压值。为了能够实现这一点,软件框架可以在最后的end方法呼叫出之后,在比该end方法之前的时刻禁止向通道的写入操作。
B.3.6 离线的DLL接口
随后,依据该软件框架,对模组和DUT模型的DLL实施构建,对生成这种模型的接口用的函数,以及处理结束后清零用的函数实施导出。采用这种构成形式,可以对模拟测试装置模组用的DLL和模拟DUT的DLL实施生成。
(补充说明C)***总线存取程式库的具体实例
C.1 概要
图28(a)、28(b)为表示实际环境6000和模拟环境6050中***总线存取程式库6014的位置分布用的示意图。DUT100的实际环境6000和测试模拟装置190用的模拟环境6050呈共用形式。
图28(a)为表示实际环境6000(联机环境)中***总线存取程式库6014的位置分布用的示意图。软件6010为可以在如图1所示的站点控制装置130上运行的软件。软件6010包括有由测试装置10的测试实施控制用的程式获取HLC(High Level Command)用的、对硬件6030实施存取指令生成的HLC处理部6012,包括依据存取指令进行通信处理用的通信程式库和依据通信程式库的指示对***总线(在本实例中,为PCI总线)实施存取用的总线存取程式库的***总线存取程式库6014,以及依据***总线存取程式库6014的指示对***总线实施控制用的PCI总线驱动部6016。
硬件6030包括有具有如图1所示的站点控制装置130的总线IF6032,以及总线开关140、同步模组150、同步连接模组160和/或测试模组170等等。与站点控制装置130中的总线插槽部相连接的总线IF6032,可以将通过PCI总线驱动部6016给出的存取指令,通过总线开关140通知至同步模组150和/或测试模组170等等处,以便进行该存取处理。
图28(b)为表示模拟环境6050(离线环境)中***总线存取程式库6014的位置分布用的示意图。离线处理程式6060为可以在如图1所示的站点控制装置130或测试模拟装置190上运行的软件,从而使测试模拟装置190具有作为站点控制模拟部230使用的功能。离线处理程式6060是在软件6010中将对硬件6030的控制,取代为对测试装置模拟处理器6080进行的控制用的变更处理程式。离线处理程式6060可以采用与软件6010大体相同的HLC处理部6012和***总线存取程式库6014,从而可以对软件6010的使用者提供出与软件6010共用的使用者电位接口。
测试装置模拟处理器6080为对测试装置10实施模拟用的处理程式,包括有对总线开关140实施模拟用的***总线模拟器6084,以及对同步模组150、同步连接模组160和/或测试模组170实施模拟用的模组模拟器6086。***总线模拟器6084具有使测试模拟装置190作为总线开关模拟部240使用的功能。模组模拟器6086具有将测试模拟装置190作为同步连接模组模拟部260和/或测试模组模拟部270使用的功能。下面在没有明确限定时,“模组模拟部”为联机环境中的同步模组150、同步连接模组160和测试模组170,离线环境中的同步模组模拟部250、同步连接模组模拟部260和测试模组模拟部270的统称。
C.2 模组控制通用函数
在本部分中,对使用控制在站点控制装置130上运行的同步模组150、同步连接模组160和/或测试模组170用的模组驱动部时所具有的通用功能进行说明。在模组驱动部内,可以对使用该程式库的各种模组内的寄存器和储存器实施存取,以便可以对实施元件测定所需要的数据实施读取/写入操作。由本部分所说明的主要功能如下所述。
1、使用程式I0进行的总线存取操作
2、使用DMA功能进行的总线存取操作
3、中断操作处理
4、程式库/***的控制
C.2.1 使用程式IO进行的总线存取操作
***总线存取,包括向连接在总线上的各模组的寄存器处实施MW(Machine Word)直接写入的方式,以及向各模组处实施HLC(High LevelCommand)通知的方式这两种。无论对于那种场合,均有Address和Data在***总线上流动。对于在各模组侧使用Address对HLC实施识别的场合,可以在各模组侧运行与其HLC相对应的处理。由站点CPU(站点控制装置130)向各模组实施数据写入的信号,可以与数据一起向与CPU相连接的各模组实施通知,从而可以由各模组侧对该数据实施获取。
在***总线和各模组内配置有FIFO,对于由站点CPU向各模组实施数据通知的场合,可以通过等待各模组写入操作结束的方式结束CPU的写入动作(posted write)。将数据实际储存在寄存器处之前的时间,会受到位于由CPU给出的目标寄存器间的FIFO占空状态的影响。对于需要对全部模组实施信号可靠通知的场合,可以利用FIFO的刷新(flush)等待功能。对于使用各模组内的寄存器读取的实施FIFO刷新的场合,还可以保证仅对作为读取对象的模组的FIFO实施刷新。
离线的***总线模拟器6084包括有FIFO。因此,对于不具有FIFO的模组模拟器6086实施PIO写入的场合,还可以由将数据储存在模组模拟器6086的寄存器处用的函数实施返回操作。
而且类似的,对于联机场合,当将数据写入至具有FIFO的模组模拟器6086时,可以在将数据储存在模组模拟器6086的FIFO处之后,立刻结束写入处理。
C.2.1.1 使用程式IO的写入操作
可以相对于模组的寄存器实施数据写入操作。站点CPU可以在写入数据到达模组之前,结束写入动作(posted write)。
·名称:BCL_GBI_write
·形式:int BCL_GBI_write(unsigned int address,unsignedintdata)
·自变量:address(计算机字位址),data(写入数据)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.1.2 使用程式IO的读取操作
可以相对于模组的寄存器实施数据的读取操作。站点CPU可以在读取出数据之前处于待机状态。而且,位于由CPU给出的目标寄存器间的FIFO内的数据被刷新之前,作为对象的寄存器处于等待读取状态。
·名称:BCL_GBI_read
·形式:int BCL_GBI_read(unsigned int address,unsignedint *data)
·自变量:address(计算机字位址),data(对数据读取变量的指示)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.1.3 使用程式IO的组块写入操作
可以相对于模组的寄存器实施成组数据的写入操作。数据格式可以通过对偶关系,对位址和数据实施指定。***总线可以分几次运行对写入循环实施的指定。
对于需要对数任意位址实施数据写入的场合,可以实现比每次写入BCL_GBI_write()函数速度更快的操作。在这儿当已经对函数实施一次呼叫时,将不需要进行数次的排它处理。
·名称:BCL_GBI_writeBlock
·形式:int BCL_GBI_writeBlock(unsigned int *address,unsigned int *data,unsigned int number)
·自变量:address(对位址储存列的指示),data(对数据储存列的指示),number(写入的数据数目)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.1.4 使用程式IO的组块读取操作
可以相对于模组的寄存器实施成组数据的读取操作。寄存器位址可以被指定为不连续的值。***总线可以分几次运行对读取循环实施的指定。
对于需要对数任意位址实施数据读取的场合,可以实现比每次读取BCL_GBI_write()函数速度更快的操作。在这儿当已经对函数实施一次呼叫时,将不需要进行数次的排它处理。
·名称:BCL_GBI_readBlock
·形式:int BCL_GBI_readBlock(unsigned int *address,unsigned int *data,unsigned int number)
·自变量:address(对位址储存列的指示),data(对数据读取列的指示),number(读取的数据数目)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.1.5 使用程式IO的连续组块写入操作
可以相对于配置在模组等间隔位址处的寄存器实施数据列的写入操作。可以由指定的开始位址处实施数据列的写入操作,并且将每次数据写入的位址叠加在偏置值上。偏置值可以被指定为由0至0x3ffffff间的值。***总线可以分几次运行对写入循环实施的指定。
对于需要对数具有固定偏置值的位址实施数据写入的场合,可以实现比写入BCL_GBI_writeBlock()函数速度更快的操作。在这儿可以通过使用软件进行位址叠加运算的方式,减少PCI总线上流动的数据包数目。
·名称:BCL_GBI_writeSeq
·形式:int BCL_GBI_writeSeq(unsigned int address,unsigned int *data,unsigned int number,unsigned intoffset)
·自变量:address(计算机字位址),data(对数据储存列的指示),number(写入数据的数目),offset(对每次数据通知的位址实施叠加运算的偏置值)
.返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.1.6 使用程式IO的连续组块读取操作
可以相对于配置在模组等间隔位址处的寄存器实施数据列的读取操作。可以由指定的开始位址处实施数据列的读取操作,并且将每次数据读取的位址叠加在偏置值上。偏置值可以被指定为由0至0x3ffffff间的值。***总线可以分几次运行对读取循环实施的指定。
对于需要对数具有固定偏置值的位址实施数据读取的场合,可以实现比读取BCL_GBI_readBlock()函数速度更快的操作。在这儿可以通过使用软件进行位址叠加运算的方式,减少PCI总线上流动的数据包数目。
·名称:BCL_GBI_readSeq
·形式:int BCL_GBI_readSeq(unsigned int address,unsignedint *data,unsigned int number,unsigned int offset)
·自变量:address(计算机字位址),data(对数据读取列的指示),number(读取数据的数目),offset(对每次数据通知的位址实施叠加运算的偏置值)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.2 使用DMA功能进行的总线存取操作
使用DMA的数据通知,可以准备出如下所述的同步/非同步的写入/读取这四种函数。而且,可以利用由此对突发式(burst)DMA/单道式(single)DMA实施选择。
(1)同步/非同步DMA
对于为同步DMA的场合,函数可以在等待DMA结束时结束函数。如果在等待DMA结束时结束函数,通知数据会残留在***总线IF和模组内的FIFO处。
对于为非同步DMA的场合,函数可以不在等待DMA结束时结束函数。因此在DMA结束之前,需要在使用者侧保证数据区域的写入循环。对于非同步DMA的通知未结束,需要进一步利用DMA运行函数的场合,可以在前一DMA通知结束之前使函数处于等待状态。还可以制作出通知ID,作为等待非同步DMA处理结束用的识别信息。这种通知ID可以是由32比特符号构成的数据,对于通知DMA的次数超过32比特的场合,可以返回至0再次加以利用。
(2)突发式/单道式DMA
突发式DMA的通知,可以通过***总线上突发专用数据包实施数据通知。这种通知可以将一个位址和N个(最大为64个)数据构成一组数据包,在指定的数据结束之前对数据包实施重复通知。因此,这种通知可以是高速通知。
而且,在实施DMA通知时,还可以对各种模组侧的位址增加值实施指定。这种增加值可以在对第二组以后的数据包实施通知时,利用数据包的前侧位址实施计算。换句话说就是,有“(数据包位址)=((指定的增加值)*(前一次数据包中的数据个数))+(前一次数据包的前侧位址)”。
可以实施突发式通知的寄存器与模组相关,所以需要对是否为可利用的寄存器实施确认。
单道式DMA的通知,与在***总线上的程式IO相类似,可以通过设置位址和数据的方式实施通知。因此,通知速度会比突发式DMA低,然而可以相对某个寄存器实施通知。在实施DMA通知时,还可以对***总线侧的位址增加值实施指定。这种增加值可以在每次实施寻址时,将增加值叠加在位址处。
对于为离线的场合,即使指定为突发式通知,内部也可以按照实施单道式通知的形式构造。对于这种场合,也将可以向不支持突发式通知的寄存器实施通知。然而,当在联机状态下利用这种方式时,仍需要避免相对硬件不支持突发式通知的寄存器实施通知。而且,对于离线的同步/非同步DMA可以与联机状态相类似。
C.2.2.1 使用DMA功能的同步写入操作
可以利用DMA,将配置在站点CPU的储存器上的数据通知至各模组处。这种函数可以通过同步写入操作,对突发式/单道式实施指定。
·名称:BCL_GBI_writeSyncDMA
·形式:int BCL_GBI_writeSyncDMA(unsigned int address,unsigned int *data,unsigned int number,unsigned intoffset,unsigned int mode)
·自变量:address(计算机字位址),data(对数据储存列的指示),number(写入数据的数目),offset(对每次数据通知的位址实施叠加运算的偏置值),mode(Burst/Single的动作模式)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.2.2使用DMA功能的同步读取操作
可以利用DMA,由模组内的寄存器处将数据读取至站点CPU的储存器上。这种函数可以通过同步读取操作,对突发式/单道式实施指定。
·名称:BCL_GBI_readSyncDMA
·形式:int BCL_GBI_readSyncDMA(unsigned int address,unsigned int *data,unsigned int number,unsigned intoffset,unsigned int mode)
·自变量:address(计算机字位址),data(对数据r读取列的指示),number(读取数据的数目),offset(对每次数据通知的位址实施叠加运算的偏置值),mode(Burst/Single的动作模式)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.2.3 使用DMA功能的非同步写入操作
可以利用DMA,将配置在站点CPU的储存器上的数据通知至各模组处。这种函数可以通过非同步写入操作,对突发式/单道式实施指定。
·名称:BCL_GBI_writeAsyncDMA
·形式:int BCL_GBI_writeAsyncDMA(unsigned int address,unsigned int *data,unsigned int number,unsigned intoffset,unsigned int mode,unsigned int *transferID)
·自变量:address(计算机字位址),data(对数据储存列的指示),number(写入数据的数目),offset(对每次数据通知的位址实施叠加运算的偏置值),mode(Burst/Single的动作模式),transferID(对通知结束等待ID的指示)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.2.4 使用DMA功能的非同步读取操作
可以利用DMA,由模组内的寄存器处将数据读取至站点CPU的储存器上。这种函数可以通过非同步读取操作,对突发式/单道式实施指定。
·名称:BCL_GBI_readAsyncDMA
·形式:int BCL_GBI_readAsyncDMA(unsigned int address,unsigned int *data,unsigned int number,unsigned intoffset,unsigned int mode,unsigned int *transferID)
·自变量:address(计算机字位址),data(对数据读取列的指示),number(读取数据的数目),offset(对每次数据通知的位址实施叠加运算的偏置值),mode(Burst/Single的动作模式),transferID(对通知结束等待ID的指示)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.2.5 对非同步DMA通知的结束等待操作
可以利用DMA,等待非同步通知的通知结束。这种函数对于DMA已经结束的场合或已经经过指定时间的场合,可以实施函数结束操作。时间的指定范围,可以采用分解能力为1ms的32比特符号的计时时间值,即可以为0~(INT_MAX/1000)。对于对该范围之外实施指定的场合,可以类似的对BCL_GBI_INFINITE实施指定。
而且,对于transferID由错误值实施指定的场合,可以立刻返回BCL_GBI_OK,结束这一函数的运行。
·名称:BCL_GBI_waitDMA
·形式:int BCL_GBI_waitDMA(unsigned int transferID,unsigned int timeOut)
自变量:、transferID(在非同步模式通知时返回的通知结束等待ID),timeOut(等待时间。等待直至BCL_GBI_INFINITE:DMA的结束)
·返回值:BCL_GBI_OK(DMA为正常的结束),BCL_GBI_ERROR(DMA出现错误),BCL_GBI_TIMEOUT(计时时间结束)
C.2.2.6 对非同步DMA实施通知的操作
可以对非同步DMA通知的当前状态实施信号通知。对于transferID被错误指定的场合,可以按照与DMA结束相同的状态实施信号通知。
·名称:BCL_GBI_getConditionDMA
·形式:int BCL_GBI_getConditionDMA(unsigned int transferID)
·自变量:transferID(在非同步模式通知时返回的通知结束等待ID)
·返回值:BCL_GBI_OK(DMA为正常的结束),BCL_GBI_ERROR(DMA出现错误),BCL_GBI_BUSY(DMA运行过程中)
C.2.3 中断操作处理
通过***总线存取程式库,可以获得进行中断基本操作用的功能。可以利用***总线存取程式库实施操作的中断,具有下述的四种类型。
1、Bus错误产生的中断(仅仅为联机状态)
可以对最大为65个的中断处理程式实施登录。
2、Bus计时时间结束产生的中断
可以对最大为65个的中断处理程式实施登录。
3、Sync错误产生的中断(仅仅为联机状态)
可以对最大为65个的中断处理程式实施登录。
4、由各种模组发生的中断
可以利用各总线序号,对最大为2个的中断处理程式实施登录。
如上所述的中断,可以通过中断专用线程(thread)实现。
当出现***总线I/F时,Bus错误、Bus计时时间结束、Sync错误产生的中断,可以在中断专用线程的内部对中断实施截止,随后依次实行分别登录的对象中断处理程式。在作为对象的中断处理程式结束之后,中断专用线程对中断的原因实施清零处理,由内部使中断恢复正常。
对中断信号的接收除了对中断专用线程内实施恢复正常/截止操作之外,还可以通过程式库函数对恢复正常/截止操作进行控制。由各模组产生的中断,可以在内部由中断专用线程对中断实施截止,从而可以相对各模组实施中断状态的闩锁。随后,可以按照与产生中断的总线序号相对应的方式,依次实行中断处理程式。在作为对象的中断处理程式结束之后,中断专用线程对与该模组相对应的中断原因实施清零处理,随后解除中断闩锁,通过内部使中断恢复正常。
对中断信号的接收除了对中断专用线程内实施恢复正常/截止操作之外,还可以通过程式库函数对恢复正常/截止操作进行控制。可以分别通过***总线I/F访问口和各种模组,对中断的禁止/许可操作实施控制。
由***总线I/F访问口侧实施的禁止/许可操作,可以通过单个模组对中断实施恢复正常/截止操作。由模组侧实施的禁止/许可操作,可以通过模组侧的中断发生元对中断的发生实施控制。在闩锁期间,可以禁止在模组内出现新的中断处理程式,进而可以禁止中断关系出现状态变化。在解除闩锁之后,可以由模组侧实施中断操作处理。
C.2.3.1 对模组中断处理程式的登录
当由模组侧产生中断时,可以对中断处理程式函数实施登录。对于所登录的函数为中断发生的场合,可以通过中断处理程式专用的线程实施运行。中断处理程式可以同时对总线序号实施登录,而且可以在出现中断的模组序号和所登录的总线序号相等时,启动中断处理程式。
而且对于中断处理程式,可以对登录时设定的值同时实施返回。中断处理程式可以在每个总线序号处登录两个。总线序号可以指定为由1至64间的数字。登录成功时的返回值可以返回的是按键序号。当使用这种按键序号实施登录时,还可以对该按键序号的中断处理程式实施再次登录和删除处理。当对为0的按键序号实施登录时,可以将中断处理程式设定在空着的按键序号处。对于没有空着的按键序号的场合,将返回表示出现错误的返回值-1。对于实施的中断处理程式为两个登录的场合,可以由某个按键序号开始依次进行。
对于中断处理程式的删除处理,可以将回调(callback)函数的位址作为BCL_GBI_IGNORE_MODULE_HANDLER实施登录。中断专用线程可以运行BCL_GBI_IGNORE_MODULE_HANDLER的中断处理程式。对于每个总线序号处有两个中断处理程式,而且两个均为BCL_GBI_IGNORE_MODULE_HANDLER的场合,可以使为该总线序号的中断处理程式返回至初始状态(对位址程式库内的标准中断处理程式实施设定)。
·名称:BCL_GBI_addInterruptHandler
·形式:int BCL_GBI_addInterruptHandler(unsigned intBusNo,int KeyNo,BCL_GBI_MODULE_HANDLER handler,unsignedint arg)
·回调函数:void InterruptRoutine(unsigned int BusNo,unsigned int Factor,unsigned int arg)
·自变量:BusNo(总线序号),KeyNo(按键序号),handler(回调函数的位址),arg(向中断处理程式的过渡值),Factor(中断原因(与各模组相关))
·返回值:中断处理程式登录的按键序号(对于为-1的场合,表示为登录失败的“不正确的总线序号或按键序号”)
C.2.3.2 对总线错误中断处理程式的登录
对于***总线发生错误的场合,可以对错误处理函数实施登录。对于***总线发生错误的场合,中断处理程式可以运行所登录的函数。而且对于***总线发生错误的场合,可以中断专用线程对中断处理程式实施清零处理。还可以在中断处理程式中实施清零处理。
由于Bus错误产生的中断处理程式的登录数目,可以一直达65个。登录成功时的返回值可以返回的是按键序号。当使用这种按键序号实施登录时,还可以对该按键序号的中断处理程式实施再次登录和删除处理。当对为0的按键序号实施登录时,可以将中断处理程式设定在空着的按键序号处。对于没有空着的按键序号的场合,将返回给出返回值-1。对于中断处理程式的删除处理,可以将回调函数的位址作为BCL_GBI_IGNORE_BUSERROR_HANDLER实施登录。
中断专用线程可以运行BCL_GBI_IGNORE_BUSERROR_HANDLER的中断处理程式。对于65个中断处理程式均为BCL_GBI_IGNORE_BUSERROR_HANDLER的场合,可以返回至初始状态(对位址程式库内的标准中断处理程式实施设定)。Bus错误可能由***总线上的通信错误和硬件故障等产生。
而且,由于在离线状态下不会出现Bus错误,所以本函数登录的是驱动部分的动作。
·名称:BCL_GBI_addBusErrorInterruptHandler
·形式:int BCL_GBI_addBusErrorInterruptHandler(int KeyNo,BCL_GBI_BUSERROR_HANDLER handler,unsigned int arg)
·回调函数:void BusErrorInterruptRoutine(unsigned int arg)
·自变量:KeyNo(按键序号),handler(回调函数的位址),arg(向中断处理程式的过渡值)
·返回值:中断处理程式登录的按键序号(对于为-1的场合,表示为登录失败的“不正确的总线序号或按键序号”)
C.2.3.3 对总线计时时间结束中断处理程式的登录
对于***总线出现计时时间结束的场合,可以对错误处理函数实施登录。对于***总线出现计时时间结束的场合,中断处理程式可以运行所登录的函数。而且对于***总线出现计时时间结束的场合,还可以通过中断专用线程对中断操作实施清零处理。
可以在中断处理程式中实施清零处理。由于Bus计时时间结束产生的中断处理程式的登录数目,可以一直达65个。登录成功时的返回值可以返回的是按键序号。当使用这种按键序号实施登录时,还可以对该按键序号的中断处理程式实施再次登录和删除处理。当对为0的按键序号实施登录时,可以将中断处理程式设定在空着的按键序号处。对于没有空着的按键序号的场合,将返回给出返回值-1。对于中断处理程式的删除处理,可以将回调函数的位址作为BCL_GBI_IGNORE_TIMEOUT_HANDLER实施登录。
中断专用线程可以运行BCL_GBI_IGNORE_TIMEOUT_HANDLER的中断处理程式。对于65个中断处理程式均为BCL_GBI_IGNORE_TIMEOUT_HANDLER的场合,可以返回至初始状态(对位址程式库内的标准中断处理程式实施设定)。Bus计时时间结束可能在缆线拔起状态下实施写入操作时,和在没有接收到信号的场合实施写入操作时发生。而且,硬件故障等等也可能是出现这种现象的原因。
·名称:BCL_GBI_addTimeoutInterruptHandler
·形式:int BCL_GBI_addTimeoutInterruptHandler(int KeyNo,BCL_GBI_TIMEOUT_HANDLER handler,unsigned int arg)
·回调函数:void TimeoutInterruptRoutine(unsigned intaddress,unsigned int Factor,unsigned int arg)
·自变量:KeyNo(按键序号),handler(回调函数的位址),address(产生计时时间结束的计算机字位址),Factor(产生计时时间结束的原因“BCL_GBI_FACTOR_MODULE:模组的读取操作,BCL_GBI_FACTOR_CONFIG:配置部分的读取操作,BCL_GBI_FACTOR_WRITE:全部的写入操作”),arg(向中断处理程式的过渡值)
·返回值:中断处理程式登录的按键序号(对于为-1的场合,表示为登录失败的“不正确的总线序号或按键序号”)
C.2.3.4 对Sync错误产生的中断处理程式的登录
对于***总线发生Sync错误的场合,可以对错误处理函数实施登录。对于***总线发生Sync错误的场合,中断处理程式可以运行所登录的函数。而且对于***总线发生Sync错误的场合,还可以中断专用线程对中断操作实施清零处理。还可以在中断处理程式中实施清零处理。
由于Sync错误产生的中断处理程式的登录数目,可以一直高达65个。登录成功时的返回值可以返回的是按键序号。当使用这种按键序号实施登录时,还可以对该按键序号的中断处理程式实施再次登录和删除处理。当对为0的按键序号实施登录时,可以将中断处理程式设定在空着的按键序号处。对于没有空着的按键序号的场合,将返回给出返回值-1。
对于中断处理程式的删除处理,可以将回调函数的位址作为BCL_GBI_IGNORE_SYNCERROR_HANDLER实施登录。中断专用线程可以运行BCL_GBI_IGNORE_SYNCERROR_HANDLER的中断处理程式。对于65个中断处理程式均为BCL_GBI_IGNORE_SYNCERROR_HANDLER的场合,可以返回至初始状态(对位址程式库内的标准中断处理程式实施设定)。Sync错误可能由软件设定缺陷和硬件设计不良等产生。而且,硬件故障等等也可能是出现这种现象的原因。
而且,由于在离线状态下不会出现由Bus产生的Sync错误,所以本函数登录的是驱动部的动作。
·名称:BCL_GBI_addSyncErrorInterruptHandler
·形式:int BCL_GBI_addSyncErrorInterruptHandler(intKeyNo,BCL_GBI_SYNCERROR_HANDLER handler,unsigned int arg)
·回调函数:void SyncErrorInterruptRoutine(unsigned intarg)
·自变量:KeyNo(按键序号),handler(回调函数的位址),arg(向中断处理程式的过渡值)
·返回值:中断处理程式登录的按键序号(对于为-1的场合,表示为登录失败的“不正确的总线序号或按键序号”)
C.2.4 程式库/***总线的控制
C.2.4.1 FIFO的刷新等待操作
在与站点CPU相连接的***总线处连接着的全部模组,均可以实施FIFO的刷新等待操作。FIFO位于***总线I/F访问口之内和模组之内。当这一函数结束时,意味着该函数运行前位于FIFO之内的数据,写入在全部模组处。在这种函数的运行过程中,CPU相对PCI发出读取循环时间用的、直至FIFO刷新之前的总线被硬性闩锁。因此,这时DMA通知和中断信号接收会出现延迟。而且,通过运行这一函数还会出现计时时间结束现象。
对于为离线的场合,还存在有***总线模拟的FIFO。而且,模组内的FIFO还与销售方相关。
·名称:BCL_GBI_waitFlushFIFO
·形式:int BCL_GBI_waitFlushFIFO(void)
·自变量:无
·返回值:BCL_GBI_OK(刷新结束),BCL_GBI_ERROR(出现错误)
C.2.4.2 模组的复位操作
对于与站点CPU相连接的模组,可以实施复位操作。利用这种函数可以进行下述的处理操作。
1、向***总线发送出总线复位用数据包。
2、向***总线发送出中断清零用数据包。
3、向***总线发送出中断卸载数据包。
而且,复位动作和相应的时间与各模组的构成形式相关。
·名称:BCL_GBI_resetModule
·形式:int BCL_GBI_resetModule(void)
·自变量:无
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.4.3 程式库的初始化操作
可以对***总线存取程式库实施初始化操作。对于利用***总线存取程式库的场合,需要在最初进行这种初始化处理。而且,利用这种函数可以进行下述的处理操作。
1、位址程式库变量的初始化操作
2、实施中断处理程式的线程启动操作
而且,***总线I/F上的中断可以处于禁止状态。
对于为离线的场合,可以使用这种函数进行***总线模拟部的组块间通信的准备作业。当***总线模拟部间不能在30秒内建立连接,可以使其处于计时时间结束状态。
·名称:BCL_GBI_init
·形式:int BCL_GBI_init(unsigned int siteNo,int mode)
·自变量:siteNo(站点序号“1~8”),mode(对联机/离线状态的指定。BCL_GBI_ONLINE:联机,BCL_GBI_OFFLINE:离线)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(站点序号位于规定范围之外),BCL_GBI_TIMEOUT(在离线状态下30秒内未能与***总线间建立连接)
C.2.4.2 程式库的开放操作
用于对***总线存取程式库实施使用结束的处理操作。
·名称:BCL_GBI_finish
·形式:int BCL_GBI_finish(unsigned int siteNo)
·自变量:siteNo(站点序号“1~8”)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(站点序号位于规定范围之外)
C.2.4.5 对联机/离线的识别操作(BCL_GBI_isOnline)
用于对当前动作中的***总线存取程式库,是处于联机动作状态还是处于离线动作状态进行识别。
·名称:
·形式:int BCL_GBI_isOnline(void)
·自变量:无
·返回值:BCL_GBI_ONLINE(联机),BCL_GBI_OFFLINE(离线)
C.2.4.6 对与GBSC间是否进行通信实施的确认操作
用于对***总线I/F与GBSC(***控制装置110)间是否进行通信实施确认。采用这种构成形式,可以对GBSC的电源接入实施确认。
·形式:BCL_GBI_getConnected(unsigned int *connect)
·自变量:connect(对储存是否进行通信的结果用的变量的指示)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.2.4.7 详细错误信息的获取操作
***总线存取程式库在返回有BCL_GBI_ERROR时,可以对详细错误信息实施返回。
·名称:BCL_GBI_getLastError
·形式:unsigned int BCL_GBI_getLastError
·自变量:无
·返回值:返回无符号的32比特错误信息。
bit31:确定错误编码种类用的值
0:Windowe的错误编码(参考System Error Codes)
1:位址程式库固有的错误编码
bit30-24:确定发生错误的函数内的位置用的值
bit23-16:确定发生错误的位址程式库函数用的值
bit15-0:错误编码
当bit31取为0时:为getLastError()的下位16bit值
当bit31取为1时:为位址程式库的内部错误值
C.2.4.8详细错误信息历史的获取操作
直至目前一直使用着的***总线存取程式库在返回有BCL_GBI_ERROR时,可以对最多为16次的过去详细错误信息实施返回。
·形式:unsigned int BCL_GBI_getPreviousErrors(unsignedint *error,unsigned int size)
·名称:BCL_GBI_getPreviousErrors
·自变量:error(对储存错误信息用的列变量的指示。错误信息的格式与BCL_GBI_getLastError()相同),size(储存错误信息用的列变量的尺寸)
·返回值:返回所储存的错误信息数目。
C.3 计时时间函数
本部分对利用***总线I/F访问口上的计时时间硬件的函数进行说明。安装在***总线I/F访问口上的硬件的计时时间分解能力为1(us)。
C.3.1 对已经过时间的读取
C.3.1.1 对时间的读取
可以对***总线存取程式库由实施初始化时起的经过时间按秒(s)实施读取。
<限制事项>
分解能力需要为1(us),然而对于对double型实施的变换、读取,需要对double的有效数字*1(us)以上的值实施读取的场合,是一种不能获得1(us)分解能力的场合。当double的有效数字为十进制的15数字时,理论上讲需要在***总线存取程式库由实施初始化时起经过大约31年的时间,才能够获得为1(us)的分解能力。
硬件计数组件是按照64比特实施动作的,所以理论上讲需要在***总线存取程式库由实施初始化时起经过大约58万年的时间,才能够返回至0。对于程式需要按照一定时间间隔实施读取的场合,差分(经过时间)并不能由CPU的负载状态、PCI总线的负载状态和FIFO状态构成为一定值。
(离线状态>
在离线状态下,可以通过离线处理程式,对站点CPU由启动时起的经过时间按秒(s)实施读取。
·名称:BCL_TMR_readTime
·形式:int BCL_TMR_readTime(double*time)
·自变量:time(***总线存取程式库由实施初始化时起的经过时间(s))
·返回值:BCL_TMR_OK(正常结束)
C.3.1.2 对时间计数组件值的读取
可以利用计数组件值,对***总线存取程式库由实施初始化时起的经过时间实施读取。计数组件值每经过1(us)增加数量1。
<限制事项)
硬件计数组件是按照64比特实施动作的,所以理论上讲需要在***总线存取程式库由实施初始化时起经过大约58万年的时间,才能够返回至0。对于程式需要按照一定时间间隔实施读取的场合,差分(经过时间)并不能由CPU的负载状态、PCI总线的负载状态和FIFO状态构成为一定值。
在离线状态下,可以通过离线处理程式,对站点CPU由启动时起的经过时间按计数组件值实施读取。
·名称:BCL_TMR_readCount
·形式:int BCL_TMR_readCount(unsigned_int64*count)
·自变量:count(***总线存取程式库由实施初始化时起的计数组件值为(1(us)/1的计数组件值))
·返回值:BCL_TMR_OK(正常结束)
C.3.2 时间等待相关函数
C.3.2.1 时间等待
在经过指定时间之后,可以使函数实施返回。对于等待时间(time)被指定为小于1(us)的值的场合,可以直接实施函数返回操作。当经过时间比通过CPU负载状态指定的时间更长时,实施返回操作。
在离线状态下,可以按照舍弃小于1(us)的值的方式实施时间等待操作。换句话说就是,对于等待时间(time)被指定为小于1(us)的值的场合,直接实施函数返回操作。而且,最大的等待时间为4294967.296(s)(大约为49天)。
·名称:BCL_TMR_wait
·形式:int BCL_TMR_wait(double time)
·自变量:time(以秒(s)为单位指定的等待时间)
·返回值:BCL_TMR_OK(正常结束),BCL_TMR_ERROR(等待被删除)
C.3.2.2 时间等待函数的删除操作
可以在当前运行过程中,对全部BCL_TMR_wait函数实施删除操作。对于按数个线程动作的场合,可以对全部BCL_TMR_wait函数实施删除操作。
·名称:BCL_TMR_cancel
·形式:int BCL_TMR_cancel(void)
·自变量:无
·返回值:BCL_TMR_OK(正常结束)
C.4 配置/诊断专用函数
本部分对硬件配置和硬件诊断所使用的函数进行说明。对于利用于硬件配置和硬件诊断之外的场合,还可以通过各种模组的数据通知和接口处理实施正确的处理。当对***总线I/F访问口、Bus Switch、各种模组等等的硬件构造已经熟知时,可以容易地利用这种硬件配置和硬件诊断函数。
对于程式库运行出现运行时间错误,不能利用总线配置函数和硬件诊断函数的场合,也可以保障实施与该程式库和***总线I/F访问口的元件驱动接口相关的动作。
C.4.1 配置控制(特殊函数)
由本部分说明的函数,是通过***总线I/F访问口和各种模组的配置实施利用的函数。当出现误操作时,将不能实施各种模组的数据通知操作,所以需要在充分了解硬件和软件的基础上对其加以利用。
C.4.1.1 总线配置写入操作
可以对***总线I/F和各种模组的配置驱动部实施数据写入操作。而且,可以在将配置数据储存在***总线I/F和各种模组处之后,结束该函数的运行。
·名称:BCL_GBI_writeBusConfig
·形式:int BCL_GBI_writeBusConfig(unsigned_ intaddress,unsigned_ int config)
·自变量:address(配置数据的位址),config(写入的配置数据)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.4.1.2 总线配置读取操作
可以由***总线I/F和各种模组的配置寄存器处对数据实施读取操作。
·名称:BCL_GBI_readBusConfig
·形式:int BCL_GBI_readBusConfig(unsigned_ int address,unsigned_ int *config)
.自变量:address(配置数据的位址),config(对储存配置数据的变量的指示)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.4.1.3 总线开关配置的设定结束操作
在联机状态下,可以在需要时实施运行。
在离线状态下,可以在总线开关的配置写入操作结束之后,通过对该函数的运行,对离线状态的连接实施切换。
·名称:BCL_GBI_decideBusMatrix
·形式:int BCL_GBI_decideBusMatrix(void)
·自变量:无
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.4.2 中断控制(特殊函数)
由本部分说明的函数,是通过***总线I/F访问口和各种模组的配置实施利用的函数。为了对***总线I/F访问口的中断状态实施直接控制,而出现误操作时,可以通过***总线I/F访问口的元件驱动和相应程式库,对中断正确地实施处理。
C.4.2.1 BusI/F访问口的中断处理程式
各种中断信号均可以通过***总线I/F访问口实施恢复操作。中断信号可以分成各种模组产生的中断、Bus错误产生的中断、Bus计时时间结束产生的中断和Sync错误产生的中断这四种类型。这些信号可以按照下述方式定义的比特信息实施设定。对于指定有数个中断信号的场合,可以将其作为逻辑和实施设定。这种函数可以对***总线I/F处的中断实施恢复的状态实施确认之后,结束操作。
·名称:BCL_GBI_interruptEnable
·形式:int BCL_GBI_interruptEnable(unsigned int status)
·自变量:status(对中断信号的指定。BCL_GBI_INT_MODULE:模组产生的中断,BCL_GBI_INT_BUSERROR:Bus错误产生的中断,BCL_GBI_INT_TIMEOUT:Bus计时时间结束产生的中断,BCL_GBI_INT_SYNCERROR:Sync错误产生的中断)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.4.2.2 BusI/F访问口的中断禁止操作
各种中断信号均可以通过***总线I/F访问口实施禁止操作。中断信号可以分成各种模组产生的中断、Bus错误产生的中断、Bus计时时间结束产生的中断和Sync错误产生的中断这四种类型。这些信号可以按照下述方式定义的比特信息实施设定。对于指定有数个中断信号的场合,可以将其作为逻辑和实施设定。这种函数可以对***总线I/F处的中断实施恢复的状态实施确认之后,结束操作。
·名称:BCL_GBI_interruptDisable
·形式:int BCL_GBI_interruptDisable(unsigned int status)
·自变量:status(对中断信号的指定。BCL_GBI_INT_MODULE:模组产生的中断,BCL_GBI_INT_BUSERROR:Bus错误产生的中断,BCL_GBI_INT_TIMEOUT:Bus计时时间结束产生的中断,BCL_GBI_INT_SYNCERROR:Sync错误产生的中断)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.4.2.3 BusI/F访问口的中断读取操作
各种中断信号均可以通过***总线I/F访问口实施读取操作。中断信号可以分成各种模组产生的中断、Bus错误产生的中断、Bus计时时间结束产生的中断和Sync错误产生的中断这四种类型。这些信号可以按照下述方式定义的比特信息实施读取。
·名称:BCL_GBI_interruptRead
·形式:int BCL_GBI_interruptRead(unsigned int *status)
·自变量:status(对读取中断信号的变量的指示。BCL_GBI_INT_MODULE:模组产生的中断,BCL_GBI_INT_BUSERROR:Bus错误产生的中断,BCL_GBI_INT_TIMEOUT:Bus计时时间结束产生的中断,BCL_GBI_INT_SYNCERROR:Sync错误产生的中断)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.4.2.4 BusI/F访问口的中断清零操作
各种中断信号均可以通过***总线I/F访问口实施清零操作。中断信号可以分成各种模组产生的中断、Bus错误产生的中断、Bus计时时间结束产生的中断和Sync错误产生的中断这四种类型。这些信号可以按照下述方式定义的比特信息实施设定。对于指定有数个中断信号的场合,可以将其作为逻辑和实施设定。
对于仅指定由模组产生的中断(BCL_GBI_I NT_MODULE)的场合,当在运行该函数之前对给模组的FIFO实施刷新操作时,可以对***总线I/F处的中断信号实施清零,并且可以在对***总线I/F处的中断实施恢复的状态实施确认之后,结束操作。
·名称:BCL_GBI_interruptClear
·形式:int BCL_GBI_interruptClear(unsigned int status)
·自变量:status(对中断信号的指定。BCL_GBI_INT_MODULE:模组产生的中断,BCL_GBI_INT_BUSERROR:Bus错误产生的中断,BCL_GBI_INT_TIMEOUT:Bus计时时间结束产生的中断,BCL_GBI_INT_SYNCERROR:Sync错误产生的中断)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.4.2.5 对Sync的模组数对象设定操作
可以通过***总线I/F访问口,对连接在与站点CPU相连接的***总线上的全部模组数目实施设定。通过实施这种设定方式,可以对FIFO实施Sync的模组数目确定。
在离线状态下,与***总线模拟器的FIFO相关。而且,模组内设置的FIFO也与销售方相关。
·名称:BCL_GBI_setSyncCount
·形式:int BCL_GBI_setSyncCount(unsigned int number)
·自变量:number(实施Sync的模组数目)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.4.2.6 对中断设定状态的救援操作
可以对***总线I/F访问口上的中断信号设定状态(禁止/恢复),以及由模组产生中断信号的设定状态(闩锁/解除闩锁)实施救援。这种函数可以在进行诸如诊断等等的中断处理程式之前,作为对当前设定状态实施救援的对象使用。救援的内容为通过BCL_GBI_restoreInterruptCondition()函数实施恢复。对于这种函数运行两次以上的场合,可以对以前的救援设定状态实施取消操作,仅使最后的救援设定状态处于有效状态。
在离线状态下呈无效功能状态,所以可以在需要时运行该函数。
·名称:BCL_GBI_saveInterruptCondition
·形式:int BCL_GBI_saveInterruptCondition(void)
·自变量:无
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.4.2.7 对中断设定状态的恢复操作
可以通过BCL_GBI_restoreInterruptCondition()函数,对救援后的***总线I/F访问口上的中断信号设定状态(禁止/恢复),以及由模组产生中断信号的设定状态(闩锁/解除闩锁)实施恢复。这种函数可以在进行诸如诊断等等的中断处理程式之后,作为返回至操作前设定状态的对象使用。对于通过BCL_GBI_restoreInterruptCondition()函数,运行不实施救援的本函数的场合,可以返回错误信息。这种函数对于两次以上的运行均产生错误时,通常取最后的救援设定状态实施恢复操作。
在离线状态下呈无效功能状态,所以可以在需要时运行该函数。
·名称:BCL_GBI_restoreInterruptCondition
·形式:int BCL_GBI_restoreInterruptCondition(void)
·自变量:无
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.4.2.8 对模组中断原因的读取操作
可以对出现由各种模组产生的中断时的原因和该原因数目实施读取操作。中断的原因为最大256个(4比特/原因)。可以仅对按照这种方式产生的中断原因数目部实施原因返回。原因读取用的缓冲部,需要确保在最大原因数目部的中断发生时使用的最大原因数目(unsigned int型时为256个)。
在离线状态下呈无效功能状态,所以可以在需要时运行该函数。
·名称:BCL_GBI_readInterruptFactor
·形式:int BCL_GBI_readInterruptFactor(unsigned int*Factor,unsigned int *number)
·自变量:Factor(对读取中断原因的配置列实施的支持),number(储存中断原因数对象指示部)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.5 非公开函数
下面说明的是非公开函数。
C.5.1.1 非同步DMA通知的删除操作(非公开部分)
可以对实际运行时的非同步DMA通知实施删除操作。可以对同步DMA通知实施删除操作。而且,对于指定为错误的transferID的场合,可以不对DMA实施删除操作,返回至正常结束的开始部。
·名称:BCL_GBI_cacelDMA
·形式:int BCL_GBI_cancelDMA(unsigned int transferID)
·自变量:transferID(返回至非同步模式通知时的通知结束等待ID)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.5.1.2 PCI数据库位址的获取操作(非公开部分)
可以对***总线I/F访问口使用的PCI总线的数据库位址的实施获取操作。这种函数可以通过诸如***总线I/F访问口诊断等等方式使用。这种位址可以仅供获取到的处理程式使用。对于所获取到的位址为NULL的场合,可以对本程式库实施初始化设定。可以使用BCL_GBI_init函数进行程式库的初始化操作。
在离线状态下呈无效功能状态,所以可以在需要时运行该函数。
·名称:BCL_GBI_exportPCIBaseaddress
·形式:int BCL_GBI_exportPCIBaseaddress(void)
·自变量:无
·返回值:NULL(出现错误),NULL之外(***总线I/F的PCI数据库位址)
C.5.1.3 模组中断的闩锁操作(非公开部分)
可以通过发生元禁止模组产生的中断信号出现。当对中断信号实施闩锁设定时,可以由模组侧禁止以后新的中断信号出现。而且,这种函数可以在将闩锁指令储存在各模组处之后实施结束操作。
·名称:BCL_GBI_interruptLock
·形式:int BCL_GBI_interruptLock(void)
·自变量:无
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.5.1.4 模组中断的解除闩锁操作(非公开部分)
用于通过发生元允许模组产生的中断信号出现。当运行该函数时,可以由各种模组侧,允许在闩锁过程中产生的等待中断信号和解除闩锁操作之后产生的中断信号出现。
这种函数可以在将解除闩锁指令储存在各模组处之后实施结束操作。
·名称:BCL_GBI_interruptUnlock
·形式:int BCL_GBI_interruptUnlock(void)
·自变量:无
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.5.1.5 详细错误信息的输出操作(非公开部分)
当***总线存取程式库返回有BCL_GBI_ERROR时,可以将详细错误信息输出至标准输出流式部(stream)处。
·名称:BCL_GBI_printLastError
·形式:int BCL_GBI_printLastError(void)
·自变量:无
·返回值:无
C.5.1.6 详细错误信息历史的输出操作(非公开部分)
当直至目前使用的***总线存取程式库返回有BCL_GBI_ERROR时,可以将详细错误信息按照最大为16次的方式,输出至标准输出流式部处。
·名称:BCL_GBI_printPreviousErrors
·形式:int BCL_GBI_printPreviousErrors(void)
·自变量:无
·返回值:无
C.5.1.6 调试模式的控制操作(非公开部分)
用于对安装在位址程式库处的调试模式实施控制操作。
·名称:BCL_GBI_verbose
·形式:void BCL_GBI_verbose(int val)
·自变量:val(对调试模式的指定)
·返回值:无
C.5.1.8 轨迹功能的恢复操作(非公开部分)
可以对***总线存取部程式库的轨迹功能实施恢复操作。当对轨迹功能实施恢复操作时,可以使总线存取部和函数的扫描部发挥作用。通过对总线存取部的扫描,可以将构成存取部的位址和数据,以及读取和写入识别信息,显示在标准输出流式部处。通过对函数的恢复操作,可以将已经运行的函数名称显示在标准输出流式部处。而且,实施恢复的函数,还可以登录、置换为所需要的函数。
实施总线存取恢复用的存取程式库函数如下所述。
BCL_GBI_write
BCL_GBI_read
BCL_GBI_writeBlock
BCL_GBI_readBlock
BCL_GBI_writeSeq
BCL_GBI_readSeq
BCL_GBI_writeSyncDMA
BCL_GBI_readSyncDMA
BCL_GBI_writeAsyncDMA
BCL_GBI_readAsyncDMA
BCL_GBI_writeConfig
BCL_GBI_readConfig
实施函数恢复用的存取程式库函数如下所述。
BCL_GBI_waitFlushFIFO
BCL_GBI_waitDMA
BCL_GBI_cancelDMA
BCL_GBI_conditionDMA
BCL_GBI_syncCount
BCL_GBI_resetModule
·名称:BCL_GBI_ioTraceEnable
·形式:BCL_GBI_ioTraceEnable(void)
·自变量:无
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.5.1.9 轨迹跟踪功能的禁止操作(非公开部分)
可以对***总线存取部程式库的轨迹跟踪功能实施禁止操作。当轨迹跟踪功能被禁止时,可以使总线存取部和函数处于无效状态。
·名称:BCL_GBI_ioTraceDisable
·形式:BCL_GBI_ioTraceDisable(void)
·自变量:无
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.5.1.10 轨迹跟踪功能的位址滤波指定操作(非公开部分)
可以对与总线存取部的轨迹跟踪功能相关的位址滤波部实施指定操作。对滤波部的指定方法,可以是通过模式实施的单一指定方法,也可以是连续指定方法。指定的组合最大可以为16项的指定。对于轨迹跟踪功能被恢复的场合,可以将这种组合中的某一个位址作为轨迹跟踪对象。
·名称:BCL_GBI_ioTraceaddress
·形式:int BCL_GBI_ioTraceaddress(int mode,......)
int BCL_GBI_ioTraceaddress(0)
int BCL_GBI_ioTraceaddress(1,addr)
int BCL_GBI_ioTraceaddress(2,start_addr,stop_addr)
·自变量:mode(滤波模式的指定。0:对滤波部的指定实施解除,1:实施单一位址指定,2:实施连续位址指定),addr(实施单一位址指定时的对象位址),start_addr(实施连续位址指定时的开始位址),stop_addr(实施连续位址指定时的结束位址)
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.5.1.11 轨迹跟踪功能的设定信息输出操作(非公开部分)
可以将与目前设定的轨迹跟踪功能相关的设定信息输出至标准输出流式部处。而且,可以对轨迹跟踪的恢复/禁止状态和位址滤波部的设定状态实施确认。
·名称:BCL_GBI_ioTraceShow
·形式:BCL_GBI_ioTraceShow(void)
·自变量:无
·返回值:无
C.5.1.12 轨迹跟踪功能的简单帮助信息输出操作(非公开部分)
可以将与轨迹跟踪功能相关的简单帮助信息输出至标准输出流式部处。
·名称:BCL_GBI_ioTraceHelp
·形式:BCL_GBI_ioTraceHelp(void)
·自变量:无
·返回值:无
C.5.1.13 轨迹跟踪功能的登录操作(非公开部分)
运行轨迹跟踪功能的不履行轨迹跟踪函数,可以根据需要置换为所需要的轨迹跟踪函数。如果对轨迹跟踪功能实施恢复操作,随后可以对由轨迹跟踪对象存取程式库函数登录的函数实施运行。对于登录的函数为一个,且已经登录的场合,可以通过覆盖方式实施登录。对于返回有不履行轨迹跟踪函数的场合,可以实施BCL_GBI_ioTraceResetHandler函数。
实施轨迹跟踪用的存取程式库函数如下所述。
BCL_GBI_write
BCL_GBI_read
BCL_GBI_writeBlock
BCL_GBI_readBlock
BCL_GBI_writeSeq
BCL_GBI_readSeq
BCL_GBI_writeSyncDMA
BCL_GBI_readSyncDMA
BCL_GBI_writeAsyncDMA
BCL_GBI_readAsyncDMA
BCL_GBI_writeConfig
BCL_GBI_readConfig
BCL_GBI_waitFlushFIFO
BCL_GBI_waitDMA
BCL_GBI_cancelDMA
BCL_GBI_conditionDMA
BCL_GBI_syncCount
BCL_GBI_resetModule
·名称:BCL_GBI_ioTraceHandler
·形式:void BCL_GBI_ioTraceHandler(BCL_GBI_TRACE_HANDLER handler,void*arg)
·自变量:handler(回调函数的位址),arg(向轨迹跟踪处理操作的过渡值)
·返回值:无
·返回值:BCL_GBI_OK(正常结束),BCL_GBI_ERROR(出现错误)
C.5.1.14 不履行轨迹跟踪函数的登录操作(非公开部分)
可以根据需要,将通过BCL_GBI_ioTraceHandler函数置换为所需要的轨迹跟踪函数,返回至不履行轨迹跟踪函数处。
·名称:BCL_GBI_ioTraceResetHandler
·形式:BCL_GBI_ioTraceResetHandler(void)
·自变量:无
·返回值:无
C.5.1.15 轨迹跟踪功能的运行操作(非公开部分)
可以对由通过BCL_GBI_ioTraceHandler函数登录的、所需要的轨迹跟踪函数获得的不履行轨迹跟踪函数,实施运行操作。
·名称:BCL_GBI_ioTraceExecuteDefaultHandler
·形式:void BCL_GBI_ioTraceExecuteDefaultHandler(int cmd,unsigned int address,unsigned int data,void*arg)
·自变量:cmd(作为轨迹跟踪对象的函数),address(轨迹跟踪对象的位址),data(轨迹跟踪对象的数据),arg(向轨迹跟踪处理程式过渡的自变量)
·返回值:无
[产业利用性]
由上述的说明可知,如果采用本发明,可以获得能够对混合使用各种各样模组的测试装置实施适当模拟的测试模拟装置,测试模组模拟装置,以及对它们的程式实施记录用的记录媒体。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的结构及技术内容作出些许的更动或修饰为等同变化的等效实施例,但是凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (17)

1、一种测试装置,适用于测试被测试元件,该测试装置具有:***控制装置、测试模拟装置以及将测试信号分别供给至所述被测试元件的数个测试模组,所述测试模组连接到所述***控制装置与所述测试模拟装置,且所述测试模组包括一测试信号生成器,其特征在于:
其中,该测试模拟装置包括:
数个测试模组模拟部,模拟该些测试模组,而生成基于不同循环周期的测试信号;
控制模拟部,连接到所述***控制装置,模拟一控制装置以控制所述被测试元件的测试;
同步模拟部,连接到所述数个测试模组模拟部的每一个,依据来自所述控制模拟部的指令,使所述数个测试模组模拟部的每一个分别产生一测试信号生成用计时时间,该同步模拟部为了模拟生成与相应的测试模组模拟部的循环时间对应的测试信号,而生成该测试信号生成用计时时间;
计时时间排列部,连接到所述同步模拟部,对所述同步模拟部生成出的数个所述测试信号生成用计时时间,按时间顺序进行排列并依次输出;以及
进度安排部,连接到所述计时时间排列部与所述测试模组模拟部,使与由所述计时时间排列部所输出的所述测试信号生成用计时时间的一个相对应的所述测试模组模拟部,模拟生成与相应的一个测试信号生成用计时时间对应的循环时间内的测试信号。
2、根据权利要求1所述的测试装置,其特征在于更包括一被测试元件模拟部,所述被测试元件模拟部依据模拟生成的所述测试信号,而模拟被测试元件的动作。
3、根据权利要求1所述的测试装置,其特征在于其中所述的同步模拟部还使多个所述测试模组模拟部的每一个,在与所述测试信号生成用计时时间对应的循环时间内的测试信号生成中,生成模拟发生的、用于收集对所述控制装置的中断的一中断信号收集用计时时间;
所述计时时间排列部对数个所述测试信号生成用计时时间和数个所述中断信号收集用计时时间,按时间顺序进行排列并依次输出;
当所述计时时间排列部输出一个所述中断信号收集用计时时间的时候,所述进度安排部让与该中断信号收集用计时时间相对应的所述测试模组模拟部,在该中断信号收集用计时时间之前,将在相应的测试模组模拟部生成了测试信号的循环时间中,模拟地发生了所述中断通知给所述控制模拟部。
4、根据权利要求1所述的测试装置,其特征在于其中所述的数个测试模组模拟部,分别在与所述测试信号生成用计时时间相对应的循环时间里生成测试信号的过程中,生成该循环时间里的测试信号变化用计时时间;
该测试模拟装置更包括一被测试元件连接部,获取由所述数个测试模组模拟部生成出的数个所述变化用计时时间,依据所述数个变化用计时时间使测试信号按时间顺序依次模拟地变化。
5、根据权利要求4所述的测试装置,其特征在于其中所述的被测试元件连接部将由所述数个测试模组模拟部获得的数个所述变化用计时时间供给至所述计时时间排列部;
所述计时时间排列部将所述数个变化用计时时间、所述数个测试信号生成用计时时间和所述数个中断信号收集用计时时间,按时间顺序进行排列并依次输出;
当所述计时时间排列部输出一个所述变化用计时时间的时候,所述进度安排部在所述被测试元件连接部,使测试信号在该变化用计时时间内模拟地变化。
6、根据权利要求1所述的测试装置,其特征在于其中所述的数个测试模组模拟部,分别在与所述测试信号生成用计时时间相对应的循环时间里生成测试信号的过程中,分别将用以终止该循环时间的循环结束用计时时间通知至所述同步模拟部;
所述同步模拟部依据由所述数个测试模组模拟部分别通知的所述循环结束用计时时间,产生前述测试信号生成用计时时间,该同步模拟部为使相应的测试模组模拟部模拟地生成与下一个循环时间对应的测试信号,而生成测试信号生成用计时时间。
7、根据权利要求6所述的测试装置,其特征在于当与下一循环时间相对应的所述测试信号生成用计时时间输出至所述计时时间排列部的时候,所述进度安排部在该测试信号生成用计时时间之前的循环时间里生成测试信号的过程中,将与该测试信号生成用计时时间相对应的所述测试模组模拟部所模拟生成的中断信号,通知至所述控制模拟部处。
8、根据权利要求1所述的测试装置,其特征在于其中所述的数个测试模组模拟部,分别通过由电脑执行与该测试模组模拟部相对应的测试模组模拟程式的方式而实现,
其中所述测试模组模拟程式包括:
数个硬件模拟函数,分别对应前述测试模组的由所述控制装置接收到的数个指令而设置,模拟与该指令相对应的所述测试模组的动作;以及
控制函数,用于使所述进度安排部生成与所述测试信号生成用计时时间相对应的循环时间里的测试信号。
9、一种测试模拟方法,适用于一测试装置,该测试装置包括一测试模拟装置,该测试模拟装置具有多个测试模组,该些测试模组分别把测试信号供给至一被测试元件,其特征在于:
其中,该测试模拟装置包括:
数个测试模组模拟部,模拟该些测试模组而生成基于不同循环周期的测试信号;
控制模拟部,对控制所述被测试元件的测试的控制装置实施模拟;
同步模拟部,连接到所述数个测试模组模拟部的每一个,依据所述控制模拟部给出的指令,使所述数个测试模组模拟部的每一个分别产生一测试信号生成用计时时间,该同步模拟部为模拟生成与相应的测试模组模拟部的循环时间对应的测试信号,而生成所述测试信号生成用计时时间;
计时时间排列部,连接到所述同步模拟部,对所述同步模拟部生成出的数个所述测试信号生成用计时时间,按时间顺序进行排列并依次输出;以及
进度安排部,连接到所述计时时间排列部与所述测试模组模拟部,使与由所述计时时间排列部所输出的所述测试信号生成用计时时间的一个相对应的所述测试模组模拟部,生成与该一个测试信号生成用计时时间相对应的测试信号。
10、一种测试装置,适用于测试被测试元件,该测试装置具有:***控制装置、测试模拟装置、以及将测试信号分别供给至所述被测试元件的数个测试模组,所述测试模组连接到所述***控制装置与所述测试模拟装置,且所述测试模组包括一测试信号生成器,其特征在于:
其中,该测试模拟装置包括:
测试模组模拟装置;
控制模拟部,连接到所述***控制装置,以控制所述被测试元件的测试;
同步模拟部,连接到所述数个测试模组模拟装置,依据所述控制模拟部给出的指令,使所述数个测试模组分别产生一测试信号生成用计时时间,该同步模拟部为模拟生成与相应的测试模组模拟部的循环时间对应的测试信号,而生成该测试信号生成用计时时间;
计时时间排列部,连接到所述同步模拟部,对所述同步模拟部生成出的数个所述测试信号生成用计时时间,按时间顺序进行排列并依次输出;以及
进度安排部,连接到所述计时时间排列部与所述测试模组模拟装置,向与所述计时时间排列部输出的一个所述测试信号生成用计时时间相对应的所述测试模组模拟装置发出指示,使所述测试模组模拟装置模拟生成与相应的一个测试信号生成用计时时间对应的循环时间中的测试信号,
其中该测试模组模拟装置包括:
测试图案发生器模拟部,依据所述进度安排部给出的指令,模拟地生成与所述一个测试信号生成用计时时间相对应的循环时间里的测试信号。
11、根据权利要求10所述的测试装置,其特征在于该测试模组模拟装置更包括一测试模组接口模拟部,将终止所述一个测试信号生成用计时时间所对应的循环的循环结束用计时时间通知至同步模拟部,并产生前述测试信号生成用计时时间,以使根据所述同步模拟部中的所述循环结束用计时时间,相应的测试模组模拟装置模拟生成下一个测试信号。
12、一种测试模拟方法,适用于一测试装置,该测试装置包括一测试模拟装置,所述测试模拟装置具有多个测试模组,将测试信号分别供给至所述被测试元件的每一个,所述测试模拟装置与一***控制装置连接且为该测试装置的一部分,一测试模组模拟装置为所述测试模拟装置的一部分,其特征在于:
其中,所述测试模拟装置包括:
控制模拟部,连接到所述***控制装置,模拟一控制装置以控制所述被测试元件的测试;
同步模拟部,连接到所述***控制装置,依据所述控制模拟部给出的指令,使所述数个测试模组分别产生一测试信号生成用计时时间,以便模拟生成与相应的测试模组的循环时间对应的测试信号;
计时时间排列部,连接到所述同步模拟部,对所述同步模拟部生成出的数个所述测试信号生成用计时时间,按时间顺序进行排列并依次输出;以及
进度安排部,连接到所述计时时间排列部与所述测试模组模拟装置,向与所述计时时间排列部输出的一个所述测试信号生成用计时时间相对应的所述测试模组模拟装置发出指示,使所述测试模组模拟装置模拟生成与相应的一个测试信号生成用计时时间对应的循环时间中的测试信号,
其中所述测试模拟方法使所述测试模组模拟装置具有一测试图案发生器模拟部的功能,依据所述进度安排部给出的指令,模拟地生成与所述一个测试信号生成用计时时间相对应的循环时间里的测试信号。
13、一种测试装置,包括将测试信号供给至被测试元件的测试模组,其特征在于该测试装置包括:
控制装置,对所述被测试元件的测试实施控制;
测试模组,依据循环周期生成测试信号;以及
测试模组模拟部,依序通过一通信网路、一站点控制装置、一总线开关而连接到所述测试模组,以模拟所述测试模组,
其中所述控制装置输入实施所述被测试元件的实际测试或模拟测试用的指令,
当接收到对所述被测试元件实施实际测试用的指令的时候,将实施被测试元件的测试的测试程式供给至所述测试模组,通过所述测试模组进行所述被测试元件的测试,而当接收到对所述被测试元件实施模拟测试用的指令的时候,将所述测试程式供给至所述测试模组模拟部,通过所述测试模组模拟部进行所述被测试元件的测试。
14、根据权利要求13所述的测试装置,其特征在于其中所述的控制装置执行在该控制装置与所述测试模组间进行通信处理的通信软件,且
所述通信软件与所述控制装置协调动作,依据初始化所述通信软件的呼叫中所包含的前述指令,判断要将所述测试程式供给至所述测试模组还是供给至所述测试模组模拟部。
15、一种测试装置,适用于模拟具有多个测试模组的一测试装置,该些测试模组将测试信号供给至一被测试元件,其特征在于该测试模拟装置包括:
数个测试模组模拟部,对生成依据循环周期的测试信号的所述数个测试模组实施模拟;
控制模拟部,对控制所述被测试元件的测试的控制装置实施模拟;以及
进度安排部,使所述数个测试模组模拟部,对用于模拟生成与循环时间相对应的测试信号的测试信号生成用计时时间,实施进度安排,
其中所述测试模组模拟部利用函数呼叫,接受所述测试信号生成用计时时间的通知,将与该测试信号生成用计时时间相对应的循环时间里测试信号的电压变化,通过数次呼叫模拟输出通道的输出通道对象的电压设定方法而输出,
当与该循环时间相对应的测试信号的电压的变化输出结束之后,通过呼叫所述输出通道对象的结束方法,将与该循环时间相对应的测试信号的电压的变化输出已结束的信息通知所述进度安排部。
16、根据权利要求15所述的测试装置,其特征在于其中所述的进度安排部依据由所述数个测试模组模拟部分别通知的所述结束方法,计算出结束全部所述测试模组模拟部的测试信号的电压的变化输出的期间,
且该测试模拟装置更包括一被测试元件模拟部,获取所述期间内的所述测试信号,并且依据该测试信号对被测试元件在所述期间内的动作实施模拟。
17、根据权利要求15所述的测试装置,其特征在于其中所述的输出通道对象在接收所述结束方法的呼叫之后,禁止由该结束方法所通知的在测试信号的电压的变化输出已结束的期间里的电压的变化。
CNB2004800084143A 2003-03-31 2004-03-30 测试装置与测试模拟方法 Expired - Lifetime CN100489554C (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10/403,817 US7290192B2 (en) 2003-03-31 2003-03-31 Test apparatus and test method for testing plurality of devices in parallel
US10/403,817 2003-03-31
US10/404,002 2003-03-31
JPPCT/JP04/001649 2004-02-16
JPPCT/JP04/001648 2004-02-16

Publications (2)

Publication Number Publication Date
CN1768275A CN1768275A (zh) 2006-05-03
CN100489554C true CN100489554C (zh) 2009-05-20

Family

ID=32990043

Family Applications (3)

Application Number Title Priority Date Filing Date
CNB2004800055526A Expired - Lifetime CN100432689C (zh) 2003-03-31 2004-03-24 测试装置以及测试方法
CN2008100068598A Expired - Fee Related CN101231325B (zh) 2003-03-31 2004-03-24 测试装置以及测试方法
CNB2004800084143A Expired - Lifetime CN100489554C (zh) 2003-03-31 2004-03-30 测试装置与测试模拟方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CNB2004800055526A Expired - Lifetime CN100432689C (zh) 2003-03-31 2004-03-24 测试装置以及测试方法
CN2008100068598A Expired - Fee Related CN101231325B (zh) 2003-03-31 2004-03-24 测试装置以及测试方法

Country Status (9)

Country Link
US (2) US7290192B2 (zh)
EP (2) EP1610135B8 (zh)
JP (2) JP3748269B2 (zh)
KR (1) KR20050113271A (zh)
CN (3) CN100432689C (zh)
DE (2) DE602004016973D1 (zh)
MY (1) MY131932A (zh)
TW (1) TWI315406B (zh)
WO (1) WO2004088339A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135049A (zh) * 2011-11-28 2013-06-05 爱德万测试株式会社 测试图形生成装置、测试程序生成装置、生成方法及测试装置

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437261B2 (en) * 2003-02-14 2008-10-14 Advantest Corporation Method and apparatus for testing integrated circuits
JP4332392B2 (ja) * 2003-09-12 2009-09-16 株式会社アドバンテスト 試験装置
US7362089B2 (en) * 2004-05-21 2008-04-22 Advantest Corporation Carrier module for adapting non-standard instrument cards to test systems
US7430486B2 (en) * 2004-05-22 2008-09-30 Advantest America R&D Center, Inc. Datalog support in a modular test system
CN100367040C (zh) * 2004-08-18 2008-02-06 华为技术有限公司 一种射频产品测试方法
US7913002B2 (en) * 2004-08-20 2011-03-22 Advantest Corporation Test apparatus, configuration method, and device interface
US7253651B2 (en) * 2004-12-21 2007-08-07 Formfactor, Inc. Remote test facility with wireless interface to local test facilities
JP2006266835A (ja) * 2005-03-23 2006-10-05 Advantest Corp 試験装置、試験方法、及び試験制御プログラム
JP2006275986A (ja) * 2005-03-30 2006-10-12 Advantest Corp 診断プログラム、切替プログラム、試験装置、および診断方法
CN100442070C (zh) * 2005-12-08 2008-12-10 上海华虹Nec电子有限公司 同步通讯芯片并行测试的方法
JP2008051581A (ja) * 2006-08-23 2008-03-06 Yokogawa Electric Corp デバイス試験装置およびデバイス試験方法
KR100858651B1 (ko) * 2006-11-01 2008-09-16 주식회사 유니테스트 순차적 반도체 테스트 장치
KR100829402B1 (ko) * 2006-11-01 2008-05-15 주식회사 유니테스트 순차적 반도체 테스트 장치
US7852094B2 (en) * 2006-12-06 2010-12-14 Formfactor, Inc. Sharing resources in a system for testing semiconductor devices
US7528623B2 (en) * 2007-02-02 2009-05-05 Teradyne, Inc. Distributing data among test boards to determine test parameters
CN101755220A (zh) * 2007-07-17 2010-06-23 爱德万测试株式会社 测试装置、电路装置以及程序
JP5080580B2 (ja) * 2007-08-27 2012-11-21 株式会社アドバンテスト システム、中継装置、および試験装置
US8117004B2 (en) * 2008-03-30 2012-02-14 Advantest Corporation Testing module, testing apparatus and testing method
US8922957B2 (en) * 2008-04-30 2014-12-30 Keysight Technologies, Inc. Dynamic switch contact protection
KR101215388B1 (ko) * 2008-05-30 2012-12-26 가부시키가이샤 어드밴티스트 시험 장치 및 송신 장치
KR101452959B1 (ko) * 2008-06-02 2014-10-24 삼성전자주식회사 실장형 테스트 장비 및 그 방법
US8165027B2 (en) * 2008-12-08 2012-04-24 Advantest Corporation Test apparatus and test method
JP2010145271A (ja) * 2008-12-19 2010-07-01 Yokogawa Electric Corp 半導体試験装置
JPWO2011001462A1 (ja) * 2009-06-29 2012-12-10 株式会社アドバンテスト 試験装置
CN101719177B (zh) * 2009-11-02 2012-08-15 无锡中星微电子有限公司 片上***建模和仿真的方法及装置
US8094566B2 (en) * 2009-12-24 2012-01-10 Advantest Corporation Test apparatus and test method
US20110184687A1 (en) * 2010-01-25 2011-07-28 Advantest Corporation Test apparatus and test method
US8547125B2 (en) * 2010-01-26 2013-10-01 Advantest Corporation Test apparatus and test module
US8258803B2 (en) * 2010-01-26 2012-09-04 Advantest Corporation Test apparatus and test method
KR20130025382A (ko) * 2010-03-12 2013-03-11 캐스케이드 마이크로테크 인코포레이티드 반도체 테스트를 위한 시스템
JP2011226854A (ja) * 2010-04-16 2011-11-10 Advantest Corp 電圧を供給する装置
CN102378232A (zh) * 2010-08-23 2012-03-14 财团法人资讯工业策进会 无线网络信号的测试***及其测量方法
CN102419726A (zh) * 2010-09-28 2012-04-18 致茂电子(苏州)有限公司 测试程序分散配置的测试方法及其***
US20120102462A1 (en) * 2010-10-26 2012-04-26 Microsoft Corporation Parallel test execution
CN103221833B (zh) * 2010-10-29 2016-06-08 爱德万测试公司 具有专用电子模块的测试器和并入或使用该测试器的***和方法
WO2012070076A1 (en) * 2010-11-26 2012-05-31 Microtest S.R.L. An equipment for testing electronic devices in general
US8839057B2 (en) * 2011-02-03 2014-09-16 Arm Limited Integrated circuit and method for testing memory on the integrated circuit
CN103176120A (zh) * 2011-12-22 2013-06-26 英业达股份有限公司 信号模拟装置、信号录制与模拟测试方法
US10296433B2 (en) * 2012-06-01 2019-05-21 Litepoint Corporation Method for transferring and confirming transfer of predefined data to a device under test (DUT) during a test sequence
JP5833500B2 (ja) * 2012-06-04 2015-12-16 株式会社アドバンテスト 試験システム
JP2013250250A (ja) 2012-06-04 2013-12-12 Advantest Corp テスターハードウェアおよびそれを用いた試験システム
JP5833502B2 (ja) * 2012-06-04 2015-12-16 株式会社アドバンテスト テストプログラム
JP5816144B2 (ja) * 2012-08-30 2015-11-18 株式会社アドバンテスト テストプログラムおよび試験システム
CN102967815B (zh) * 2012-11-07 2014-10-29 北京华大信安科技有限公司 芯片测试方法、自动化测试机和***
KR102002982B1 (ko) * 2013-01-17 2019-07-24 삼성전자주식회사 반도체 소자의 테스트 설비 및 이를 이용한 반도체 소자의 테스트 방법
JP2014235127A (ja) * 2013-06-04 2014-12-15 株式会社アドバンテスト 試験システム、制御プログラム、コンフィギュレーションデータの書込方法
TWI489114B (zh) * 2013-07-05 2015-06-21 Univ China Sci & Tech CAN-BUS communication method and system for embedded oscilloscope
KR102024946B1 (ko) * 2013-08-08 2019-09-25 미래산업 주식회사 인라인 테스트 핸들러
US9544787B2 (en) 2013-09-03 2017-01-10 Litepoint Corporation Method for testing data packet signal transceivers using interleaved device setup and testing
US9015538B2 (en) 2013-09-03 2015-04-21 Litepoint Corporation Method for testing data packet signal transceivers with multiple radio access technologies using interleaved device setup and testing
US9152520B2 (en) * 2013-09-26 2015-10-06 Texas Instruments Incorporated Programmable interface-based validation and debug
US9356855B2 (en) * 2013-10-10 2016-05-31 Ixia Methods, systems, and computer readable media for providing for specification or autodiscovery of device under test (DUT) topology information
US9628356B2 (en) * 2013-10-10 2017-04-18 Ixia Methods, systems, and computer readable media for providing user interfaces for specification of system under test (SUT) and network tap topology and for presenting topology specific test results
CN104678278A (zh) * 2013-11-28 2015-06-03 英业达科技有限公司 由连接配置提供信号的集成电路测试结构及其测试方法
JP2015169524A (ja) * 2014-03-06 2015-09-28 株式会社アドバンテスト 試験装置、キャリブレーションデバイス、キャリブレーション方法、および試験方法
CN104931086A (zh) * 2014-03-18 2015-09-23 光宝电子(广州)有限公司 平行多工测试***及测试方法
US10145890B2 (en) 2014-03-28 2018-12-04 Hewlett Packard Enterprise Development Lp Testing electronic devices
US9898438B2 (en) 2014-10-13 2018-02-20 Samsung Electronics Co., Ltd. Symbol lock method and a memory system using the same
CN108347356B (zh) * 2017-01-24 2020-12-22 北京京东尚科信息技术有限公司 一种多协议单元测试方法、装置、电子设备和存储介质
TWI653519B (zh) * 2017-05-03 2019-03-11 和碩聯合科技股份有限公司 配置單元、檢測系統及檢測方法
US10393802B2 (en) * 2017-06-14 2019-08-27 Nuvoton Technology Corporation System and method for adaptive testing of semiconductor product
CN110161977B (zh) * 2018-02-13 2022-04-12 京元电子股份有限公司 测量***及其测量方法
KR102583174B1 (ko) 2018-06-12 2023-09-26 삼성전자주식회사 테스트 인터페이스 보드, 이를 포함하는 테스트 시스템 및 이의 동작 방법
CN108627195A (zh) * 2018-08-17 2018-10-09 深圳市金邦科技发展有限公司 一种对记忆体模组进行检测的智能检测方法及智能检测***
DE112018008085B4 (de) 2018-11-20 2022-09-15 Mitsubishi Electric Corporation Kommunikationssystem, Listenverbreitungsstation, Kommunikationsverfahren und Kommunikationsprogramm
CN109753004B (zh) * 2019-02-26 2024-02-23 美登思电气(上海)有限公司 自动转换开关模拟器及其应用
US11067623B2 (en) * 2019-05-19 2021-07-20 Test Research, Inc. Test system and method of operating the same
TWI704361B (zh) * 2019-08-01 2020-09-11 正崴精密工業股份有限公司 自動化電路板測試系統及其方法
US10917326B1 (en) 2019-08-23 2021-02-09 Keysight Technologies, Inc. Methods, systems, and computer readable media for debugging test traffic generation
CN113014442B (zh) * 2019-12-19 2023-04-18 西安诺瓦星云科技股份有限公司 网口环路检测方法和网口环路检测***
CN112181744A (zh) * 2020-09-25 2021-01-05 北京博睿维讯科技有限公司 一种转换器接口的故障检测方法、***、终端以及存储介质
TWI760157B (zh) * 2021-03-24 2022-04-01 德律科技股份有限公司 多核並行測試單一待測物的系統及方法
CN113961405B (zh) * 2021-09-30 2022-10-28 北京百度网讯科技有限公司 状态切换指令验证方法、装置、电子设备及存储介质

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2569520B2 (ja) * 1987-01-19 1997-01-08 トヨタ自動車株式会社 電子制御装置及びその検査装置
JP2587941B2 (ja) 1987-05-29 1997-03-05 株式会社 アドバンテスト Icテストシステム
JP2583055B2 (ja) 1987-05-29 1997-02-19 株式会社 アドバンテスト Icテストシステム
JP2583056B2 (ja) 1987-05-29 1997-02-19 株式会社 アドバンテスト Icテストシステム
JP2587940B2 (ja) 1987-05-29 1997-03-05 株式会社 アドバンテスト Icテストシステム
JP2583057B2 (ja) 1987-05-29 1997-02-19 株式会社 アドバンテスト Icテストシステム
JPH0731537B2 (ja) * 1987-09-11 1995-04-10 株式会社日立製作所 多重化制御装置
JP2627751B2 (ja) 1987-09-28 1997-07-09 株式会社アドバンテスト Icテストシステム
US5025205A (en) * 1989-06-22 1991-06-18 Texas Instruments Incorporated Reconfigurable architecture for logic test system
US5675544A (en) * 1990-06-25 1997-10-07 Texas Instruments Incorporated Method and apparatus for parallel testing of memory circuits
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US5748642A (en) * 1995-09-25 1998-05-05 Credence Systems Corporation Parallel processing integrated circuit tester
US5991907A (en) * 1996-02-02 1999-11-23 Lucent Technologies Inc. Method for testing field programmable gate arrays
US5905883A (en) * 1996-04-15 1999-05-18 Sun Microsystems, Inc. Verification system for circuit simulator
CN1206467A (zh) * 1996-11-15 1999-01-27 株式会社爱德万测试 集成电路设备测试器
US5978942A (en) 1996-12-19 1999-11-02 Simd Solutions, Inc. STAR-I: scalable tester architecture with I-cached SIMD technology
JP3063676B2 (ja) * 1997-05-09 2000-07-12 日本電気株式会社 半導体装置の回路検証方法
US6028439A (en) 1997-10-31 2000-02-22 Credence Systems Corporation Modular integrated circuit tester with distributed synchronization and control
US6202182B1 (en) * 1998-06-30 2001-03-13 Lucent Technologies Inc. Method and apparatus for testing field programmable gate arrays
JP2000163456A (ja) 1998-11-25 2000-06-16 Hitachi Ltd 論理検証方法
JP3942765B2 (ja) 1999-03-15 2007-07-11 株式会社アドバンテスト 半導体デバイスシミュレート装置及びそれを用いた半導体試験用プログラムデバッグ装置
US6631487B1 (en) * 1999-09-27 2003-10-07 Lattice Semiconductor Corp. On-line testing of field programmable gate array resources
JP2001184225A (ja) * 1999-12-27 2001-07-06 Toshiba Microelectronics Corp エミュレータ及びエミュレート方法
US6694488B1 (en) 2000-03-03 2004-02-17 Nec Corporation System for the design of high-performance communication architecture for system-on-chips using communication architecture tuners
DE10039004A1 (de) 2000-08-10 2002-02-21 Philips Corp Intellectual Pty Anordnung zum Testen eines integrierten Schaltkreises
JP3822044B2 (ja) * 2000-09-25 2006-09-13 株式会社東芝 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体
JP2002296329A (ja) * 2001-03-30 2002-10-09 Agilent Technologies Japan Ltd 集積回路の試験装置
US6754868B2 (en) * 2001-06-29 2004-06-22 Nextest Systems Corporation Semiconductor test system having double data rate pin scrambling
US6779140B2 (en) * 2001-06-29 2004-08-17 Agilent Technologies, Inc. Algorithmically programmable memory tester with test sites operating in a slave mode
KR100442696B1 (ko) * 2001-12-19 2004-08-02 삼성전자주식회사 반도체 메모리 소자의 병렬 테스트 시스템
US7810067B2 (en) * 2002-08-30 2010-10-05 Sap Aktiengesellschaft Development processes representation and management

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135049A (zh) * 2011-11-28 2013-06-05 爱德万测试株式会社 测试图形生成装置、测试程序生成装置、生成方法及测试装置
CN103135049B (zh) * 2011-11-28 2015-08-26 爱德万测试株式会社 测试图形生成装置、测试程序生成装置、生成方法及测试装置

Also Published As

Publication number Publication date
EP1884789B1 (en) 2009-07-29
US20040255216A1 (en) 2004-12-16
DE602004016973D1 (de) 2008-11-20
JP4704178B2 (ja) 2011-06-15
CN100432689C (zh) 2008-11-12
US7272765B2 (en) 2007-09-18
EP1884789A3 (en) 2008-02-13
CN101231325B (zh) 2011-08-31
EP1610135B8 (en) 2009-03-04
CN1756960A (zh) 2006-04-05
EP1610135A1 (en) 2005-12-28
MY131932A (en) 2007-09-28
WO2004088339A1 (ja) 2004-10-14
US20040193990A1 (en) 2004-09-30
EP1610135A4 (en) 2006-12-20
US7290192B2 (en) 2007-10-30
TWI315406B (en) 2009-10-01
KR20050113271A (ko) 2005-12-01
CN1768275A (zh) 2006-05-03
JP3748269B2 (ja) 2006-02-22
CN101231325A (zh) 2008-07-30
JP2006053160A (ja) 2006-02-23
JPWO2004088339A1 (ja) 2006-07-06
TW200506397A (en) 2005-02-16
EP1610135B1 (en) 2008-10-08
EP1884789A2 (en) 2008-02-06
DE602004022347D1 (de) 2009-09-10

Similar Documents

Publication Publication Date Title
CN100489554C (zh) 测试装置与测试模拟方法
TWI389033B (zh) 測試模擬裝置、測試模組模擬裝置以及記錄此程式之記錄媒體
US6678625B1 (en) Method and apparatus for a multipurpose configurable bus independent simulation bus functional model
CN100495357C (zh) 处理误差信息和在处理器***中注入误差的方法和装置
US20080010524A1 (en) Test emulator, test module emulator and record medium storing program therein
US5953519A (en) Method and system for generating electronic hardware simulation models
US7548828B2 (en) Automatic test equipment platform architecture using parallel user computers
JP2002071763A (ja) イベント型テストシステム
JP2007057541A (ja) 試験エミュレート装置
US6339837B1 (en) Hybrid method for design verification
CN100456043C (zh) 检测集成电路的方法和装置
CN116795728B (zh) 一种基于uvm的多核缓存一致性验证模组及方法
JPH11202026A (ja) 不良解析手法
US7194658B2 (en) Various methods and apparatuses for interfacing of a protocol monitor to protocol checkers and functional checkers
CN111427839A (zh) 一种Intel SoC FPGA的远程在线配置、调试方法
TWI287639B (en) A distributed operating system for a semiconductor test system for testing at least one device under test
JP2005285092A (ja) 試験エミュレート装置
Nejedlo et al. Intel® IBIST, the full vision realized
CN116203393B (zh) 一种集成电路测试方法及***
Vaandrager Does it Pay Off? Model-Based Verification and Validation of Embedded Systems!
Ibrahim et al. Dars: An eda framework for reliability and functional safety management of system-on-chips
Fogarty et al. On‐chip support for software verification and debug in multi‐core embedded systems
TW432334B (en) Virtual computer certification platform
Tommy et al. Intel’s Post Silicon functional validation approach
CN113886319A (zh) 一种基于形式化验证快速收敛覆盖率的验证方法及装置

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
CX01 Expiry of patent term

Granted publication date: 20090520

CX01 Expiry of patent term