首页> 中国专利> 互连体系结构状态覆盖测量方法

互连体系结构状态覆盖测量方法

摘要

本文描述了一种用于确保诸如协议或互连体系结构的体系结构的有效确认覆盖的方法和装置。生成体系结构的状态的覆盖空间并将其存储在数据库中。在模拟期间,标记遇到的覆盖空间的状态。由此,可确定遇到和未遇到的状态。基于未遇到的状态,开发目标测试套件以将先前模拟期间未遇到的状态中的至少某些作为目标。这种从模拟到基于在模拟期间未遇到的覆盖空间的状态改进测试套件的反馈环可递归地重复,直到达到覆盖空间的足够的确认,即足够的确认置信水平。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-08-14

    授权

    授权

  • 2009-09-09

    实质审查的生效

    实质审查的生效

  • 2009-07-15

    公开

    公开

说明书

技术领域

本发明涉及计算机系统领域,尤其涉及协议的确认方法。

背景技术

半导体工艺和逻辑设计方面的进步允许集成电路器件上存在的逻辑量增 加。此外,计算机系统已经发展到包括众多不同的功能,诸如传统的计算系统、 媒体存储系统、娱乐中心、音频回放、视频回放、服务器等。此外,已经设计 了高性能协议,以便为这种更快速且更广泛的功能贯穿计算机系统传递信息。 作为例子,英特尔的快速路径体系结构包括能够以高速率传送数据的高速、高 速缓存一致的、串行点对点分层协议协议体系结构。然而,随着这些更先进的 协议继续发展,协议体系结构的每一层的复杂性也增加。

传统上,用于确保正确的操作的协议体系结构的确认包括拐角情况——即 极端的工作点或状态——的手动标识。在系统中诱发这些拐角情况以确认协议 实现的操作。替换地或有时在拐角情况以外,随机操作变量/状态被改变以随机 地确认协议体系结构。

然而,随着复杂度的增加,这些参数和变量在数目上变得极大。例如,对 于具有多个代理的复杂协议,潜在可能状态的数目呈指数增长。结果,人们更 难预期潜在可能状态的覆盖空间。此外,当前的确认方法通常不能跟踪大量的 状态中的哪些被确认。因此,经确认的体系结构的量的准确置信水平更加难以 获得。

附图说明

本发明作为示例示出且不旨在被附图中的各图限制。

图1示出包括用于将系统的组件耦合起来的不同互连的系统的实施例。

图2示出持有体系结构的配置的覆盖空间数据库的存储介质的实施例。

图3示出确保体系结构的确认覆盖的方法的流程图的实施例。

图4示出确保互连体系结构的确认覆盖的另一种方法的流程图的实施例。

具体实施方式

在以下的描述中,陈述了诸如特定的协议体系结构、特定的协议操作变量 /参数、特定的模型、特定的确认步骤等众多特定细节的例子,以便提供对本发 明的全面理解。然而,本领域的技术人员显然易见的是这些特定细节不需要用 于实施本发明。在其它情况下,没有详细描述诸如互连协议/实现、形式互连模 型开发/内容、特定查询之类的公知的组件或方法以及其它特定操作细节,以便 不必要地淡化本发明。

本文描述的方法和装置用于提供有效且高效率地确认复杂协议的实现的 确认策略。具体地,主要关于高速缓存一致性互连协议——诸如包括基本上遵 守英特尔的快速路径规范的高速缓存一致性协议的高速点对点互连——讨论 互联协议的确认,以说明确认方法。然而,本文描述的方法和装置不限于此, 因为它们可与任何协议、互连体系结构层或其它多个代理/参数系统结合实现。

参照图1,示出了用于耦合系统的组件的多个互连的实施例。如图所示, 描绘了传统的多处理器系统的一部分。然而,本文描述的确认方法可在任何系 统中使用,诸如单处理器计算机系统、服务器、嵌入式系统、移动系统和具有 多个电代理的其它系统。

在一个实施例中,集线器125类似芯片组。通常芯片组包括两个集成电路 器件,诸如存储器控制器集线器(MCH)和互连控制器集线器(ICH)。在一 个实施例中,集线器125是将处理器106、111、116和121耦合到存储器130 的MCH。然而,集线器125可包括有助于处理器和其它系统设备之间的通信 的任何集成电路。

如所示存储器130包括系统存储器,以保持在运行时间中被访问的代码、 数据和其它信息。系统存储器的例子包括动态随机存取存储器(DRAM)。然 而,任何存储器都可用于系统存储器,诸如双数据率(DDR)存储器、同步动 态RAM(SDRAM)、缓冲存储器以及其它已知的存储设备。另外,存储器130 不限于系统存储器,且可包括诸如闪存设备的其它已知的存储设备。

处理器插槽105、110、115和120用于将处理器106、111、116和121 耦合到诸如印刷电路板(PCB)或主板之类的电路板。通常使用插槽和相应的 封装技术,诸如焊区栅阵列(LGA)、针栅阵列(PGA)、球栅阵列(BGA) 或其它已知的插槽技术。处理器106、111、116和121统称被称为物理处理器, 但可包括任何种类的处理元件,诸如微处理器、嵌入式处理器、多核处理器、 多线程处理器或信号处理器。

如所示互连126将处理器106、111、116和121耦合到集线器125。通常 将互连126称为前端总线(FSB)。尽管关于互连126及其协议讨论确认,但 应注意本文讨论的确认方法可在任何互连上使用,诸如I/O互连、存储器总线 或将代理耦合起来以实现任何数量和种类的通信协议的其他链路。物理上,互 连126可利用并行总线、串行总线、多站总线、点对点总线、射电收发机逻辑 (GTL)总线、GTL+总线、双数据率(DDR)总线、差分总线或其它已知的 物理层/互连实现。作为具体的说明性实施例,互连126包括高速串行点对点互 连。

在一个实施例中,互连126包括分层协议栈体系结构。互连体系结构的示 例性层包括提供设备之间的物理电连接的物理层、辅助事务/请求/分组的时序 化的链路层、以及实现不同种类的事务/请求/分组的事务层。这些层在诸如外 围组件互连(PCI)快速之类的互连体系结构中的常见的。然而,可存在其它 层或协议作为互连体系结构的一部分。例如,基本上遵守英特尔快速路径规范 的互连体系结构包括不同的事务和通信协议,诸如高速缓冲一致性协议。

如上所述,关于互连的协议的确认可包括平台中的任何互连,诸如输入/ 输出(I/O)总线、外围组件互连(PCI)或PCI快速总线、或诸如存储器总线 127之类的存储器总线。将集线器125连接到存储器130的物理存储器总线的 常见例子包括基于DDR的总线,基于随机存取存储器(RAM)的总线或任何 其它已知的存储器总线或适用于存储器总线的其它总线。每个种类的总线可与 其自身的待确认的通信协议相关联。

此外,协议的确认方法不限于传统的台式计算机系统互连的协议。例如, 网络协议、无线接入协议、和其它复杂通信协议可按类似的方式确认。因此, 不管确认是关于物理互联、互联协议还是其它协议,确认的目标都可被称为体 系结构、确认对象和确认目标

参照图2,示出了关于待确认的体系结构的可能状态的覆盖空间的覆盖数 据库的实施例。注意,如上所述,术语待确认的体系结构的使用可指待确认的 协议体系结构,诸如待确认的高速缓存一致性协议、代确认的其它协议、待确 认的物理互联或其组合的确认。

在一个实施例中,数据库201保持在存储介质200中。存储介质包括能够 保持电子信息的任何存储设备,诸如盘、硬驱动器、存储器、磁带驱动器、外 部存储、临时存储器、易失性存储器、非易失性存储器、其它存储设备或机器 可访问/可读介质。注意机器可访问介质可包括载波或其它电子传输介质,它将 诸如保持在数据库201中的信息之类的信息从存储介质传送或发送到被访问的 计算机系统。

在一个实施例中,体系结构的覆盖空间数据库包括诸如协议体系结构之类 的体系结构在操作期间可能遇到的多个状态。作为一个例子,覆盖数据库包括 体系结构的实现的所有潜在可能状态,诸如体系结构的配置约束模型。然而, 在另一个实施例中,覆盖数据库包括体系结构实现的可能状态的精简集合。

例如,假设互联的协议层的形式模型被修整成该互联的实现专用协议模 型。这里,当变量/参数被改变以达到实现专用协议中的不同状态时,每一变量 集合可能具有一产生对称状态的对称变量集合。结果,在该例子中,数据库201 中仅保留一个对称状态,形成互联状态的对称的精简集合,它一般也可被称为 覆盖空间。

作为要确认的覆盖空间的过于简单的例子,基于诸如协议代理的数目、协 议代理的类型等配置约束,修整高速缓存一致性互联的高速缓存一致性协议的 形式模型。基于每一个协议代理的变化的代理参数和/或一致性协议的变化的全 局参数,高速缓存一致性协议的要确认的覆盖空间包括所有可能的状态或可能 状态的对称精简集合。

然而,对于复杂协议或互联,参数的数目可能增长成相当大的数。例如, 可能有多达100或更多的参数用于特定的协议实现。因此,每个参数的不同值 的每种组合可能导致极大数量的可能状态;即使是特定的协议实现也是如此。

在一个实施例中,状态指的是确认对象的参数、器件、代理和/或其它组 件的状态的快照。还可将状态称为体系结构或确认对象的体系结构状态。作为 另一例子,状态被定义为状态的快照下的参数的值的组合。因此,如果为体系 结构标识了一百个参数,则关于这一百个参数的不同值的每一个组合都可能导 致不同的状态。

由于状态通常指复杂协议的大量参数,所以关于高速缓存一致性协议的状 态的过于简化的说明性示例包括将高速缓存线保持在共享一致性状态的一个 处理器、将高速缓存线保持在无效状态的两个处理器,且在这些处理器之一上 接收监听。这里,有多个协议代理、保持在多种状态的多个高速缓存线和在特 定目的地接收的请求/消息。因此,仅在该简单示例中,就有相当多的参数。作 为另一个说明性示例,传送数据有效载荷的写入事务可能导致多个状态,因为 诸如写入目的地、与待写入的数据有效载荷相关联的高速缓存线的状态、互连 通信量、其它代理的写入响应等其它参数可能改变。

因此,在一个实施例中,参数指的是可能改变或置于不同状态的协议、物 理逻辑、器件、代理或全局状态/变量中的任何元素。作为一个特定示例,当确 认高速缓存一致性协议时,关于高速缓存代理的参数包括对监听的高速缓存响 应。这里,高速缓存响应参数的一个值包括将被监听的高速缓存线转发到请求 设备,而高速缓存响应参数的第二个值包括将该高速缓存线写入回复原位 (home)节点。其它常见的一致性协议参数包括代理的不同类型、代理响应、 器件响应、互连响应、消息响应、响应类型、对特定动作的其它响应、响应目 的地、消息、消息类型、消息目的地、请求、请求类型、请求目的地、高速缓 存类型、高速缓存状态、高速缓存位置、寄存器状态等。

然而,由于诸如物理互连、通信协议或其它协议之类的任何体系结构都可 能是确认的对象,所以参数可包括各种各样的变量。潜在可能的协议相关参 数的非详尽说明性列表包括协议代理的数目、协议代理的类型、代理的高速缓 存实现的类型、变化类型的协议代理的数目、协议代理的种类、协议代理的状 态、协议代理中或总线上电路或状态机的状态、代理标识符、协议请求的数目、 请求类型、请求源、请求目的地、请求的状态、参考的操作、操作的源、参考 的地址、访问的地址、地址位置的状态、数据有效载荷、协议代理的状态、高 速缓存的状态、高速缓存线的状态、诸如电压、频率、功率状态等物理协议状 态参数,或其它物理协议属性。

当将要确认互连的物理层时,互连的物理参数的几个例子包括电压、频率、 周期、扩展频谱、抖动、噪声等,而其它参数包括互连相关的状态机的状态、 代理的类型、代理的状态、代理中I/O电路的状态。然而,可认为体系结构中 任何可变元件是参数。

由于覆盖空间指数地增长且变得对于人们很难了解,在一个实施例中,数 据库201保持互连体系结构/实现的可能状态的覆盖空间。如所示,数据库201 的每个条目,诸如条目250-257,表示互连实现的可能状态。因此,条目250 的参考与具有如字段210中定义的参数值的状态250的讨论意思相同。这里, 条目250的参数值字段210将保持相关联的参数对应于状态250的数字值。

在一个实施例中,参数值字段210被分成多个字段211、212、213和214。 作为一个例子,假设数据库201保持具有三个协议代理的一致性协议的实现的 覆盖空间。这里字段211-213对应于三个协议代理的每一个。在每一个字段内, 可在逻辑上视为子字段的每一个数字值被预定义或预先与相对应的参数相关 联。

例如,在第一代理的字段211中,字段211的第一数字值定义代理的类型, 第二数字值定义第一代理是否是回复原位节点,第三数字值定义高速缓存线的 状态等。注意,对特定请求/动作的响应——诸如对监听/读取的响应——可能 具有众多变化。例如,带有四个不同响应的响应可能由带有四种可能组合的两 个二进制比特表示,即1、2、3和4;每一组合表示一可能的响应。

此外,字段214可以是包括所有代理的全局参数的全局参数字段。例如, 对监听的全局高速缓存响应可被转发到回复原位节点,由此,字段214中的参 数值表示该高速缓存响应。以上的例子仅仅是说明性的,因为可在字段210中 以任何形式表示任何数量的代理或任何数量的参数,诸如数十、数百或数千。 另外,可在字段210中使用上面表示变化的元素的任何已知方法。

在另一个实施例中,字段210保持多个顺序值,且字段210内数字值的预 定义结构将每个参数值与相对应的参数相关联。作为一个例子,字段210中的 第一个数表示全部代理的数目,第二个数表示高速缓存代理的数目,第三个数 表示第一代理对请求的响应,第四个数表示第二代理对请求的响应等等。正如 所看到的,这里,代替由代理分裂参数,参数顺序地列出。然而,在数据库201 中可使用表示参数的任何设计实现或形式。

随着互连的复杂性的增长以及变量/参数的数量的增加,保持在数据库201 中的状态数也大大增加。因此,在一个实施例中,每个条目包括令牌标识符字 段205以唯一地标识每个条目。例如,保持在字段210中的数字参数值定义状 态250,即条目250,且对应条目250的令牌ID205基于保持在条目250的字 段210中的数字值。

作为第一个例子,利用数学算法组合数字值以获得相对应的令牌ID。因 此,如果在参数字段210中保持了100个数字值,则在每个条目250-257中组 合这100个数字值或其某些部分以获得用于每一个条目250-257的唯一令牌ID 205。注意,随着参数在不同的数字值之间变化,令牌ID将基于字段210中的 参数值的改变而改变。例如,当对监听参数的响应从第一响应改变成第二响应 时,我们假设将第一响应表示为0而将第二响应表示为1,令牌标识符也基于 数字参数值的数学组合而改变。可将任何算法用于将数字参数值组合成令牌 ID。

在一个实施例中,每个条目250-257还包括标记字段215。标记字段215 在保持诸如未标记值的第一值时表示在模拟期间还没有遇到相应的状态。例 如,当标记字段215未被标记时,在模拟期间还没有遇到条目250即状态250。 相反,当将条目250的标记字段215更新成标记值时,则在模拟期间已遇到状 态250。因此,通过在模拟期间标记,有可能稍后确定在模拟期间已经访问/ 遇到了哪些状态以及还没有遇到哪些状态。

结果,生成诸如协议、物理互连、其它层或体系结构的确认对象的覆盖空 间,并有可能将其用于确认。在一个实施例中,生成数据库201且在存储介质 上或通过存储介质提供用于稍后确认。这里,可定义关于确认对象的任何级别 的实现用于生成覆盖空间,即保持在数据库201中的可能状态。

例如,互连体系结构的形式模式可被过滤成实现专用模型。取决于该实现 专用模型的约束,数据库201中状态的数量变化。例如,如果第一模型仅定义 协议代理的数目,则覆盖空间可能极大,因为很多其它参数仍会变化。相反, 如果模型定义了代理的数量、代理的类型、代理的互连、某些协议约束,则可 简化覆盖空间。此外,当执行模型检查器以探查确认对象的可能状态时,则将 状态的全部集合或精简集合存储到数据库201的各条目中。然后可将数据库 201提供给另一个用户,诸如客户,以实现协议、互连或其它确认对象的确认。 以下讨论利用类似于数据库201的数据库确认互连体系结构的确认方法。

转到图3,描绘了在诸如协议体系结构、物理互连体系结构、互连协议体 系结构或其它体系结构系统之类的体系结构的确认期间,确保体系结构状态覆 盖的方法的流程图的实施例。尽管图3-4的流程图被示为基本串行的且按特定 顺序,但任何流程可并行或以另一个顺序执行。例如,流程430中的标记通常 在模拟425期间发生,但也可在模拟之后发生。此外,一般性测试套件的模拟 可与流程405-415并行地或完全分离地进行。

还应注意,任何流程可作为执行来自机器可访问或可读介质的代码的结果 来执行。以下更详细地讨论诸如制品之类的机器可访问或可读介质。因此,编 译器、句法分析器或其它可执行代码在执行时可插入指令、操作、函数调用和 其它可执行代码或结构以执行以下的流程中所示的操作。此外,在一个实施例 中,关于图3和4讨论的每一个流程可以是自动化的。在一个实施例中,自动 化包括执行脚本、句法分析器或其它代码以完成流程中的任务。此外,主机代 码或其它代码本身可调用或导致进行下一个流程,其也可以是自动化的。

在流程300中,确定诸如互连体系结构、协议体系结构或其它状态或变量 确认的已知目标之类的确认对象的可能状态。如上所述,在一个实施例中,可 能的状态指的是在操作期间可能遇到的体系结构的状态。这里,可能的状态指 的是参数、变量、电路和状态机状态以及任何其它讨论的或已知的参数的快照。

例如,关于互连体系结构的标识的参数的特定值的组合可导致单个互连体 系结构状态。为了说明,在一致性协议中,简化的示例性状态包括三个协议代 理,一个代理将高速缓存线保持在拥有状态,两个代理将其保持在无效状态, 对写入到回复原位节点的监听的全局响应,并且接收监听。这里,一致性协议 处于指定状态。然而,注意,当包括并改变未列出的其它变量/参数时,这些指 定的参数本质上形成查询。查询可在逻辑上查看可能状态的子集空间,即在其 它参数改变的情况下具有以上指定参数的状态。

在一个实施例中,互连体系结构的形式模型被过滤或修整成实现专用模 型。这里,形式模型可体现体系结构/协议的规范,诸如将实现的一致性协议的 约束的完全形式模型。在一个实施例中,形式模型包括基本上遵守英特尔的快 速路径规范的一致性协议的形式模型。然而,形式模型可包括协议、体系结构、 互连、互连层或其它确认对象的任何建模。在一个实施例中,数据库201保持 关于形式模型的状态的覆盖空间。

然而,在完全的规范内,可利用互连体系结构的特定实现。结果,可基于 特定实现的特定配置约束,过滤、修整和/或修改形式模型。例如,在一致性协 议中,可指定代理的数目以及代理的类型或其它信息。一旦获得实现专用模型, 就执行模型检查器或其它工具以确定互连体系结构的可能状态的覆盖空间。如 上所述,覆盖空间可包括实现模型的所有可能状态或可能状态的精简集合,诸 如状态的对称精简集合。

接下来在流程305至流程310中,加载并执行一般性测试套件用于模拟。 在一个实施例中,模拟环境包括电阻器传输级(RTL)模拟环境。作为一个例 子,创建RTL环境以模拟在操作期间体系结构的操作。一般性测试套件诱发/ 模拟可能发生的正常动作以强调一致性协议的不同踪迹和状态。例如,可在一 般性测试套件中包括特定已知的困难事务或配置,以测试该协议在操作期间不 失效。一般性测试套件还可包括随机的情况、通信量和活动以实现协议状态的 随机确认。注意,可将一般性测试套件的类似的模拟用于任何确认对象,诸如 物理互连层或其它协议。

在流程315,提供基于多个在一般性测试套件的执行/模拟期间没有遇到的 可能状态的数目的反馈,以形成目标测试套件。这里,在流程316中,确定在 模拟期间没有遇到或访问到的可能的体系结构状态。在一个实施例中,类似于 图2的数据库201的数据库用于确定。如上所述,数据库可保持可能的状态的 覆盖空间,其可以是确认对象的所有可能状态或其某些精简子集。

作为一个例子,在数据库中标记在模拟期间遇到的状态。注意,数据库 201的令牌ID可用于编入数据库的索引并标记正确的条目。因此,当完成模 拟时,所有被访问的状态在数据库201中都被标记。作为结果,数据库201中 保持的未被标记的任何可能的状态被确定为在模拟期间还没有遇到。

在流程317中,确定将未遇到的可能状态作为目标的目标测试套件。在一 个实施例中,数据库被查询以确定未遇到的状态。例如,当没有遇到一较大的 状态空间——即相同参数的某种组合时,通常将其称为孔或间隙。作为一个例 子,假设其中第一处理器将线保持在共享状态,第二处理器将该线保持在共享 状态,且从第三处理器接收监听的状态从未遇到。注意,仅这三个参数不变的 带有100个参数的数据库将在逻辑上形成大量的未遇到的状态,即包括这些参 数且改变其它97个的每个状态。换言之,产生了大量间隙或孔,因为在模拟 期间没有遇到大量带有类似参数的状态以确保适当的操作。

因此,在一个实施例中,将状态信息反馈到形式模式或其它模型以确定从 初始状态到达未遇到的状态的踪迹。换言之,确定需要在体系结构中发生什么 以达到未遇到的状态。然后将该信息用于构建目标测试套件,它可能在模拟中 诱发该踪迹,以达到未遇到的状态或其某些部分。

这里,可利用以上的踪迹信息或其它信息修改一般性测试套件,以将未遇 到的状态作为目标。然而,目标测试套件不必将所有未遇到的可能状态作为目 标。事实上,在带有很多可能状态的极其复杂的互连中,将所有可能状态作为 目标是极其困难的。因此,目标是仅达到一置信水平,即一定百分比的经确认 状态,而不是与所有的状态都相遇。注意还可能有百分比间隙/孔置信水平目标, 以确保多个孔/间隙中的至少某些状态被确认。结果,某些用户分析或程序分析 可确定作为目标的未遇到的可能状态的子集,以覆盖孔、间隙或拐角情况用于 确认。

如上所述,目标测试套件在被执行时旨在诱发或模拟在一般性测试套件的 执行/模拟期间未遇到的可能的体系结构状态。此外,未遇到的可能状态的子集 可由物理用户或通过代码的执行智能地选择,以将间隙、孔、拐角情况、标识 的困难状态或其它可能的状态作为目标。

回到310,目标测试套件以类似于一般性测试套件的方式执行/模拟。这里, 还在数据库中标记新遇到的状态。此外,递归地重复反馈环315,以进一步将 未遇到的其它可能的状态作为目标或将先前已作为目标但在模拟期间未遇到 的可能状态再次作为目标。

转到图4,描绘了用于确保体系结构的有效模拟确认覆盖的方法/策略的流 程图的特定简化说明性实施例。在流程405-417中,基于体系结构的特定实施 例的配置约束过滤形式模型,运行模型检查器以探查经过滤的实现专用模型的 可能状态的覆盖空间,并将覆盖空间存储在数据库417中。

从上文中注意到,覆盖空间可包括体系结构/确认对象的所有可能的体系 结构状态或状态的精简集合,诸如状态的对称精简集合。同样,数据库417可 类似于图2的数据库201,其中数据库的条目对应于覆盖空间的体系结构状态。 这里,每一个条目至少包括定义对应于该条目的体系结构状态的体系结构参数 的多个参数值、基于这多个参数值的令牌标识符(ID)和标记字段。

这里,可在生成数据库之后立即或稍后并行地执行确认和模拟。例如,提 供诸如协议体系结构的体系结构的规范或模型的公司可另外或替换性地将来 自流程417的数据库提供给客户,以确保互连的有效模拟和确认。还可提供一 般性测试套件和其它代码/脚本。

然而,在创建和/或提供数据库之后,在流程425中,模拟来自流程420 的一般性测试套件。在所示的实施例中,进行寄存器传输级(RTL)模拟。然 而,可使用任何语言、代码、模拟器或其它已知的模拟/确认工具来模拟体系结 构的操作。或者在模拟期间或在模拟之后,在流程430,遇到的体系结构的状 态在流程417的数据库中被标记。如上所述,关于每一个状态/条目的令牌ID 用于编入数据库417的索引。注意,可代替地将诸如一般性数据库关键字之类 的任何其它关键字用于编入数据库的索引。

这里,在流程435中,保持在数据库中的覆盖空间的未标记的可能状态被 确定为在流程425的模拟期间未被遇到/访问。基于这些确定,在流程440中开 发/确定目标测试套件,以将模拟期间未遇到的覆盖空间的可能状态作为目标。 如上所述,利用自动化软件可将间隙和孔以及其它状态作为目标,并将其反馈 到模型以确定将这些状态作为目标的踪迹/信息。注意,并不是将所有未遇到的 可能情况都作为目标,因为可智能地选择目标状态,以与状态覆盖中的拐角情 况、已知的有问题的状态和间隙/孔以及某些随机目标状态相遇,以提供另外的 覆盖。然后在模拟流程425中使用该目标测试套件,并标记新遇到的数据库条 目/状态。可递归地进行该过程,直到达到足够的可能状态的确认覆盖。

因此,正如从上文可看到的,在本文中描述了诸如复杂协议、复杂互连和 其它复杂确认对象的复杂体系结构的有效且自动化的确认方法。以前,协议和 互连复杂度较低,允许用户了解覆盖空间并提供足够的测试套件以确保确认期 间的置信度。然而,通过使用数据库保持体系结构状态的覆盖空间,能够以电 子格式了解复杂体系结构。此外,通过标记在模拟期间遇到的状态,遇到的和 未遇到的状态数也能够被了解。基于这个,可开发目标测试套件以确保达到覆 盖空间的足够的确认。结果,不仅可以了解体系结构的确认置信水平,还可通 过将未模拟到的状态递归地作为目标来实现。

正如本文所使用的,值包括数、状态、逻辑状态或二进制逻辑状态的任何 已知表示。通常,逻辑电平、逻辑值或逻辑的值的使用还被称为0和1,它简 单地表示二进制逻辑状态。例如,1指的是高逻辑电平而0指的是低逻辑电平。 在一个实施例中,诸如晶体管或闪存单元之类的存储单元能够保持单个逻辑值 或多个逻辑值。然而,还可使用计算机系统中值的其它表示。例如,十进制数 10还可被表示为二进制值1010和十六进制字母A。因此,值包括能够保持在 计算机系统中的信息的任何表示。

此外,状态可由值或部分值表示。作为一个例子,诸如逻辑1的第一值可 表示缺省或初始状态,而诸如逻辑0的第二值可表示非缺省状态。此外,在一 个实施例中,术语复位和置位分别指缺省和更新的值或状态。例如,缺省值可 能包括高逻辑值,即复位,而更新值可能包括低逻辑值,即置位。注意,值的 任何组合可用于表示任何数量的状态。

上述的方法、硬件、软件、固件或代码的实施例可经由存储在机器可访问 或机器可读介质中的、可由处理元件执行的指令或代码来实现。机器可访问/ 可读介质包括任何提供可由诸如计算机或电子系统之类的机器读取形式的信 息的机构。例如,机器可访问介质包括:随机存取存储器(RAM),诸如静态 RAM(SRAM)或动态RAM(DRAM);ROM;磁或光存储介质;闪存设备; 电存储设备、光存储设备、声存储设备或其它形成的传播信号(例如,载波、 红外信号、数字信号)存储设备等。例如,机器可通过从能够保持将在传播信 号上发送的信息的介质接收诸如载波之类的传播信号,来访问存储设备。

在本说明书中对“一个实施例”或“实施例”的参考表示结合实施例描述 的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在说明书 的各位置出现的短语“在一个实施例中”不一定全指同一实施例。此外,特定 的特征、结构或特性可以任何适当的方式结合在一个或多个实施例中。

在以上的说明中,参照特定的示例性实施例给出了详细的描述。然而,显 然可在不背离所附权利要求陈述的本发明的广泛的精神和范围的情况下对其 进行各种修改和改变。因此本说明书和附图被认为是说明性的含义而不是限制 性的意思。此外,上文使用的实施例和其它示例性语言不一定指相同的实施例 或相同的示例,但可指不同的和区别的实施例,以及可能相同的实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号