CN1567209A - 微处理器的随机测试方法 - Google Patents
微处理器的随机测试方法 Download PDFInfo
- Publication number
- CN1567209A CN1567209A CN 03129511 CN03129511A CN1567209A CN 1567209 A CN1567209 A CN 1567209A CN 03129511 CN03129511 CN 03129511 CN 03129511 A CN03129511 A CN 03129511A CN 1567209 A CN1567209 A CN 1567209A
- Authority
- CN
- China
- Prior art keywords
- instruction
- random number
- microprocessor
- random
- operand
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明涉及一种微处理器的随机测试方法,是通过以下步骤实现的:基于随机数产生N条随机指令(1);所述的N是正整数;利用N条随机指令对微处理器进行测试(2);解决了目前测试微处理器过程中效率低、覆盖率低的缺陷,加快了微处理器的开发周期,保证了微处理器可靠性。
Description
技术领域
本发明涉及一种微处理器的测试方法,尤其涉及一种利用随机数测试微处理器的方法。
背景技术
在微处理器的开发过程中,对其指令系统进行准确而严密的测试是十分关键的。经常因测试的工作量大而延长微处理器的开发周期,也因指令系统测试不够全面而严重影响微处理器的可靠性。目前,通过测试人员一条一条的写测试指令来对微处理器进行仿真测试是微处理器测试的基本方法。具体又分为分类测试和统一测试:
分类测试:安排一个或同时安排多个测试人员对微处理器的指令一类一类的进行测试,确保每一类指令执行的正确性。首先,这种测试方法的工作量很大,要测试人员通过一条一条的写指令去测试每一种指令的各种边界条件,其测试覆盖率完全依赖于测试人员的能力、经验和想象力;第二,这种测试方法完全没有考虑指令间的组合情况;
统一测试:安排一个或同时安排多个测试人员写一个或几个几乎覆盖每一种指令的比较大型的程序来对微处理器进行测试,旨在对指令间的组合进行一定的测试。首先,这种测试方法对各类指令的边界情况考虑得较少,根本不能保证各类指令的正确性;第二,对指令间的组合有一定的测试,但十分不完全,其对指令间组合的覆盖率同样依赖于测试人员的能力、经验和想象力。
以上两种测试方法均是通过测试人员写指令的方式来进行测试,工作量都比较大,并且测试的效果对人的依赖十分显著。在微处理器的开发过程中用上述两种测试方法进行测试,其局限性在于:第一,测试中对工作量的要求会使微处理器的开发周期严重加长;第二,测试中对测试人员能力的要求无法确保微处理器指令、地址、数据和指令间组合的覆盖率,因而对微处理器的可靠性造成不可忽视的影响。
随着超大规模集成电路技术的迅猛发展,微处理器的更新换代日益频繁,在微处理器的开发过程中采用上述测试方法将严重制约着微处理器的开发周期和微处理器的可靠性。
发明内容
本发明需要解决的技术问题是提供了一种微处理器的随机测试方法,旨在解决目前测试微处理器过程中效率低、覆盖率低的缺陷。
为了解决上述技术问题,本发明是通过以下步骤实现的:
基于随机数产生N条随机指令;所述的N是正整数;
利用N条随机指令对微处理器进行测试。
与现有技术相比,本发明的有益效果是:加快了微处理器的开发周期,保证了微处理器可靠性。
附图说明
图1是本发明的流程图;
图2是基于随机数产生N条随机指令的流程图;
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
由图1可见:本发明是通过以下步骤实现的:
基于随机数产生N条随机指令1;所述的N是正整数;
利用N条随机指令对微处理器进行测试2。
由图2可见:基于随机数产生N条随机指令是通过以下步骤实现的:
读取随机数种子11;所述的步骤11是从存放随机数种子的文件中读取三个数据分别作为产生操作码和第一、第二操作数的随机数种子;
随机数产生12;所述的步骤12是利用操作码和第一、第二操作数的随机数种子通过随机函数产生三个随机数,分别作为操作码和第一、第二操作数;
译码13;
判断是否是微处理器指令14;
所述的步骤13是对操作码进行译码:或者不是微处理器的指令,丢弃该指令15,返回步骤12;
或者是单字节指令16,舍去第一、第二操作数,计数器加1,再根据汇编语法保存到测试文件中作为随机指令,返回步骤12;
或者是双字节指令,舍去第二操作数;或者是三字节指令,三个随机数都保留17;
判断是否含有直接地址或位地址18:
或者将指令根据汇编语法保存到测试文件中作为随机指令19,计数器加1,返回步骤12;
或者判断是否直接地址或位地址有效20:
或者将指令根据汇编语法保存到测试文件中作为随机指令21,计数器加1,返回步骤12;
或者丢弃该指令22,返回步骤12;
当第一次取随机指令时,存放随机数种子的文件在建立时需要预置三个ffH,作为第一次产生随机数的种子;在结束前,向存放随机数种子的文件中写入三个不小于80H的随机数,作为下一次产生操作码和第一、第二操作数的随机数种子。
由于微处理器的指令是二进制编码,这为把随机数作为指令提供了基础,而随机数的随机性决定了指令间的随机组合,产生的随机数越多,也即是产生的随机指令越多(N条),根据计数器中的数据,计算随机指令的测试覆盖率;测试的覆盖率越高,可以对开发的微处理器进行高效而全面的测试;并且根据测试覆盖率的报告,可以对某些薄弱点做一些有针对性的测试,这测试方法为微处理器的可靠性提供了保障。
Claims (3)
1.一种微处理器的随机测试方法,其特征在于:是通过以下步骤实现的:
基于随机数产生N条随机指令(1);所述的N是正整数;
利用N条随机指令对微处理器进行测试(2)。
2.根据权利要求1所述的一种微处理器的随机测试方法,其特征在于:所述的基于随机数产生N条随机指令是通过以下步骤实现的:
读取随机数种子(11);所述的步骤(11)是从存放随机数种子的文件中读取三个数据分别作为产生操作码和第一、第二操作数的随机数种子;
随机数产生(12);所述的步骤(12)是利用操作码和第一、第二操作数的随机数种子通过随机函数产生三个随机数,分别作为操作码和第一、第二操作数;
译码(13);
判断是否是微处理器指令(14);
所述的步骤(13)是对操作码进行译码:或者不是微处理器的指令,丢弃该指令(15),返回步骤(12);
或者是单字节指令(16),舍去第一、第二操作数,计数器加1,再根据汇编语法保存到测试文件中作为随机指令,返回步骤(12);
或者是双字节指令,舍去第二操作数;或者是三字节指令,三个随机数都保留(17);
判断是否含有直接地址或位地址(18):
或者将指令根据汇编语法保存到测试文件中作为随机指令(19),计数器加1,返回步骤(12);
或者判断是否直接地址或位地址有效(20):
或者将指令根据汇编语法保存到测试文件中作为随机指令(21),计数器加1,返回步骤(12);
或者丢弃该指令(22),返回步骤(12)。
3.根据权利要求2所述的一种微处理器的随机测试方法,其特征在于:当第一次取随机指令时,存放随机数种子的文件在建立时需要预置三个ffH,作为第一次产生随机数的种子;在结束前,向存放随机数种子的文件中写入三个不小于80H的随机数,作为下一次产生操作码和第一、第二操作数的随机数种子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03129511 CN1567209A (zh) | 2003-06-26 | 2003-06-26 | 微处理器的随机测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03129511 CN1567209A (zh) | 2003-06-26 | 2003-06-26 | 微处理器的随机测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1567209A true CN1567209A (zh) | 2005-01-19 |
Family
ID=34469356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03129511 Pending CN1567209A (zh) | 2003-06-26 | 2003-06-26 | 微处理器的随机测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1567209A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542088A (zh) * | 2010-12-27 | 2012-07-04 | 北京国睿中数科技股份有限公司 | 覆盖率驱动的随机验证的方法 |
CN104461798A (zh) * | 2014-11-12 | 2015-03-25 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种用于处理器算术逻辑单元指令的随机数验证方法 |
-
2003
- 2003-06-26 CN CN 03129511 patent/CN1567209A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542088A (zh) * | 2010-12-27 | 2012-07-04 | 北京国睿中数科技股份有限公司 | 覆盖率驱动的随机验证的方法 |
CN102542088B (zh) * | 2010-12-27 | 2014-03-12 | 北京国睿中数科技股份有限公司 | 覆盖率驱动的随机验证的方法 |
CN104461798A (zh) * | 2014-11-12 | 2015-03-25 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种用于处理器算术逻辑单元指令的随机数验证方法 |
CN104461798B (zh) * | 2014-11-12 | 2017-08-18 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种用于处理器算术逻辑单元指令的随机数验证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1806293A (zh) | 通用可访问完全可编程的存储器内置自测系统和方法 | |
CN1959686A (zh) | 模拟异步接口的行为的方法和系统 | |
CN103473160B (zh) | 缓存的测试装置、cpu芯片及缓存的测试方法 | |
US20110138224A1 (en) | Method and system for tracepoint-based fault diagnosis and recovery | |
WO2006007588A3 (en) | Method and system for test case generation | |
CN111680290B (zh) | 一种基于以太坊虚拟机的代码插桩框架系统 | |
CN1567209A (zh) | 微处理器的随机测试方法 | |
CN1929034A (zh) | 一种内存故障测试的方法及系统 | |
CN1560743A (zh) | 多媒体处理器协同仿真验证平台 | |
WO2001095160A2 (en) | Accessing state information in a hardware/software co-simulation | |
CN1757193A (zh) | 高速串行接收器的自动眼形图老化测试技术 | |
CN1848092A (zh) | 测试装置及方法 | |
CN1517876A (zh) | 一种嵌入式系统覆盖率统计方法 | |
CN1536481A (zh) | 更新闪存存储器内容的装置及方法 | |
CN1835119A (zh) | 半导体存储器及分析半导体存储器故障的方法 | |
CN101620241B (zh) | 信号解码系统及其解码方法 | |
CN1237442C (zh) | Cpu安全的提升方法 | |
CN102262208A (zh) | 一种芯片测试的方法和系统 | |
CN1316772A (zh) | 基于事件的测试系统的延迟时间插入 | |
CN114138621B (zh) | 一种考虑内部降级与外部冲击的系统故障行为双时钟仿真建模方法 | |
CN1505330A (zh) | 一种内存管理方法 | |
CN1490945A (zh) | 通讯设备性能测试方法 | |
CN1278129C (zh) | 边界扫描方法和装置 | |
CN101059769A (zh) | 通用串行总线装置的测试系统及其方法 | |
US6829572B2 (en) | Method and system for efficiently overriding array net values in a logic simulator machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |