CN1018097B - 测试和故障检查用的存贮器仿真方法和系统 - Google Patents
测试和故障检查用的存贮器仿真方法和系统Info
- Publication number
- CN1018097B CN1018097B CN88108496.4A CN88108496A CN1018097B CN 1018097 B CN1018097 B CN 1018097B CN 88108496 A CN88108496 A CN 88108496A CN 1018097 B CN1018097 B CN 1018097B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- microprocessor
- bus
- address
- memory
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种对基于微处理器的电子系统进行测试和故障检查的方法和系统,它采用了存贮器仿真技术以及其它技术,以提供完全的功能测试和缺陷定位。它在感兴趣的总线周期期间,在预先选择的时间位置上可以产生良好分辨率的同步脉冲,以使完整的故障寻找缺陷隔离容易。其它特点包括用存贮器仿真技术的总线测试,用ROM的片选线来编码测试结果和在一个核心失效的系统中保持目标微处理器功能的技术。
Description
本发明一般涉及对基于微处理器的电子系统进行测试和故障检查,特别是采用存贮器仿真技术对基于微处理器这样的系统进行测试和故障检查。
目前,随着各类用户和工业产品采用基于微处理器的复杂系统不断增加,测试和故障检查过程的自动化确实非常有必要。一些测试技术,例如符号差分析、逻辑电平检测、频率和事件计数、脉冲和仿真测试等都已众所周知,并已使用多年。特别是仿真测试器,之所以这样叫是因为它们模仿有关核心器件的特性,这类测试器已在基于微处理器的板上或系统中进行功能测试和缺陷隔离中得到推广,首先因为它们能从内往外测试系统,其次它们能测试一个核心部件已失效的系统。
一个这样的仿真测试器是一个微处理器仿真器,在美国专利4,455,654号中已描述过,这个专利是博哈斯卡(K.S.Bhaskar)等人发表的,并转让给约翰·弗卢卡(John Fluke)制造有限公司。这里,测试系统本身是一个基于微处理器的系统,它被连接来代替被测部件(UUT)中的微处理器的位置。博哈斯卡等人的测试系统工作在总线访问方式,其特点在于总线访问的单周期建立起来并作用在另一个总线周期前,就是说,针对一个总线周期,测试系统的微处理器转换入与UUT总线进行信号连系,以
执行读或写操作。然后,测试系统微处理器转换到测试系统的内部电路,以产生另一个与一个新地址有关的读或写命令,或者处理从UUT的存贮器读出的信息。当基于微处理器的系统变得更复杂和运行在更高速度时,实现总线访问的单个周期所需要的总线开关变成了微处理机仿真器的限制,例如博哈斯卡等人所叙述的。对于较新的基于微处理器的UUT系统来说,例如,对于80386系统,合适的总线开关设计起来是复杂和困难的。因此,人们希望提供另外的方法,用这种方法,测试系统可以接入UUT的核心中,以实现诊断测试过程。
已经考虑的另一种类型的仿真测试是只读存贮器(ROM)仿真,因为ROM与UUT系统总线直接通讯,且ROM的引线排列相对说来是简单的,因此,接口的连接器较容易设计。历史上,ROM仿真器已用于软件开发或校验正在工作的硬件。但历史上ROM仿真器没有用于故障检查或缺陷检测,因为没有同步信号可用于使测试设备与测试结果同步。进一步说,是因为测试设备不能直接检索从UUT的ROM插座上来的测试信息。但对这个问题的部分解决在美国专利号4,691,316中已有描述,其中ROM仿真器连接到UUT的ROM输入/输出(I/O)端口,而诊断测试所产生的结果以编码地址信息的形式经UUT地址总线读出,随后,对这些信息译码,并锁存在ROM仿真器中。然而,要指出的是,这个系统并没有提供UUT核心的完全的缺陷诊断,而只限于经地址总线进行通讯。因此,在微处理机系统中,其趋势是增加存贮器的随机存取部分,而减少存贮器的只读部分。可预见,最终将取消ROM,结果是ROM仿真器的使用也将被取消。
根据本发明,对基于微处理器的电子系统进行测试和故障检查的方法和系统采用了存贮器仿真技术以及其他故障检查技术,以提供完整的功能测试和缺陷定位。
该测试系统包含一个基于微处理器的主机和一个也包含一个基于微处理器系统的接口部件,这个系统与被测部件(UUT)的微处理器和存贮空间连接。为了提供完全的故障检查缺陷隔离,这种隔离与由先有技术的微处理器仿真所提供的缺陷隔离一样有效,该接口部件包含与UUT微处理器连接的专用逻辑电路,以便在感兴趣的总线周期期间,提供良好分辨率的同步脉冲。接口部件逐渐增加UUT微处理器的控制,然后该微处理器执行由UUT存贮空间连接的仿真RAM提供的指令。RAM分析器一个总线周期接一个总线周期地监视UUT存贮器连接处,并指出缺陷是否出现和出现在哪个总线周期。整个系统有几个有效的测试特点,包括使用UUT存贮器的地址线,以便检索诊断的数据;使用UUT片选线,以便对检索和分析的数据编码;使用RAM分析器,以改善UUT总线测试技术,使这样一些缺陷进行完全的缺陷隔离;还使用一个检验和平衡系统,以便保证正确产生总线访问和保证在分析数据时使UUT保持在工作状态。此外,RAM分析器改善了流水线校正技术,以便保证有流水线操作或预取特点的UUT微处理器正常地工作。
因此,本发明的一个目的是提供一种方法和系统,它使用存贮器仿真技术,对基于微处理器的电子系统进行测试和故障检查。
本发明的另一个目的是提供一个测试系统,用于不受总线转换电路局限性约束的、基于微处理机的系统。
本发明的再一个目的是提供一个同步脉冲用于完全故障检查时缺
陷隔离,它与由微处理机仿真提供的缺陷隔离同样有效。
本发明还有一个目的是提供一个测试系统用于通过存贮器仿真的基于微处理器的系统,其中这样的存贮器可以是ROM或RAM或两者的结合。
本发明的其它目的、特点和成就在结合附图读了下面的详细描述后,对本领域的普通技术人员来说都将变得很明白。
图1是根据本发明画的测试系统的综合的方块图;
图2是与图1的接口部件连接的仿真RAM的更详细的方块图;
图3是图1接口部件和它与UUT微处理机连接的逻辑电路的更详细的方块图;
图4是包括备用循环的命令字节执行程序的流程图。
参考图1,图1是在基于微处理器的系统或被测部件(UUT)中进行功能测试和诊断缺陷的测试系统的综合方块图。根据本发明,图中包含一个与接口部件12电连接的主机10,接口部件12又与UUT14电连接,这点将在以后详细叙述。
其中主机10包括一个键盘20和一个显示器22,它们与控制和测量电路块24电连接。控制和测量电路块包括一个基于微处理器的系统,并经总线26连接到输入输出电路(I/O)28,以便与接口部件12通讯。通过电缆30也连接到控制和测量电路块24上的是探针32,为了故障寻找,此探针自然也画在UUT14内。因此,主机响应操作员的操作,控制UUT的功能测试和故障检查,发出指令和命令到接口部件上,并将结果报告给操作员。主机10在商业上可用的代表性的例子是约翰·弗卢卡制造有限公司制造的9000系列微机系统故障检查装置和9100数字测试系统。
接口部件12含有一个基于微处理器的系统,该系统在图中标为核心部件。此核心部件由微处理器40、ROM42、RAM44和I/O口46组成,所有这些部件都通过数据、地址和控制总线相互连接在一起。接口部件12通过连接在I/O28和I/O口46之间的多线电缆50连接到主机10上。核心部件则通过它的数据、地址和控制总线连到逻辑电路60、RAM分析器62和仿真RAM64。这些方块的作用不久也将讨论。
UUT14是可以用本发明的系统和技术进行测试的许多基于微处理器的系统的典型范例,这里只讨论中央或核心的部分。核心部分包括UUT核心,它由数据总线74及地址总线76相互连接在一起的微处理器70和存贮器72组成。UUT的数据和地址总线74和76分别连到与这里的讨论没有关系的其它UUT电路76。UUT的地址总线又连到地址译码器80,在片选线82上产生片选信号,而此片选线82又连到UUT存贮器72。多线电缆90连接在接口部件12的逻辑电路60和UUT微处理器70之间,以便提供它们之间的通讯。另一根多线电缆92连接在仿真RAM64和UUT存贮器72之间。要注意,图中的UUT存贮器72用虚线绘出,以表示它或者无效,或者可从它的插座上拿掉。因此,电缆92或者可以直接插到UUT存贮器的插座上,或者固定夹在无效的UUT存贮器的引线上。然而,UUT微处理器70仍旧在电路中,并用于执行从仿真RAM64中来的指令。在这点上,UUT微处理器70可以与微处理器部件40有完全不同的型号。例如合适的微处理器部件40可以是68008,而合适的微处理器70可以是80386。同样,UUT存贮器72可以是RAM或ROM,或者是它们两者的组合。例
如,一些较新的微处理机系统,在地址空间高端用几个字节的ROM空间作为单独存贮器,用于系统起动目的,而存贮空间的主要部分都是RAM。
下面是图1所示系统的操作的概述。操作员用键盘20和显示器22起动感兴趣的一个具体测试,控制测量电路24产生指令和命令,这些指令和命令通过I/O28、电缆50和I/O部件46送到核心部件。微处理器部件40在接口部件12内建立流程,以实现所希望的测试。诊断指令放在仿真RAM64中,复位控制通过I/O口46和电缆90传送到微处理器70的控制端,微处理器70复位,从而开始执行仿真RAM64中的指令。RAM62分析器监视由电缆92返回来的测试结果,并把这些结果送到核心部件再经电缆50把这些信息送回到主机10。电缆90选出微处理器70的定时信号,并把它们送回到逻辑电路60,该逻辑电路又产生一个同步脉冲,此同步脉冲经电缆50送回到主机10。如果检测到缺陷,则提醒操作员把探针放在UUT14内的特定节点上,而从UUT微处理器70所提取的同步脉冲保证了探针读出的信息在合适的时刻出现,即在感兴趣的总线周期内出现。
本发明的一个重要方面是用片选线82来恢复从存贮空间72的UUT ROM上执行读操作所得到的有用信息。在这种测试方法中,UUT微处理器70被复位,并开始执行由仿真RAM64送到存贮空间72中的指令。当UUT微处理器执行一些总线周期时,UUT的地址译码器80根据一系列的0和1译出片选信号。RAM分析器62监视存贮器72插座上的片选引线,如果在一个特定的总线周期期间片选信号不是希望的逻辑电平,则表示该片有缺陷。如此,测试
结果可以从ROM插座送回到接口部件。
图2较详细地画出了仿真RAM64和UUT存贮器72之间的相互连接。特别是因为电缆92可以相当长,所以提供一个存贮器模块100去调整信号,以保证操作正常。当然,若电缆92很短,则存贮模块100可不要。在存贮模器块100中,包括放在信号通路上的缓冲器102和104。电缆92的末端包括与UUT存贮器插座直接连接的连接器110,而ROM模块100可以包含一个插UUT存贮器的插座112。在这样的配置中,操作员可以对接口部件12来的指令中进行选择,即从仿真RAM64或从插座112的UUT存贮器中选择指令。因此,提供一个开关114或者允许数据缓冲器102,或者允许存贮器插座112,而使其它部分失效。在被仿真的UUT存贮器是引导ROM的情况,根据UUT总线的宽度,可以有几个UUT引导ROM,因此需要几个连接器110和几个存贮模块100。实际上,本发明具有足够的灵活性以适应几乎任何UUT存贮器配置。
本发明的一个重要特点是提供了两个体的仿真RAM,它们分别是仿真RAM体64A和64B。为了保证在功能测试期间UUT仍在工作,仿真RAM的一个体在测试期间总是提供给UUT微处理器70。在本发明的这种操作特点中,接口部件12的核心部件把指令装入一个体的同时,另一个体转换到UUT存贮空间,且UUT微处理器70执行从那另一个体中来的指令。在合适的时刻,即在UUT微处理器70不知道正在执行的指令来自仿真RAM的哪个体时,两个存贮体可以互换。仿真RAM的体选信号由逻辑电路60产生,此体选信号将与图3一起讨论。从仿真RAM体64A和64B来的数据在数据总线120上传送,并通过缓冲器102送到存贮器插座。
从UUT存贮器插座来的信息以UUT存贮器输入的形式经总线122并通过存贮模块100中的缓冲器104馈送到接口部件12中,我们以后将会看到这一点。这些UUT存贮器输入将被RAM分析器62和逻辑电路60使用。如图2所示,连接到UUT存贮器输入总线122的是一个ROM类型选择逻辑电路126。如果UUT存贮器72是ROM,则ROM类型选择逻辑电路126产生一个信号,以保证合适的引线信息与接口部件12相匹配。即是说,当实际的JEDEC(联合电子设备工程委员会)的引线排列从ROM到ROM可以是一样时,从ROM到ROM的电气连接可以是不一样的(在其它位置)。核心部件会告诉逻辑电路126要仿真什么类型的ROM。
图3较详细地画出了逻辑电路60、RAM分析器62和逻辑电路60与UUT微处理器70的相互连接。本发明的一个重要方面是在合适的时间产生良好分辨率的同步脉冲,正如前面提到的。由于从UUT微处理器70中选取同步输入信号使产生良好分辨率同步脉冲这点容易实现。例如,对80386微处理器而言,HOLD(保持)、HLDA(保持证实)、ADS(地址状态非)、READY(准备非)CLK(时钟)和RESET(复位)将提供合适的同步输入信号。来自同步模块150的“浮动引线”140可完成与上述信号的连接,同步模块150又连到电缆90。同步模块150包括合适的同步输入缓冲器152,以调整保证正常操作的信号。电缆90带有一条复位驱动控制线,此线接到同步模块150的复位驱动放大器154的输入端。复位驱动放大器154的输出是一个复位驱动信号,此信号作为重迭信号加到UUT14中的系统复位发生器158的系统复位输出端,以增加对UUT微处理器70的控制。可能会干扰产生同
步信号能力的微处理器信号,例如80386中的HOLD线,可用合适的控制信号取代。同样,在图2的存贮模块100中也有类似的情况,因为电缆92很长,所以存贮模块100接到电路中,若逻辑电路60和UUT微处理器之间的相互连接足够短,则同步模块150可省去。
接口部件12中的逻辑电路60包含一个总线周期状态装置200、一个同步脉冲发生状态装置202、一个地址锁存时钟状态装置204、一个RAM分析器地址发生器状态装置206、一个仿真RAM体选线状态装置208、一个地址比较器210和一个地址锁存器212。所有这些装置都连到核心部件的控制总线上,并接收来自核心部件控制总线的输入信号,即它们从核心部件微处理器40和与它有关的部件中接收它们的操作指令。
总线周期状态装置200接受从UUT微处理器70中选取的同步输入信号作为它的输入之一,而其它输入,(正如上面提到的),是从核心部件微处理器40来的控制信号。总线周期状态装置200监视UUT微处理器70的执行,当感兴趣的总线周期出现时,(这是由微处理器部件40来的控制输入决定的),装置200发送控制信号到逻辑电路60中的其它状态装置202~208的时钟输入端。
地址比较器210接收从图2中总线122来的UUT存贮器输入作为它的输入之一,并接收由微处理器部件40提供的地址码或地址区码。当UUT微处理器执行由仿真RAM64提供的指令时,地址比较器监视由总线122提供的UUT存贮器的地址线。当地址比较器210的两组输入匹配时,它“启动”,并发出信号到状态装置
204、206和208。
由于为故障检查的同步脉冲的产生是本发明的一个重要方面,所以举一个同步脉冲如何产生的例子,将有助于理解逻辑电路60的基本操作。一个重要的准则是同步脉冲应产生在感兴趣的总线周期期间。接口部件12要命令UUT14执行读或写操作,而读、写操作由一个总线周期组成。为了寻找故障,我们希望在读写操作期间的某可选时刻产生同步脉冲,即地址同步脉冲、数据同步脉冲或一些其它的同步脉冲。操作员将感兴趣的总线周期键入主机10,主机又命令接口部件12的微处理器40在合适的时刻产生同步脉冲。而对总线周期状态装置200、地址锁存时钟状态装置204和地址比较器210的控制输入是与合适的控制信号一起加载的。例如,若希望有一地址同步脉冲,则应安排同步脉冲产生状态装置202的输出定时,使得当UUT微处理器地址线上的地址信息有效时,给主机10提供一个合适的同步脉冲。同样,对于数据同步脉冲,当UUT微处理器的数据总线上的数据有效时,也给主机10提供合适的同步脉冲。
总线周期状态装置200响应于所希望的同步方式、响应于微处理器70的执行和从微处理器40来的控制输入而产生脉冲序列。当微处理器70执行时,它不断地从仿真器RAM64中取指令,比较器212监视这些指令的地址。当在感兴趣的总线周期之前取来最末一条指令时,地址比较器212“启动”,并发送一输出信号到地址锁存时钟状态装置204。204是一个简单的同步机构,目的是使比较器的输出与UUT微处理器70的同步信号同步。状态装置204的同步输出被加到同步脉冲产生状态装置202,于是202
开始对出现的总线周期计数(这是由核心部件来的控制输入决定的),直到202发出同步脉冲到主机10时才停止计数。
地址锁存时钟状态装置204的输出也被加到地址锁存器212,212监视UUT存贮器输入总线122,并锁存从那儿接收到的在合适地址上的数据。为了提取ROM地址线上的数据,例如当命令UUT执行读总线周期时,锁存器212的输入可以是一个地址字的较低地址位,而较高地址位送到地址比较器210。
仿真RAM体选状态装置208是一个简单的触发器,由微处理器部件40来的控制信号触发,目的是在地址比较器210和总线周期状态装置200确立的合适时刻,选择仿真RAM体64A或64B。
分析器RAM地址产生状态装置206接收从总线周期状态装置200、地址比较器210来的输入和由微处理器40来的控制输入,目的是在合适的时刻为分析器RAM62产生地址。分析器RAM62用于测试UUT总线结构的完整性。
总线测试是一重要的特点,用于确定使UUT微处理器70工作不正常,或使接口部件12功能不正常的UUT核心上的缺陷位置。例如,若UUT核心的地址线短路或开路,则UUT微处理器70将不能从仿真RAM中正常地取指令(或从它自己的存贮器取指令,仅就此事而言)。总线测试也许是测试未知UUT的第一步,因为在继续进行其它测试前,这一步至少保证了UUT是已接上和正在工作。如果存在基本的错误,则记下这些错误。
在本发明的系统中,主机10起动总线测试,命令接口部件12把总线测试程序装入仿真RAM64中。然后,微处理器部件40设
置分析器RAM62,以使总线周期序列定时进入RAM62,还设置同步脉冲产生状态装置,以便在适当的时刻产生同步脉冲,对故障核心进行寻找(如果需要的话)。接口部件的微处理器40确认UUT微处理器70复位,然后,微处理器70开始执行由仿真RAM64提供的指令。UUT的总线周期序列也被定时进入RAM62,并在该序列结束时,微处理器40计算存贮在RAM62中的信息,以确定是否有任何总线缺陷存在。如果有总线缺陷,则确定哪些线有缺陷,及在哪一步有缺陷,或它们出现的总线周期。于是操作员可以用探针32,连同由同步脉冲产生状态装置202产生的同步脉冲一起来定位该特定缺陷。
作为附加的故障寻找工具,操作员在UUT复位后的第一个总线周期期间,可以指定加到数据总线上的数据。通过测量复位后的第一个总线周期期间一条给定的数据线,操作员可以直接确定或否定在存贮器插座72和UUT微处理器70之间的该数据通路是有效的和操作正常。这种测量技术对于把数据总线的直接问题与间接由其它UUT缺陷引起的数据总线的缺陷征兆区分开是必要的。
分析器RAM62是一个双端口部件,该部件允许微处理器40读出RAM62的数据和把数据写入RAM62,因此,提供了一个非常灵活的故障检查机构。实际上,这样一个系统允许微处理器的故障检查有“流水线”或预取特点。那些较新的微处理器都有流水线操作特点,它们在处理机中以流水线方式取指令和存贮许多指令,然后开始执行,但不必顺序地进行。
本发明的测试系统可以确定流水线操作什么时候出现以及在UUT上出现的各种其它因素。例如,在总线周期中,不同数据的
“等待”状态,这些等待状态改变从仿真RAM64中取指令的序列。就是说,希望测试系统明白出现的异常现象是否是由于缺陷的结果,或者这些异常现象是否仅是专用微处理器流水线特性的一种功能。如果流水线操作出现,则希望这样的流水线操作不妨碍测试系统诊断UUT核心缺陷的能力。
因此,分析器RAM存贮地址和测试结果。在核心部件中的程序分析这种信息,将它与期望的可能结果作出比较,如果存在问题,则通过主机10通知操作员,并建立起用探针32进行故障检查的合适的流程。然后,由本发明的测试系统识别和确认这样的流水线操作,并将通过/失败的信息送到主机10。
下面用例子提供对本发明的测试系统的完全理解,叙述一个假设的故障检查操作。这个例子假设人们希望命令UUT微处理器在由测试设备的操作员选定的地址上执行“读”周期,并将结果回送到主机并由作故障检查的主机显示。测试系统配置合适的接口部件12连到主机10,接口部件12又连到UUT14。
操作员在主机10上按READ(读)键,键入希望的地址,例如0000,并按ENTER(回车)键。于是主机10命令接口部件12在地址0000上执行读操作。微处理器部件40接收命令并开始一个事件序列。首先,微处理器40检查RAM部件44中的状态标志,以便确定RAM44是否有UUT的控制,并很快确定它没有控制,因为仿真RAM64中不包含程序。因此,用目标UUT微处理器70的机器语言编写的“读/写”码从核心部件RAM44或ROM42装入仿真RAM的两个体64A或64B。
其次,微处理器部件40通过把复位驱动控制信号,经过I/O
口部件46、电缆90和同步模块150中的缓冲器154加到UUT复位发生器158的重迭输出,来认定微处理机70的复位线。同时设置地址比较器210,以监视在仿真RAM64中地址空间的预定的“通讯区”,然后释放UUT微处理机70的复位线。应该提到的是,在一个建议的商业实例中,通讯区是128字节空间,所以访问这个空间只用七根地址线。
UUT微处理机70的复位线一经释放,它表面上就开始从它自己引导ROM中取指令,但实际上显然是从插在UUT存贮器72插座上的仿真RAM64中取的指令。这些最初的指令是为测试而对UUT核心初始化,然后在仿真RAM64的通讯区里,访问预定的复位参考地址。一旦此事发生该地址即被地址比较器210识别,然后地址比较器210关闭,并使地址锁存器212锁存在这种情况下的该地址的七个较低位以确定正被通讯的东西。这个信息在核心部件的数据总线上输出,以便通知微处理机部件40是否UUT微处理机70的确已复位。因此,接口部件的软件除了从读操作回送数据外,还可以用地址位来确定UUT微处理器70的状态。
在UUT微处理器70被初始化后,它首先从已经装进命令字节的仿真RAM64中的一个地址取指令,并读该命令字节,以确定它要执行的功能,例如读、写、或状态。通过使命令字节=0,执行备用循环,从而UUT微处理器70读该命令字节,若该命令字节是零,则简单地等待到下次并再读该命令字节。这种备用循环继续下去,直至命令字节改变。UUT微处理器70在什么时候执行命令要根据命令字节最末有效位的值来定,参看图4。
在本发明中,通过使用仿真RAM64的两个体使对UUT微处
理机70的控制更容易。例如,指令的命令字节=0可以在体A装入该命令字节的地址,而命令字节=1在体B中装入同一地址,所有其余的地址同样被装入两个体中。于是,在合适的时刻,正如下面将要描述的,交换RAM的体,结果在下次取命令字节时,微处理器70读命令字节=1,从而可以开始执行所希望的命令。
然而在UUT微处理器70实际开始执行预定的命令前,希望保证接口部件12对UUT有完全的控制和保证UUT核心已准备好响应从微处理器部件40来的命令。因此,UUT微处理器70一复位和微处理器部件40从地址锁存器212中一读出这种信息,地址比较器210就加载,以监视该命令字节地址。UUT微处理器70一读仿真RAM64的命令字节地址,地址比较器210就关闭,并将该命令字节一地址的低位锁存到地址锁存器212中。现在,接口部件12知道UUT微处理器70已初始化,并正在等待接受由命令字节来的命令。下一步,地址比较器210加载,以监视仿真RAM64的128字节通讯区,目的是确信UUT微处理器70没有访问这些地址中的任何一个地址。装入仿真RAM64的程序包括这样一些指令,即若出现中断或其它错误,这些指令会使UUT微处理器70在仿真RAM64的128字节通讯区内访问预定的地址。因此,若在这种测试期间地址比较器210关闭,则错误已出现。在这点上,通过核心部件RAM44中置标志来表示UUT的控制。
上述的流程可以在子程序中实现,该子程序在起动时或者在接口部件12失去对UUT14控制的任何时候都可以被调用。
一旦建立了由接口部件12对UUT14的控制,则一个新的命令字节装入仿真RAM64中。这个信息装入目前还没有被UUT微
处理器70访问过的RAM体中,因为直到全部接口部件12的电路被建立,才希望在备用循环中运用UUT微处理器70。
此外,设置总线周期状态装置200、同步脉冲产生状态装置202、地址锁存时钟状态装置204和地址比较器210用于正如前面所述的感兴趣的总线周期期间内产生同步脉冲。使得同步脉冲信号被发送到主机10。
当一切都已准备好时,通过仿真RAM(ERAM)体选择状态装置208交换仿真RAM的体,目的是在下次取命令字节时,UUT微处理器70明白命令字节已改变,因此通过跳转到以前装入仿真RAM64的合适的体的程序便可以开始执行读命令。当读到程序最末地址时,地址比较器210关闭,并起动同步脉冲产生电路。同时,UUT微处理器70将读出的数据存入UUT14内部的寄存器中。然后,当同步脉冲产生电路产生一个同步脉冲和完成它的周期时,UUT微处理器70跳回到备用循环。
当UUT微处理机70正在执行备用循环时,空闲的仿真RAM体在命令字节地址上用“发送”命令加载。地址比较器210加载,用于监视在相应于所希望的读数据的地址上的仿真RAM的通讯区。
仿真RAM的体再被交换,UUT微处理器70理解“发送”命令字节,并跳转到发送程序。当UUT微处理器70访问地址比较器210监视的地址时,比较器210关闭,并使地址锁存器212锁存仿真RAM地址的低位。微处理器部件40读出在地址锁存器212中存贮的信息,此后,UUT微处理器70恢复到它的备用循环。这个过程可以象必须恢复全部数据那样重复许多次。当由专门的读命令汇集了全部数据时,这些数据回送到主机10。
根据本发明说明和描述的优先选用的实施例,很明显,对于那些本专业的技术人员来说,不脱离本发明,就可在广阔的方面做许多改变和修改。因此,可以予料,所附权利要求将不是局限在一个有限的意义上,而是包括本发明真正范围内的所有修改和实施例。
Claims (18)
1、一种对具有微处理器和存贮器以及用数据总线和地址总线将它们相互连接的设备进行测试的方法,其特征在于,其步骤包括:
以仿真存贮器代替上述设备的存贮器;
在上述存贮器仿真装置中放进指令,并使上述微处理器执行上述指令;
评价上述微处理器对所述指令的响应,并检测缺陷;
当上述微处理器执行所述指令时,在预定的总线周期期间,在选择的时间位置上产生同步脉冲。
2、根据权利要求1的方法,其特征在于:上述设备进一步包括连到上述地址总线的地址译码器以及连接上述地址译码器和上述存贮器的片选线,还包括由上述微处理器访问译码地址的步骤,以便在该片选线上产生测试结果。
3、根据权利要求1的方法,其特征在于:评价响应的上述步骤包括存贮来自上述设备的总线周期序列和评价每个总线周期,以便确定缺陷。
4、根据权利要求3的方法,其特征在于:上述评价响应的步骤进一步包括将上述微处理器访问的地址与预定的地址比较及把测试结果与一组预定的响应比较,使得若出现取指的流水线操作,则两种比较的失败表示一个缺陷。
5、一种对具有微处理器和ROM以及用数据总线和地址总线将它们相互连接的设备进行测试的方法,上述设备还包括连到上述地址总线的地址译码器和与上述地址译码器及上述ROM连接的片选线。此方法包括如下步骤:
用仿真存贮器替代上述的ROM;
把指令放在上述存贮器仿真装置中,并使上述微处理器执行上述指令,这样由在上述片选线上的地址译码器提供测试结果;
检索从上述片选线来的测试结果。
6、根据权利要求5的方法进一步包括当上述微处理器执行上述指令时,在预定的总线周期期间,在选定的时间位置上产生同步脉冲的步骤。
7、对具有微处理器和存贮器以及将它们用数据、地址总线相互连接的设备进行测试的装置,其特征在于,此装置包括:
用仿真存贮器代替上述设备的存贮器的装置;
把指令放在上述仿真存贮器中并使上述微处理器执行上述指令的控制装置;
连接到上述控制装置和上述仿真存贮器的评价装置用以对从上述微处理器来的上述指令的响应与一组预定的响应作比较;
连接到所述控制装置和该微处理器的装置,用以产生与微处理器总线周期同步的信号。
8、根据权利要求7中的装置,其特征在于:上述的信号产生装置包括响应于上述微处理机提供的定时控制信号的可编程的总线周期状态装置。
9、根据权利要求8的装置进一步包括,响应于上述总线周期状态装置来的输出信号产生同步脉冲的装置,其特征在于:上述同步脉冲在上述总线周期期间的预先选定的时间上产生。
10、根据权利要求9的装置进一步包括一个寻找上述设备故障的探针,其特征在于:在上述探针中的激励和响应信号与上述同步脉冲同步。
11、根据权利要求7中的装置,其特征在于所述的评价装置包含将测试结果与预定的总线周期同步的装置。
12、根据权利要求7中的装置,其特征在于:所述的评价装置进一步包含一个响应于至少把部分测试结果与所述控制装置提供的预定值进行比较,从而产生一个输出信号的比较器,以及一个响应于该总线周期的同步信号和该比较器的输出信号,以产生测试结果同步信号的状态装置。
13、根据权利要求12的装置进一步包含用来存贮由上述测试结果同步信号确定的某一时刻测试结果的装置。
14、根据权利要求13中的装置,其特征在于:上述的存贮测试结果的装置是一个锁存器。
15、根据权利要求13中的装置,其特征在于:存贮上述的测试结果的装置是一个RAM。
16、根据权利要求7中的装置,其特征在于:所述的控制装置包括一个基于处理器的系统。
17、根据权利要求7中的装置,其特征在于:所述仿真存贮器包含一对RAM体和在测试期间转换上述RAM体的装置转换方式是微处理器连续不断地执行,仿佛整个测试期间只存在一个RAM。
18、根据权利要求17中的装置,其特征在于:所述的转换装置包括一个可转换的逻辑电路,响应于从上述的控制装置来的控制信号和上述总线周期同步信号的可转换逻辑电路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/158,223 US4868822A (en) | 1988-02-19 | 1988-02-19 | Memory emulation method and system for testing and troubleshooting microprocessor-based electronic systems |
US158,223 | 1988-02-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1035191A CN1035191A (zh) | 1989-08-30 |
CN1018097B true CN1018097B (zh) | 1992-09-02 |
Family
ID=22567169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN88108496.4A Expired CN1018097B (zh) | 1988-02-19 | 1988-12-12 | 测试和故障检查用的存贮器仿真方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US4868822A (zh) |
JP (1) | JPH01251141A (zh) |
CN (1) | CN1018097B (zh) |
DE (1) | DE3903835A1 (zh) |
FR (1) | FR2627594B1 (zh) |
GB (1) | GB2216300B (zh) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4956766A (en) * | 1985-07-25 | 1990-09-11 | International Business Machines Corp. | Systems for inhibiting errors caused by memory cartridge insertion/removal using an idle loop |
NL8602849A (nl) * | 1986-11-11 | 1988-06-01 | Philips Nv | Inrichting voor het emuleren van een microcontroller, middels gebruik maken van een moedermicrocontroller en een dochtermicrocontroller, moedermicrocontroller, respektievelijk dochtermicrocontroller voor gebruik in zo een inrichting, geintegreerde schakeling voor gebruik in zo een dochtermicrocontroller en microcontroller bevattende zo een geintegreerde schakeling. |
US5093784A (en) * | 1987-02-27 | 1992-03-03 | Nec Corporation | Data processor with efficient transfer between subroutines and main program |
US5226122A (en) * | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
DE3820728A1 (de) * | 1988-06-18 | 1989-12-21 | Philips Patentverwaltung | Verfahren zum pruefen eines festwertspeichers und anordnung zur durchfuehrung des verfahrens |
JPH0278330A (ja) * | 1988-09-14 | 1990-03-19 | Marantz Japan Inc | Mca無線機用id・romエミュレータ |
US4989207A (en) * | 1988-11-23 | 1991-01-29 | John Fluke Mfg. Co., Inc. | Automatic verification of kernel circuitry based on analysis of memory accesses |
CN1043020A (zh) * | 1988-11-23 | 1990-06-13 | 约翰弗兰克制造公司 | 提高存储器仿真法性能的增强型硬件 |
CN1045655A (zh) * | 1988-11-23 | 1990-09-26 | 约翰弗兰克制造公司 | 系统自动诊断的内核测试接口和方法 |
IE80813B1 (en) * | 1989-05-16 | 1999-03-10 | Formia Limited | Electronic test systems |
US5210864A (en) * | 1989-06-01 | 1993-05-11 | Mitsubishi Denki Kabushiki Kaisha | Pipelined microprocessor with instruction execution control unit which receives instructions from separate path in test mode for testing instruction execution pipeline |
US5185882A (en) * | 1990-04-27 | 1993-02-09 | Westinghouse Electric Corp. | Bit-slice microprocessor test system |
US5581695A (en) * | 1990-05-09 | 1996-12-03 | Applied Microsystems Corporation | Source-level run-time software code debugging instrument |
EP0462328A1 (en) * | 1990-06-18 | 1991-12-27 | ALCATEL BELL Naamloze Vennootschap | Test device for an electronic chip |
US5594903A (en) * | 1991-02-26 | 1997-01-14 | Lynx Real-Time Systems, Inc. | Operating System architecture with reserved memory space resident program code identified in file system name space |
EP0504515A3 (en) * | 1991-03-22 | 1993-05-26 | John Fluke Mfg. Co., Inc. | Memory emulation test system in which undesirable microprocessor reset is precluded |
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 |
DE4142161C2 (de) * | 1991-12-20 | 1994-05-11 | Nikolaus Dr Techn Tichawa | Busemulationsvorrichtung |
US5313618A (en) * | 1992-09-03 | 1994-05-17 | Metalink Corp. | Shared bus in-circuit emulator system and method |
JPH0798692A (ja) * | 1993-05-31 | 1995-04-11 | Mitsubishi Electric Corp | マイクロコンピュータ |
US5572665A (en) * | 1994-04-21 | 1996-11-05 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor integrated circuit for developing a system using a microprocessor |
US5551013A (en) * | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
GB2293254B (en) * | 1994-07-12 | 1999-05-19 | David Brian Doo | A new, fast method of debugging embedded software for almost any microprocessor |
US5819065A (en) * | 1995-06-28 | 1998-10-06 | Quickturn Design Systems, Inc. | System and method for emulating memory |
US5787270A (en) * | 1995-11-15 | 1998-07-28 | Advanced Micro Devices | Method and apparatus for intrusive testing of the performance-enhancing features of an advanced microprocessor |
US7421066B1 (en) * | 1996-06-12 | 2008-09-02 | Estech Systems, Inc. | Telephone call/voice processing system |
US6003107A (en) * | 1996-09-10 | 1999-12-14 | Hewlett-Packard Company | Circuitry for providing external access to signals that are internal to an integrated circuit chip package |
US5887003A (en) * | 1996-09-10 | 1999-03-23 | Hewlett-Packard Company | Apparatus and method for comparing a group of binary fields with an expected pattern to generate match results |
US5881224A (en) * | 1996-09-10 | 1999-03-09 | Hewlett-Packard Company | Apparatus and method for tracking events in a microprocessor that can retire more than one instruction during a clock cycle |
US5867644A (en) * | 1996-09-10 | 1999-02-02 | Hewlett Packard Company | System and method for on-chip debug support and performance monitoring in a microprocessor |
US5956476A (en) * | 1996-10-31 | 1999-09-21 | Hewlett Packard Company | Circuitry and method for detecting signal patterns on a bus using dynamically changing expected patterns |
US5956477A (en) * | 1996-11-25 | 1999-09-21 | Hewlett-Packard Company | Method for processing information in a microprocessor to facilitate debug and performance monitoring |
US5881217A (en) * | 1996-11-27 | 1999-03-09 | Hewlett-Packard Company | Input comparison circuitry and method for a programmable state machine |
US6009539A (en) * | 1996-11-27 | 1999-12-28 | Hewlett-Packard Company | Cross-triggering CPUs for enhanced test operations in a multi-CPU computer system |
US5937154A (en) * | 1997-03-05 | 1999-08-10 | Hewlett-Packard Company | Manufacturing functional testing of computing devices using microprogram based functional tests applied via the devices own emulation debug port |
US5968188A (en) | 1998-03-10 | 1999-10-19 | Grammar Engine | System for providing real-time code coverage |
US6374370B1 (en) | 1998-10-30 | 2002-04-16 | Hewlett-Packard Company | Method and system for flexible control of BIST registers based upon on-chip events |
JP3943277B2 (ja) * | 1999-03-23 | 2007-07-11 | セイコーエプソン株式会社 | マイクロコンピュータ及び電子機器 |
JP2001184225A (ja) * | 1999-12-27 | 2001-07-06 | Toshiba Microelectronics Corp | エミュレータ及びエミュレート方法 |
US20020038433A1 (en) * | 2000-06-28 | 2002-03-28 | Z-World, Inc. | System and method for utilizing programmed multi-speed operation with a microprocessor to reduce power consumption |
US6629048B1 (en) * | 2000-11-20 | 2003-09-30 | Tektronix, Inc. | Measurement test instrument and associated voltage management system for accessory device |
TW490637B (en) * | 2001-01-16 | 2002-06-11 | Ind Tech Res Inst | Memory emulator for simulating memory components of different interface specification and not restrained to memory space |
TWI220192B (en) * | 2001-11-06 | 2004-08-11 | Mediatek Inc | Memory access method and apparatus in ICE system |
US7076711B1 (en) | 2002-06-10 | 2006-07-11 | Cisco Technology, Inc. | Automatic testing of microprocessor bus integrity |
US7096322B1 (en) * | 2003-10-10 | 2006-08-22 | Unisys Corporation | Instruction processor write buffer emulation using embedded emulation control instructions |
TWI254855B (en) * | 2004-10-08 | 2006-05-11 | Via Tech Inc | Memory simulation device and method thereof |
TWI270803B (en) * | 2004-10-08 | 2007-01-11 | Via Tech Inc | Adapter for memory simulator |
CN100384159C (zh) * | 2005-04-02 | 2008-04-23 | 华为技术有限公司 | 评估系统处理能力的仿真方法 |
US7532492B2 (en) * | 2005-12-20 | 2009-05-12 | Tektronix, Inc. | Host controlled voltage input system for an accessory device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4192451A (en) * | 1978-05-30 | 1980-03-11 | Tektronix, Inc. | Digital diagnostic system employing signature analysis |
US4277827A (en) * | 1979-01-02 | 1981-07-07 | Texas Instruments Incorporated | Microprocessor based system for the development and emulation of programmable calculator control read only memory software |
US4455654B1 (en) * | 1981-06-05 | 1991-04-30 | Test apparatus for electronic assemblies employing a microprocessor | |
US4554630A (en) * | 1981-08-24 | 1985-11-19 | Genrad, Inc. | Control apparatus for back-driving computer memory and forcing execution of idle loop program in external memory |
US4740895A (en) * | 1981-08-24 | 1988-04-26 | Genrad, Inc. | Method of and apparatus for external control of computer program flow |
GB8413933D0 (en) * | 1984-05-31 | 1984-07-04 | Columbia Automation Ltd | Emulating timing characteristics of microprocessor |
US4691316A (en) * | 1985-02-14 | 1987-09-01 | Support Technologies, Inc. | ROM emulator for diagnostic tester |
JPS61229133A (ja) * | 1985-04-03 | 1986-10-13 | Nec Corp | シングルチツプマイクロコンピユ−タ用エミユレ−タ |
US4674089A (en) * | 1985-04-16 | 1987-06-16 | Intel Corporation | In-circuit emulator |
-
1988
- 1988-02-19 US US07/158,223 patent/US4868822A/en not_active Expired - Fee Related
- 1988-12-12 CN CN88108496.4A patent/CN1018097B/zh not_active Expired
-
1989
- 1989-02-08 GB GB8902789A patent/GB2216300B/en not_active Expired - Fee Related
- 1989-02-09 DE DE3903835A patent/DE3903835A1/de active Granted
- 1989-02-15 JP JP1035985A patent/JPH01251141A/ja active Pending
- 1989-02-16 FR FR898902016A patent/FR2627594B1/fr not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB8902789D0 (en) | 1989-03-30 |
FR2627594B1 (fr) | 1993-01-15 |
GB2216300A (en) | 1989-10-04 |
DE3903835A1 (de) | 1989-08-31 |
CN1035191A (zh) | 1989-08-30 |
US4868822A (en) | 1989-09-19 |
FR2627594A1 (fr) | 1989-08-25 |
DE3903835C2 (zh) | 1992-11-26 |
JPH01251141A (ja) | 1989-10-06 |
GB2216300B (en) | 1992-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1018097B (zh) | 测试和故障检查用的存贮器仿真方法和系统 | |
US5475624A (en) | Test generation by environment emulation | |
US4769817A (en) | Concurrent fault simulation for logic designs | |
US6842865B2 (en) | Method and system for testing microprocessor based boards in a manufacturing environment | |
US5329471A (en) | Emulation devices, systems and methods utilizing state machines | |
KR20190131445A (ko) | 자동 테스팅 동안 디바이스 결함의 근본 원인을 식별하기 위한 트래픽 캡쳐 및 디버깅 툴 | |
CN115841089A (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
JPH0738202B2 (ja) | ロジック・シミュレーション・マシンのための全イベント・トレース・ギャザラ | |
JPH11296403A (ja) | 向上した埋め込みロジックアナライザ | |
CN1035018A (zh) | 在以微处理器为基础的装置内用于对存贮器进行高速高准确度的功能测试的方法和系统 | |
JPS6311634B2 (zh) | ||
CN114168200B (zh) | 多核处理器访存一致性的验证系统及方法 | |
KR20030066641A (ko) | 효율적인 데이터 로딩 및 언로딩을 위하여 합성된 패킷기반 프로토콜 논리를 이용한 하드웨어 보조 설계 검증시스템 | |
US5068852A (en) | Hardware enhancements for improved performance of memory emulation method | |
US7707021B2 (en) | Circuit emulation with state recovery | |
US4989207A (en) | Automatic verification of kernel circuitry based on analysis of memory accesses | |
US4156132A (en) | Automatic fault injection apparatus and method | |
US4958347A (en) | Apparatus, method and data structure for validation of kernel data bus | |
Chang et al. | LAMP: Controllability, observability, and maintenance engineering technique (COMET) | |
Ke | Backplane interconnect test in a boundary-scan environment | |
JP2837703B2 (ja) | 故障診断装置 | |
US7210072B2 (en) | Apparatus and method for trace stream identification of a pipeline flattener primary code flush following initiation of an interrupt service routine | |
US7225365B2 (en) | Apparatus and method for identification of a new secondary code start point following a return from a secondary code execution | |
Kim et al. | Design for testability of protocols based on formal specifications | |
Jones et al. | User-centric digital test architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C13 | Decision | ||
GR02 | Examined patent application | ||
AD01 | Patent right deemed abandoned | ||
C20 | Patent right or utility model deemed to be abandoned or is abandoned |