一种断言状态机和波形图的联合同步纠错方法、存储介质和终端与流程

文档序号:18825223发布日期:2019-10-09 01:28阅读:456来源:国知局
一种断言状态机和波形图的联合同步纠错方法、存储介质和终端与流程

本发明涉及一种断言状态机和波形图的联合同步纠错方法、存储介质和终端。



背景技术:

断言是形式验证中的一个重要组成部分,即用于描述验证的环境(约束断言),又用于描述所要验证的设计规范(属性断言)。由于断言语言(比如systemverilogassertion)通常是声明式的,不同于芯片设计师使用的程序式语言(比如verilog),断言的生成和纠错成为形式验证的一个难点。据统计,这一过程占用了整个形式验证三分之一的时间。另一方面,断言也越来越多的被用作仿真验证中的监视器,仿真也面对同样的断言生成和纠错问题。

断言必须转换为状态机的形式才能用在仿真和形式验证。现有验证工具可以在波形图中显示状态机状态值,但缺失其他易用和可视性辅助手段。由于断言语义和相应状态机的复杂性,在波形图差错过程中断言的跟踪非常费时费力。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种断言状态机和波形图的联合同步纠错方法、存储介质和终端。

本发明的目的是通过以下技术方案来实现的:

本发明的第一方面,提供一种断言状态机和波形图的联合同步纠错方法,包括如下步骤:

步骤1:在形式或仿真验证发现错误属性后生成波形图,所述波形图显示从初始到出错状态的相关信号波形;

步骤2:出错属性被综合成确定性状态机并生成属性状态机图形,将所述属性状态机图形、波形图和代码浏览器进行显示;

步骤3:接受选取的指定信号的对应波形图中的指定时钟段,代码浏览器显示所述指定信号的当前值,同时属性状态机图形显示当前状态。

进一步地,所述步骤2中,在生成属性状态机图形时,将波形图的信号值与属性状态机图形的状态之间建立映射关系。

进一步地,所述波形图的显示作为主进程,代码浏览器和属性状态机图形的显示作为从进程;主从进程间的通讯通过共享内存、或pipe、或标准ipc方法实现。

进一步地,所述属性状态机图形显示当前状态通过不同颜色的标识实现状态区分。

进一步地,在步骤3中,当选取的指定时钟段从初始状态一直到出错时钟段时,则属性状态机图形显示相应的属性状态的变迁路径,直到确定性状态机进入拒绝状态。

进一步地,所述属性状态机包括安全属性状态机和活性属性状态机。

进一步地,对于所述安全属性状态机,在第一次接受选取的指定信号的对应波形图中的指定时钟段之前,安全属性状态机的当前状态为初始状态。

进一步地,对于所述活性属性状态机,当出现活性错误,出错波形包含一个满足活性条件的状态循环;而对应于循环在活性属性状态机图形的显示方式是在循环开始状态对应的时钟段有一个特殊标识。

本发明的第二方面,提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的一种断言状态机和波形图的联合同步纠错方法的步骤。

本发明的第三方面,提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的一种断言状态机和波形图的联合同步纠错方法的步骤。

区别于现有技术的情况,本发明的有益效果是:

(1)本申请波形图和属性状态机的同步纠错,让出错过程在复杂的属性状态机中直观的显示出来,提高了纠错效率。

(2)本申请的优选实施例中,将波形图的显示作为主进程,代码浏览器和属性状态机图形的显示作为从进程。其中,波形图是用户进行纠错的起始点,波形图包括设计和断言信号,而状态机只有断言信号。

(3)本申请的优选实施例中,将安全属性状态机和活性属性状态机进行分类处理,给用户提供一个直观的认识。

附图说明

图1为本发明示例性实施例的流程图。

图2为本发明示例性实施例的状态机进入拒绝状态的示意图。

具体实施方式

下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

参见图1,图1为一种断言状态机和波形图的联合同步纠错方法的流程图,包括如下步骤:

步骤1:在形式或仿真验证发现错误属性后生成波形图,所述波形图显示从初始到出错状态的相关信号波形。

其中,信号波形可能存在一个或多个。

步骤2:出错属性被综合成确定性状态机并生成属性状态机图形,将所述属性状态机图形、波形图和代码浏览器进行显示。

其中,属性状态机图形可以由状态机显示器(模块)进行显示,波形图可以由波形显示器(模块)进行显示。

对于该步骤,可以是用户选择出错的断言,将选择的断言进行综合;也可以是直接将所有出错的断言进行综合。

另外,由于属性状态并非原设计中的信号,所以在波形图文件生成时必须作为额外信号加入,并且信号值和属性状态机的状态之间映射关系必须确立。

因此,在一示例性实施例中,所述步骤2中,在生成属性状态机图形时,将波形图的信号值与属性状态机图形的状态之间建立映射关系。

同时,表达式到非确定再到确定状态机包含在整个综合过程中。实际上,这个两步过程会发生在每一个字表达式上。

步骤3:接受选取的指定信号的对应波形图中的指定时钟段,代码浏览器显示所述指定信号的当前值,同时属性状态机图形显示当前状态。

具体地,用户选取感兴趣的信号并点击波形图中感兴趣的时钟段(clockcycle)后,代码浏览器在每个信号名称后会显示其当前值,同时属性状态机会通过一些标识方法显示当前状态,比如将当前状态节点填充为灰色。

而在通过波形图查错时,波形显示器是主进程,代码浏览器和属性状态机显示器是从进程。主从进程间的通讯可以通过共享内存,或pipe,或socket等标准ipc(进程间通讯)方法。

用户点击波形图时,相应时钟段的时钟被输送给代码浏览器和状态机显示器。这两者查询位于内存或硬盘上的波形图文件获得信号的当前值。代码浏览器更新信号值。状态机显示器根据属性状态值和前述映射关系找到当前状态并更新显示,比如将状态节点填为灰色。

并且,在步骤3中,当用户选取的指定时钟段从初始状态一直到出错时钟段时,则属性状态机图形显示相应的属性状态的变迁路径,直到确定性状态机进入拒绝状态,该拒绝状态按照状态机转换条件实现,如图2所示。

在图中示出了属性断言“a|=>!b”的状态机,含义为“a发生后b不发生”。

其中,所示路径“0,1,2”代表“a发生后b发生”,违反了这个属性。从初始状态0开始,a发生进入状态1,然后b发生进入拒绝状态2。同样的,路径“0,2”也进入了拒绝状态。只有路径“0,1,3”为非拒绝状态。

另外,在一示例性实施例中,所述属性状态机包括安全属性状态机和活性属性状态机。

安全属性状态机有一个可到达的拒绝状态;而活性属性状态机有一个可到达的接受状态,不过必须经过一个循环路径。

其中,对于所述安全属性状态机,在第一次接受选取的指定信号的对应波形图中的指定时钟段之前,安全属性状态机的当前状态为初始状态。用户点击波形图后,所点击的波形图信号值决定的状态机的当前状态。

而对于所述活性属性状态机,当出现活性错误,出错波形包含一个满足活性条件的状态循环;而对应于循环在活性属性状态机图形的显示方式是在循环开始状态对应的时钟段有一个特殊标识(比如一条垂直的黄线)。对应的,状态机的当前状态则显示循环开始状态。

采用这样的方式,使得对于安全状态机和活性状态机的初始状态,用户会有一个直观的认识。

另外,关闭波形显示器会触发代码浏览器和状态机显示器的自动关闭。

本发明的第二方面,提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的一种断言状态机和波形图的联合同步纠错方法的步骤。

本发明的第三方面,提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的一种断言状态机和波形图的联合同步纠错方法的步骤。

基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得装置执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1