CN1043021A - 基于存储器存取分析的内核电路自动验证 - Google Patents
基于存储器存取分析的内核电路自动验证 Download PDFInfo
- Publication number
- CN1043021A CN1043021A CN89108773.7A CN89108773A CN1043021A CN 1043021 A CN1043021 A CN 1043021A CN 89108773 A CN89108773 A CN 89108773A CN 1043021 A CN1043021 A CN 1043021A
- Authority
- CN
- China
- Prior art keywords
- address
- data
- access
- instruction
- data access
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
提供对基于包含指令预取特性的微处理器(μp)的系统的内核电路进行自动验证的方法和设备。在借助存储器仿真进行测试期间,按测试程序和对应检查表,对μp所存取的存储器地址就存取类型、地址和数据尺寸方面进行评价,以确定这些存取是否和同类型的功能μp一致。还提供了其它数据结构,例如标志、指示器,以增强验证操作和检查表的使用。
Description
本发明一般涉及基于微处理器的电子系统的测试和故障查找,更准确地说,涉及使用存储器仿真技术对基于微处理器的电子系统的内核进行的测试和故障查找。
本申请与以下和本申请同时提交的申请相关,即,J.Polstra,M.Scott和B.White的“系统自动诊断的内核测试接口和方法”,T.Locke的“提高存储器仿真法性能的增强型硬件”,以及B.White,J.Polstra和C.Johnson的“验证数据总线的设备、方法和数据结构”,这些都已转让给本发明的受让人。
随着在消费品和工业产品中对复杂的基于微处理器的系统的广泛使用,电路故障的测试和诊断和自动化,特别是对这种系统的内核进行电路故障的测试和诊断的自动化,变得极为需要,在本领域众所周知,这种系统的内核是指微处理器(μP)本身以及相关元件,(具体是指存储器、时钟、地址总线和数据总线),为了正确地运行,微处理器与这些元件的正确配合是必要的,其中用测试装置仿真内核元件的所谓仿真测试器,由于即使在该内核连最低限度地运转也达不到的情况下,也能够对所述内核作较详细的诊断,所以已越来越普及地用于功能测试。
一种类型的仿真测试器就是微处理器仿真器,作为授给K.S.Bhaskar等人的美国专利4,455,654中所描述的测试器的实例,并已转让给John Fluke制造有限公司;在该系统中,通过拆去被测部件(UUT)的微处理器(μP)并通过UUT的μP插孔连接该测试系统而实现其与UUT的连接。
另一种类型的仿真式测试器是ROM(或存储器)仿真器,由于ROM可与UUT数据和地址总线直接通信,而且ROM插座管脚结构比较简单,所以认为ROM仿真是合乎要求的。ROM仿真器用于软件设计和μP的操作验证是众所周知的,只是最近才应用于故障检测和诊断,因为一般没有同步信号可运用于使该测试设备与它所接收到的测试结果相同步。对该问题的一个解决办法,公开于M.H.Scott等人于1988年2月19日提交的美国专利申请07/158,223,即“基于微处理器的电子系统测试和故障查找的存储器仿真方法和系统”,特此全部引入作为对比文件。该测试系统包含一个基于μP的主机和一个接口箱,后者还包含一个与所述μP和UUT存储器插座相连接的基于μP的系统。该接口箱包含与UUT μP相连专门逻辑电路,用以在所考虑的总线周期内提供高分辨同步信号,以便产生完全的故障查找故障隔离,这种故障隔离和由先有技术μP仿真提供的同样有效,因为,从μP产生的高分辨率的同步脉冲可用来按它们来自μP接头的同样方便的方式在存储器插座处对由地址总线上所监测到的信号进行隔离和评价。另外,如该申请所公开的,由于基于μP系统的趋势是增加RAM而减少ROM并可以用代替的RAM来取消ROM。因此,ROM仿真可归纳为存储器仿真,(例如,存储器或部分存储器的仿真。所以测试系统最好归纳为尚未产生的、但可根据电子的基于微处理器系统体系结构目前趋势预见的测试系统。
重要的是理解一些术语间的差别,这些术语指出由不同测试过程产生功能性的不同确定程度。本文所用的术语“验证”表示确定足以进行连续过程的起码的最小程度的功能性。术语“证实”表示如果没有发现故障,则可认为已证实的整个结构是完全起作用的。术语“测试”用来表示可发现所有存在故障的过程,但不必隔离或识别出故障所在。本文所用的“诊断”表示发现并识别出所有故障。
正如在上述与本发明共同未决的申请、polstra等人的“基于微处理器系统自动诊断的内核测试接口和方法”(特此全部引入作为对比文献)中所公开的,已经提供了一种利用存储器仿真的高度自动化的测试和诊断系统和方法,然而,在测试使用现代微处理器(μP)的系统时遇到了困难,所述现代微处理器利用指令预取逻辑,即,在实际需要这些指令之前从存储器中取出指令。这种指令预取逻辑使μP的指令提取与已提取指令的执行相重叠,从而有较好的总线利用率和较高的程序执行速度。
虽然指令预取逻辑导致μP性能提高,但由于指令与数据提取以不可预测次序交叉进行,所以引起使用这种μP的基于μP的系统在测试上的困难。在程序执行期间确定存储器存取的准确序列,该序列还受许多因素影响,例如,μP执行速度、存储器存取时间及非CPU事务诸如RAM刷新周期。由于存储器仿真测试主要根据所述系统对给定激励的响应的分析,通常必须能够将响应与触发该响应的激励相联系。那么,很清楚,指令预取逻辑给测试以及将测试设备功能扩展到用具有这种特性的μP的系统测试带来很大阻碍。
本发明的另一目的是提供一种对具有指令预取逻辑的基于μP系统的内核电路进行验证的方法。
本发明的又一目的是提供对基于μP系统的内核进行验证的设备,所述验证是整个测试和诊断过程的一部分。
本发明另一目的是提供基于μP的存储器仿真增强型测试设备,该设备可用来对内核电路作自动验证。
本发明的还有一目的是提供在存储器仿真期间对存储器存取的分析方法,以用来验证包括具有指令预取逻辑的μP的内核电路。
本发明面向用存储器仿真对基于微处理器系统内核的数据总线进行测试和证实的设备,包括用来对存储器存取进行分析的设备。
本发明包括对具有预取逻辑微处理器的被测部件进行验证的方法,该验证方法包含以下步骤:构造用于测试所述部件的内核电路的仿真存储器,将测试程序和对应检查表装入仿真存储器,执行测试程序,在程序执行期间监测每一次存储器存取的地址。将所存取的每个地址标记为指令存取或数据存取。然后,确定每次指令存取的地址是否大于前一指令存取地比、每次数据存取的地址是否大于前一数据存取地址、每次数据存取地址是否对应于最近所存取指令中所说明的数据单元,当程序结束时根据判定步骤的结果建立所述内核电路的验证。
本发明也包括了用于验证其微处理器带有预取逻辑的被测部件的设备,它包含有用于测试所述被测部件的内核电路的仿真存储器装置,将测试程序和相应的检查表装入所述仿真存储器的装置,使所述微处理器执行测试程序的装置。仿真存储器装置包括在程序执行期间监测每次存储器存取地址的装置。本发明的装置还包括用于将存取的每个地址标记为至少指令存取和数据存取中的一种存取的装置,用于将每条指令存取地址与前一指令存取地址进行比较以及将每个数据存取的每个地址与前一数据存取地址进行比较的比较装置,以及用于确定每次数据存取地址是否与最近存取指令中所说明数据单元对应的装置。其它装置响应于所述第一和第二比较装置以及用于证实所述内核电路验证的确定装置。
本发明所提供的分析允许对基于μP系统的电路进行自动验证,即使由于μP的指令预取逻辑而不能预测存储器存取序列。
本发明的以上和其它目的,参考附图和以下的详细描述,对本领域的技术人员是显而易见的。
图1是与本发明结合的测试设备的说明。
图2是本发明的简化框图。
图3为图2所示整个系统的详细框图。
图4是适合Z80 μP的本发明的样本测试程序。
图5为根据本发明的与图4程序对应的示例性检查表。
图6是根据图4和图5程序及检查表实例的地址跟踪。
图7是按照本发明的整个流程图。
图8为图7的初始化步骤的详细流程图。
图9为图7中步骤“实际地址为指令取出?”的详细流程图。
图10为图7中步骤“实际地址为数据存取?”的详细流程图。
图11为图7中步骤“实际地址为转移目标?”的详细流程图。
图12为图7中步骤“处理取出指令”的详细流程图。
图13为图7中步骤“处理数据存取”的详细流程图。
图14为图7中步骤“处理转移”的详细流程图。
图15为图7中步骤“更改状态”的详细流程图。
参考图1,作为本发明的概况,与被测部件(UUT)14连接的测试设备包括:主机处理器10(它安装在小型机壳内,并包括键盘20、探针32、显示器22)、接口箱12、包括同步模块适配器150的同步模块150以及随UUT14的存储器配置而定的至少1个存储器模块100(图中示出2个)。存储器模块通过多导线电缆92和与UUT存储器插座72对应的插头和UUT相连接。图2从原理上说明图1所示系统的互连,展示了该设备在多个外壳中的最佳安排。可以理解,所示最佳的系统元件的连接为操作者方便起见可安装比所示较多或较少的元件。例如,该接口箱可全部包括在主机的同一机壳内。也可注意到,图2中,虽然以存储器模块在电气上取代UUT存储器(要么是物理取代要么是并行连接而禁止UUT存储器),但是,所述同步模块与留在UUT电路中的μP相连接。
本发明所用的方法和设备分析所检测到并由仿真存储器捕获的存储器存取,以确定这种存储器存取的序列是否与运行的μP一致,这是鉴于即使是同一程序的不同重复,也不会以相同方式对存储器存取。这样便不存在存储器存取序列的“正确”次序。甚至典型的存储器存取序列不能根据实验来确定,并且对确定μP的功能性没有价值。
本发明的分析技术作了两点假设:
1)在指令执行前提取指令,及
2)以顺序次序进行指令提取。
从上述的第一个假定可建立验证准则,即,数据不能先于需要该数据的指令之前取出。所以,验证的另一准则为:数据应以顺序存取,与以上第二假定一致。
因此,本发明的分析技术可总结为检验指令存取是否按顺序次序,检验数据存取是否按顺序次序以及数据存取序列是否与指令存取序列一致。在下面更详细地对此进行描述时,指出以下事实是重要的,即,在按照本发明的实践中,以上检验可由极为简单的实现过程来实现,基本上是检验存储器存取与前面的存储器存取或数据存储的一致性。如某特定的存储器存取与任何存取不相容,便报告出错。
基于以上关于本发明的简短概述,回顾该系统的工作,作为理解构成本发明增强部分的工作原理的基础。
测试系统包括多个新颖的过程,这些过程包含总线测试原语、数据激励原语和地址激励原语,这些原语将在下面单独描述。这些原语的每一个都具有用来测试基于μP系统的内核的特定部分的实用性。并且,当根据本发明顺序执行这些原语时,可得到比现有的测试和诊断更快、操作更便利的高度自动化的测试和诊断。
借助测试设备主机中的程序来执行总线测试原语。总线测试原语的主要功能是确定μP能否在内核执行基本读写操作,并且,该功能可以仅仅由单个读写操作构成。如测试成功,就可得知μP至少能够存取存储器,在这种情形下,仿真存储器接收数据总线上的位模式并将该位模式置于可由接口箱接收并监测的地址总线上。然而,在最佳实施例中,由于测试设备通过产生特征标志来执行数据和地址总线的诊断,所以,总线测试原语以程序方式执行,该程序预定使用对应于引导存储器的部分数据和地址总线。无论是作为单个操作还是作为操作序列来实现,重要的是总线测试原语并不会用尽包含数据和地址总线的线路,或者甚至不会用尽可置于这些线路或部分线路的位组合,因而,总线测试原语能够迅速地起到合格/不合格测试的作用。
数据激励原语是在比总线测试原语较低级的μP可操作性上实现的,具体地说是通过重复地对μP复位来实现的,在执行总线测试原语之前已对该功能进行测试。一旦复位,该μP就存取引导存储器的第一单元并检索存储其中的位模式。数据激励不是一个程序而是通过改变每次复位时引导存储器第一单元的位模式来实现的。重要的是要注意到:该功能对所谓向量复位和执行复位两种类型的微处理器是公用的。无论哪类μP,从存储器检索出的位模式都可通过数据总线进行通信,并可在地址总线上出现。在复位期间,μP在起始读取引导存储器的第一单元时产生由同步模块获取的同步脉冲,该同步脉冲由同步模块捕获,与所述接口箱通信并用于评价在数据总线上出现的信号,或者通过探测或非探测方法来收集数据总线线路上出现的特征标记。后者可通过类似于总线测试的过程完成,该过程在监测芯片选择线路的同时,使用完备的数据激励的位模式序列。在这种意义上,数据激励序列是完备的,即,该序列是由一串基本上任意的模式组成,尽管如此,还是选择该序列使得在数据总线的每一线路上产生唯一的特征标记。如总线测试原语描述中所说明的那样,在存储器引导区,芯片选择线(地址总线高位信号的逻辑函数)仅当一个或多个高位信号在循环通过引导区单元时如所料到那样为非零时,该芯片选择线才反映出一个错误,并且,即使一条或多条高位总线线路与地粘连,合格/不合格测试也能通过。同样,在执行数据激励序列时,所料到的芯片选择信号的有无,反映有没有一条高位线路被锁闭(如与地短路)。如果该测试通过,只剩下数据总线的一条线路与另一数据总线线路粘连的故障。这种粘连线路故障可在以后通过手工探测,或最好是在地址总线测试后进行自动诊断来加以诊断,这已借助于数据总线的验证使之成为可能。
对数据总线的验证、(如Polstra等人与本发明共同未决的申请中所公开的)、证实、(如White等人的与本发明共同未决的申请中所公开的)测试或诊断之后,可用与数据激励原语相同的激励序列进行地址总线的测试。然而,这是通过执行使用这些位模式并收集特征标记的编程的读/写指令序列来实现的,其中,所述收集特征标记或者便用手工探测,或者最好是用分析存储器,从该分析存储器中可演绎出闭锁或粘连的线路。如上所指出的,只用有限个激励序列的位模式就能实施地址线的完备测试。地址总线线路一旦完全诊断,由于数据总线线路上的任何故障也反映在地址总线线路上,因此数据线路的完全诊断也是可能的。既然地址总线线路已完全诊断,所提及的任何故障就可与特定总线隔离。指出以下事实是有益的:对执行复位处理器来说,用于执行地址激励原语的程序可能为单条指令。对向量复位处理器来说,依赖引导单元地址得到第一指令,地址激励原语一般完全不需要指令,仅仅是将所要求的位模式置于仿真存储器的复位向量单元。
从整个系统和方法的角度概括以上概述的原语,当要求执行基于μP系统的内核的测试时,仿真存储器在电气上取代被测部件存储器,同步模块通过导线140(图3)和μP的时序信息和强制管脚如复位管脚相连接。当启动测试过程时,进行某种校验以确定将电源供给内核中那些将在下列详细枚举的元件。然后,进行复位过驱动校验来确定实际上该接口箱能否启动μP的复位,并且,借助同步模块监测该复位过驱动校验,以确定该复位线是否先是有效然后又无效。μP的实际复位并不在这一步检验,而仅当能够使μP复位的信号在μP的适当管脚上出现时才进行检验。
接着,同步模块捕获得评价μP的时钟信号。如果该接口箱没有接收到μP时钟信号,那么,对时钟进行额外的检验以判断它是否变慢或短接,并且对强制线上信号的未预料的值进行额外的校验。
这时,对μP本身未曾进行任何测试,不过,已证明信号足以确定这些测试能进行。这些测试中最基本的测试,即,μP复位,由复位线的过驱动和在与引导存储单元对应的芯片选择线上寻找来自地址译码器80的选片信号来完成。如μP复位成功,再次对μP复位以检验地址总线低位线路上的正确信号以存取引导存储器的第一单元。该过程验证了内核足够的功能性,可继续进行如上概述的总线测试序列、数据和地址激励原语序列。还应注意到,如果至此实施任何测试已指明故障,便无需使用μP复位以外的任何更复杂的或高级的功能,便能清楚地指出特定的内核故障。上面概述的总线测试在其第一循环(可能仅有的)里只证明对内核其余部分的完全测试和诊断所必需的唯一的另一种功能是:读和写操作。还应记住,由于同步模块产生的高分辨的同步脉冲的缘故,可将所考虑的总线周期隔开,并以响应用来运用这些线路的激励模式而产生的特征标记为依据进行总线的评价。例如,如在Polstra等人的申请中所公开的那样,由于只有12个位模式是激励原语所必需的,以便运用总线中的32条线路,产生每一线路的唯一特征标记,用于对总线的完全诊断,因此,可使测试速度显著提高。
按照本发明,并且再参考图3,导线140连接UUT的复位线和其它呈现反映UUT μP工作状态(状态管脚)的信号的线路。例如,在80386处理器上,这些线路可以是HOLD、HLDA(保持应答)、ADS、READY、CLK和RESET线。这些信号通过线路140由缓冲器152所接收,再通过电缆90作为总线周期状态机200的输入信号传输到接口箱。总线周期状态机200在主机10的控制下,对这些信号执行逻辑操作,以产生用于控制同步脉冲发生状态机202的控制信号,所述同步脉冲发生状态机用于响应到达该机的信号而产生同步信号。将该同步送至从中产生控制信号的主机10,所述主机所产生的控制信号送回接口箱的各部件上,如示有分析器RAM 62。
参考图4和图5,根据本发明的地址跟踪的分析机构提供内核电路的验证如下。测试程序,诸如图4的测试程序,其中指令和数据的地址以单调递增次序装入仿真存储器。以16进制形式给出这些代码。给出指令单元的序列为0000,0003,0006和0009。相对应的数据单元分别为0100,0200,0400和转移指令0009。与该程序相对应,建立如图5所示的检查表。检查表的每个入口描述一次存储器存取并且定义指令地址、数据地址和数据尺寸,这样便描述了数据存取与引发数据存取的指令之间的依赖关系。程序已知后,由于可用验证算法推导出指令取出的序列,在检查表中只有数据存取有入口。
图6展示了存储器存取的实际地址跟踪。当μP复位时,μP通过查找单元0000的指令而开始运行,在本例中该指令为对单元0001中的数据执行装入操作的指令。在下一个周期,μP在单元0001查找指令等。由于直到单元0003(图4)才有另一条指令,所以,程序通过步骤2继续进行。由于在单元0003有另一条指令以及前面取出的指令未被执行,所以,步骤3(图6)通过执行对地址100的数据存取来开始执行。如图6所指出,地址100数据的取出适合于步骤1-3中的任何一个步骤。从步骤4开始,以类似方式重复任意多次所述处理。在步骤12,访问包含一条转移指令的地址0009。该转移指向地址009并构成循环,将一直被执行直至被中断。转移的执行适合于如图6指示的下面几个步骤中的任何一个。要注意的重要之处在于:存储器存取必须适合于或者前面存取的指令地址或者由前面存取指令所规定的地址。如果均不是,则报告出错。
可以根据图7的总流图更详细地理解该序列。该图示出了本发明的主要数据结构、检查表、允许执行的验证的功能。最好维持用来帮助分析的其它数据结构如下:
“存取序列数”为指示所考虑地址序列步骤的变量。起始于0,随连续地址的分析而线性地增加。
“指令取出指示器”指出检查表并随指令取出而增加。假定由指令取出指示器和下面的地址指出的地址尚未被取出而假定指示器之前的地址已经取出。
“数据存取指示器”也指向检查表并以同样方式顺序递增。采用与对指令取出指示器同样的假定,除了它从那些假定未取出的数据地址中划分出假定已取出的数据地址。
“存取类型标志”指出在分析过程中任一具体阶段所预期的存储器存取的类型。存取可能性有:INST-指令取出、DATA-数据存取及JUMP-由转移引起非顺序指令取出。在分析的每一步中,置位这些标志中的一个或多个。如果INST和DATA被置位,无论指令还是数据取出都可正确接受。如果只有INST置位,只有指令取出可接受。DATA和JUMP不可同时被置位。
“下一指令地址”说明预期出现下一指令提取的地址,它仅用于INST标志置位时。
“下一数据地址”说明下一预期数据提取或转移目标的地址,并用于JUMP或DATA标志被置位时。
“下一数据尺寸”权用于DATA标志置位时并用来说明在下一数据存取期间预期存取的字节个数。
回到图7,验证处理的第一步是系统初始化(701)。从图8可见这一步骤清除标志(801)并对数据尺寸值起反应(802)要么置位DATA(803)要么置位JUMP(804)标志。如果DATA标志被置位,通过检查表入口置位“下一数据地址”。对这些校验表入口存取过后,递增数据存取指示器(807)和指令取出指示器(808)。
下一步(图7)为将存取序列数置为0(702)。然后设置实际地址等于存取序列数(703)。接着,确定实际地址值是否为指令取出(704)。参考图9,检验INST标志(901)。如未置位,下一指令不能是指令并要执行图7中的下一步(705)。如该标志置位,将实际地址与下一指令地址值进行比较(902),如果两者相等,该操作分支到指令取出步骤(图12)的操作,在该操作中递增指令取出指示器(1201)、下一指令地址(1202)、并且执行更改状态过程(图15)。如果两者不相等,操作将继续评价该存取是否为可能的数据存取。图10展示了类似图9的过程,首先检查DATA标志(1001)以及实际地址是否和下一数据地址值相等(1002),可能分支到图13所示处理数据存取的操作。
处理数据存取的步骤(708)递增下一数据地址值并递减下一数据尺寸值(1301)。鉴于所取出数据可能为可推测的许多个邻接字节,所以,预期的下一地址可能为下一较高地址,而递减数据尺寸提供了在图13中的下一步(1302)中完成数据取出、测试下一数据尺寸值确定它是否为0的手段。这种特性使得检查表只有一个入口用于数据取出而与数据尺寸无关。如果下一数据尺寸等于0(1302),递增检查表中的数据存取指示器(1303),如图15所示对状态进行更改(1304),并且,该操作返回到图7所示的过程。如下一数据尺寸不为0,清除数据标志之外的所有标志(1305),由于连续取出必须具有较多数据,所以,通过再次递减下一数据尺寸以及重复循环直至下一数据尺寸减小为0来进行数据取出。
如果没有出现分支,通过评价实际地址确定它是否为转移目标(在图11中说明)来继续所述分析。这又类似于图9和图10,首先评价JUMP标志的状态(1101)再检验实际地址是否等于下一数据地址值(1302)。由于DATA和JUMP标志从不同时置位,所以,如果DATA标志已置位,那么,与下一数据地址相等的实际地址将导出对数据存取的处理(图10),又,由于已经确定JUMP标志被置位(图11),所以,必须对有效转移加以说明并进行图14所示的分析。
如识别出正确的转移,进行图14所示的处理(209)。数据存取指示器进到检查表的下一入口(1401)并将下一指令地址设置为与下数据地址(1402)。这样做的原因是:已确定转移是有效的、已确定实际地址值为下一数据地址值,实际上所述转移指令就是位于该地址,从而免除了将该地址和转移指令分开存取的需要,而所述转移指令可由指令取出步骤而取出(1403)。
这时,已完全评价了存储器存取的所有可能类型,如认为某存取作为指令取出、数据取出或一个转移不合适,如图7所示报告故障。
上面提及的更改状态过程图示说明于图15。这个过程为指令取出(图12)或数据存取(图13)的处理过程所引用。该过程确保那些和被测特定μP的指令预取限制相关的操作完成时,标志和指示器被正确置位。首先清除所有标志(1501)并对两指示器的相对地址检查是否相等(1502)。如指示器不相等,检验下一指令地址确定它是否在指令取出指示器之外的预取限制范围内(1503)。无论哪种情形,INST标志被置位(1504)。如果在预取限制范围内或INST标志置位后,进行评价确定下一预期数据存取是否对应于下一预期指令取出(1505),更具体地说,就是指令存取指示器是否大于(例如,检查表的后一入口)数据存取指示器?如不大于,继续分析操作。如果指令存取指示器大于数据存取指示器,指出未完成的存储器访问,并通过检查表复位下一数据地址和数据尺寸(1506),再对JUMP标志(1509)或DATA标志(1508)进行适当置位,以便在继续处理时完成所述存取。
最后,在任何处理步骤(图12-图14)之后继续分析过程,检查分析是否完成(710),并且,由于测试程序最好在由转移开始的循环里终止,所以,所述分析过程可根据操作者的意愿继续进行。在过程终止之前,递增存取序列数并重复所述操作(711)。
根据所提出的本发明的详细描述,已提供设备和方法用来根据存储器存取的分析对基于μP系统的内核电路进行自动验证,这种分析完全补偿了由于μP指令预取而产生这种存储器存取的不可预见性。本发明提供的分析使用测试程序和相应检查表供指示器和标志使用以帮助识别预期的存储器存取类型。
这样全面地描述了本发明的细节后,应该理解,在不偏离本发明精神和范围的情况下,许多变型和修改对本领域的技术人员是显而易见的。上面给出的详细描述用作一种实例而不是限制,本发明的范围仅由所附的权利要求所限定。
Claims (11)
1、用于验证其微处理器包含预取逻辑的被测部件的方法,其特征在于包含以下步骤:
提供用于测试所述被测部件内核电路的仿真存储器,
将测试程序和相应检查表装入所述仿真存储器,
使所述微处理器执行所述测试程序,
在所述测试程序执行期间,监测每次存储器存取的地址,
将每一个所取的地址标记为至少指令存取与数据存取中的一个,
确定每次指令存取地址是否大于前面的指令存取地址,
确定每次数据存取地址是否大于前面的数据存取地址,
确定每次数据存取的地址是否对应于最近存取指令中所说明的数据单元,
根据所述的确定步骤的结果,确认对所述内核电路的验证。
2、用于验证其微处理器包含预取逻辑的被测部件的方法,其特征在于包含以下步骤:
提供用于测试所述被部件内核电路的仿真存储器,
将测试程序和相应检查表装入所述真存储器,
使所述微处理器执行所述测试程序,
在所述测试程序期间,监测每次存储器存取的地址,
将每一个所存取的地址标记为至少指令存取与数据取中的一个,确定每次指令存取地址是否大于前面的指令存取地址,
确定量每次数据存取地址是否大于前面的数据存取地址,
确定每次数据存取的地址是否对应于最近存取的指令中所说明的数据单元,
如果所述确定步骤中任何一个所说明的条件不满足,制止对所述内核电路的验证。
3、根据权利要求1的方法,其特征在于包含步骤:
提供与所述指令存取和所述数据存取中的所述至少一个相对的标记,该标记用于分别表明指令存取或数据存取是否可能。
4、根据权利要求1的方法,其特征在于:所述检查表中所述数据还提供与所述测试程序对应的数据存取地址的指令地址。
5、根据权利要求4的方法,其特征在于:所述检查表中的所述数据还备有与所述测试程序相对应的数据尺寸信息。
6、根据权利要求3的方法,其特征在于:至少一个所述确定步骤包含以下步骤:
确定所述对应标志是否置位,
确定所述存取地址是否和所述检查表中的地址相对应。
7、一种用验证其微处理器包含预取逻辑器的被测部件的设备,其特征在于包括:
用于测试所述被测部件内核电路的仿真存储器装置,
用于将测试程序和对应的检查表装入所述仿真存储器的装置,
用于使所述微处理器执行所述测试程序的装置,
所述仿真存储器中包含在执行所述测试程序期间对每次存储器存取地址进行监测的装置,
用于将每个所存取的地址标记为至少指令存取和数据存取中的一个的装置,
用于将每次指令存取的每一地址与前面的指令存取地址进行比较的第一比较装置,
用于将每次数据存取的每个地址与前面的数据存取地址进行比较的第二比较装置,
用于确定每次数据存取地址是否对应于最近存取指令中所说明的数据单元的装置,
响应于所述第一和第二比较装置的装置,以及所述确定装置用来确认所述内核电路的验证。
8、根据权利要求7的设备,其特征在于包括:
包含对应于所述指令存取和数据存取中至少一种存取的标志的装置所述标志用于分别表明指令存取或数据存取是否可能。
9、根据权利要求7的设备,其特征在于:所述检查表包括与数据存取地址对应的数据,以及与所述测试程序相符的指令地址。
10、根据权利要求9的设备,其特征在于:所述检查表还包括与所述测试程序相符的数据尺寸信息。
11、根据权利要求8的设备,其特征在于:所述比较装置中至少一个由所述标志中的对应的一个标志来启动。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US275,183 | 1988-11-23 | ||
US07/275,183 US4989207A (en) | 1988-11-23 | 1988-11-23 | Automatic verification of kernel circuitry based on analysis of memory accesses |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1043021A true CN1043021A (zh) | 1990-06-13 |
Family
ID=23051230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN89108773.7A Pending CN1043021A (zh) | 1988-11-23 | 1989-11-21 | 基于存储器存取分析的内核电路自动验证 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4989207A (zh) |
EP (1) | EP0370926A3 (zh) |
JP (1) | JPH0628038B2 (zh) |
CN (1) | CN1043021A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100409710C (zh) * | 2001-03-01 | 2008-08-06 | 意大利电信股份公司 | 检查电信网络中的节点配置的方法和系统 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0786811B2 (ja) * | 1990-06-19 | 1995-09-20 | 富士通株式会社 | アレイディスク装置のドライブ位置確認方式 |
US5325365A (en) * | 1991-10-04 | 1994-06-28 | John Fluke Mfg. Co., Inc. | In a memory emulation test apparatus, a method of and system for fast functional testing of memories in microprocessor-based units |
US5313618A (en) * | 1992-09-03 | 1994-05-17 | Metalink Corp. | Shared bus in-circuit emulator system and method |
US5539901A (en) * | 1993-09-30 | 1996-07-23 | Intel Corporation | Method and apparatus for system management mode support for in-circuit emulators |
US5968188A (en) | 1998-03-10 | 1999-10-19 | Grammar Engine | System for providing real-time code coverage |
US6412046B1 (en) | 2000-05-01 | 2002-06-25 | Hewlett Packard Company | Verification of cache prefetch mechanism |
US6957371B2 (en) * | 2001-12-04 | 2005-10-18 | Intellitech Corporation | Method and apparatus for embedded built-in self-test (BIST) of electronic circuits and systems |
JP2004199333A (ja) * | 2002-12-18 | 2004-07-15 | Sanyo Electric Co Ltd | マイクロコンピュータおよびその評価装置 |
JP2004199334A (ja) * | 2002-12-18 | 2004-07-15 | Sanyo Electric Co Ltd | マイクロコンピュータおよびその評価装置 |
US7426704B2 (en) * | 2004-05-10 | 2008-09-16 | International Business Machines Corporation | Design verification of highly optimized synchronous pipelines via random simulation driven by critical resource scheduling |
US7584383B2 (en) * | 2006-08-04 | 2009-09-01 | Sun Microsystems, Inc. | Method and system for kernel-level diagnostics using a hardware watchpoint facility |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL282320A (zh) * | 1961-08-22 | |||
US4055801A (en) * | 1970-08-18 | 1977-10-25 | Pike Harold L | Automatic electronic test equipment and method |
FR2257213A5 (zh) * | 1973-12-04 | 1975-08-01 | Cii | |
US4108358A (en) * | 1977-03-22 | 1978-08-22 | The Bendix Corporation | Portable circuit tester |
US4139818A (en) * | 1977-09-30 | 1979-02-13 | Burroughs Corporation | Circuit means for collecting operational errors in IC chips and for identifying and storing the locations thereof |
US4192451A (en) * | 1978-05-30 | 1980-03-11 | Tektronix, Inc. | Digital diagnostic system employing signature analysis |
US4402055A (en) * | 1981-01-27 | 1983-08-30 | Westinghouse Electric Corp. | Automatic test system utilizing interchangeable test devices |
FR2531230A1 (fr) * | 1982-07-27 | 1984-02-03 | Rank Xerox Sa | Ensemble destine au test automatique centralise de circuits imprimes et procede de test de circuits a microprocesseur faisant application de cet ensemble |
FR2532771B1 (fr) * | 1982-09-08 | 1988-05-13 | Service Sa | Procede et dispositif pour tester statiquement l'ensemble des connexions et des circuits integres peripheriques d'un microprocesseur |
DE3241412A1 (de) * | 1982-11-09 | 1984-05-10 | Siemens AG, 1000 Berlin und 8000 München | Vorrichtung zum testen eines hochintegrierten mikroprogramm-gesteuerten elektronischen bauteiles |
US4641207A (en) * | 1983-03-22 | 1987-02-03 | Green George D | Diagnostic device and method for examining the operation of a disk drive |
US4550406A (en) * | 1983-06-14 | 1985-10-29 | Everett/Charles Test Equipment, Inc. | Automatic test program list generation using programmed digital computer |
US4641348A (en) * | 1983-11-09 | 1987-02-03 | Hewlett-Packard Company | Timing or logic state analyzer with automatic qualified inferential marking and post processing of captured trace data |
US4656632A (en) * | 1983-11-25 | 1987-04-07 | Giordano Associates, Inc. | System for automatic testing of circuits and systems |
US4691316A (en) * | 1985-02-14 | 1987-09-01 | Support Technologies, Inc. | ROM emulator for diagnostic tester |
US4674089A (en) * | 1985-04-16 | 1987-06-16 | Intel Corporation | In-circuit emulator |
US4687988A (en) * | 1985-06-24 | 1987-08-18 | International Business Machines Corporation | Weighted random pattern testing apparatus and method |
US4868822A (en) * | 1988-02-19 | 1989-09-19 | John Fluke Mfg. Co., Inc. | Memory emulation method and system for testing and troubleshooting microprocessor-based electronic systems |
-
1988
- 1988-11-23 US US07/275,183 patent/US4989207A/en not_active Expired - Fee Related
-
1989
- 1989-11-21 CN CN89108773.7A patent/CN1043021A/zh active Pending
- 1989-11-22 EP EP19890420459 patent/EP0370926A3/en not_active Withdrawn
- 1989-11-22 JP JP1304515A patent/JPH0628038B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100409710C (zh) * | 2001-03-01 | 2008-08-06 | 意大利电信股份公司 | 检查电信网络中的节点配置的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP0370926A2 (en) | 1990-05-30 |
JPH0628038B2 (ja) | 1994-04-13 |
EP0370926A3 (en) | 1991-07-10 |
JPH02201550A (ja) | 1990-08-09 |
US4989207A (en) | 1991-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4433413A (en) | Built-in apparatus and method for testing a microprocessor system | |
US6842865B2 (en) | Method and system for testing microprocessor based boards in a manufacturing environment | |
US5519715A (en) | Full-speed microprocessor testing employing boundary scan | |
JP2776602B2 (ja) | 試験システムおよび命令実行シーケンス判定方法 | |
CN1018097B (zh) | 测试和故障检查用的存贮器仿真方法和系统 | |
CN1043021A (zh) | 基于存储器存取分析的内核电路自动验证 | |
US4984239A (en) | Automatic verification system for maintenance/diagnosis facility in computer system | |
GB2172128A (en) | A method of and apparatus for fault testing a random access memory system | |
CN1011643B (zh) | 在微处理器为基础的装置内存贮器的功能测试方法和系统 | |
US6990685B1 (en) | System and method for tracking bootable devices | |
US5712972A (en) | Identification of faults in data paths and functional units of a central processing unit by a systematic execution of test instructions | |
US7260757B2 (en) | System and method for testing electronic devices on a microchip | |
US4553201A (en) | Decoupling apparatus for verification of a processor independent from an associated data processing system | |
CN1043019A (zh) | 验证内核数据总线的设备、方法和数据结构 | |
US6378094B1 (en) | Method and system for testing cluster circuits in a boundary scan environment | |
US5293387A (en) | Method for increasing the resolution of a digital fault dictionary | |
JPH10171677A (ja) | マイクロプロセッサおよびその検査方法 | |
CN1454320A (zh) | 集成电路实时检测的系统结构及其测试方法 | |
US6490694B1 (en) | Electronic test system for microprocessor based boards | |
US4744049A (en) | Microcode testing of a cache in a data processor | |
US20050159925A1 (en) | Cache testing for a processor design | |
CN1043020A (zh) | 提高存储器仿真法性能的增强型硬件 | |
US5732220A (en) | Method and apparatus for testing device bus resource resolution | |
EP0430843A2 (en) | Method and apparatus for fault testing microprocessor address, data and control busses | |
JP2672893B2 (ja) | 故障シミュレーション処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |