断言产生系统及其程序、电路验证系统以及断言产生方法

文档序号:6654792阅读:338来源:国知局
专利名称:断言产生系统及其程序、电路验证系统以及断言产生方法
技术领域
本发明涉及使用基于计算机程序的过程执行LSI(大规模集成电路)的电路验证等的技术,以及验证技术,其用于当由模拟器对RTL(寄存器转换层)中的电路的设计数据进行动态验证时,通过把要被验证的电路的特性转换为断言(assertion)描述并且将该断言描述输入到模拟器,来进行验证从而在设计数据中不存在设计违规和遗漏验证。更具体地说,涉及使用上述技术的断言产生系统及其程序、电路验证系统以及断言产生方法。
要在下面讨论的特性是对在要被验证的设计数据中所期望和所期图的操作进行定义的直白描述。例如,特性定义了请求信号的响应和接收以及判定器电路中的批准信号之间在时间序列限制上的关系,并且定义了要被禁止的电路规格和时间序列限制的普通状态。此外,特性是要被作为功能覆盖点监测的事件,其确认是否已通过模拟对具体电路序列进行了测试。特性验证对设计描述是否满足预定特性进行验证。
背景技术
近来,由于电路的复杂度和半导体集成电路的电路尺寸增加使得对生僻情况(corner case)的验证被遗漏、由于团队作业使得对被分配给多个设计者的模块之间的接口规格的确认被遗漏、或者从第三方购买的可再次使用的核心的规格错误,已经导致频繁地对系统进行修改或者频繁地公开系统的修改版本。
这些问题都来源于,例如,缺乏能够发现因为没有充分理解第三方的核心规格和生僻情况而没能形成的错误的测试方案或者电路验证。
为了解决这些问题,已经提出了一种断言验证技术,并且最近已经将其投入到实际设计中进行使用,在该技术中,将与电路规格相关的特性转换为断言描述并且将该断言描述输入到用于验证的模拟器(计算机),而且给出用于在模拟期间显示断言违规警告,以及用于显示模拟器是否已经测试了特定电路序列的功能覆盖报告。
断言是一种通知,其中写有设计目的(在某些情况中,这显示特性)并且通常以RTL的注释语句写成。在验证期间由模拟器来解释该目的,例如,在其中要被验证的电路与该目的不同而进行操作的情况中所产生的错误记录。设计目的是,例如,电路数据的预定条件和假设,并且除了这些之外,还有当条件满足时所期望的操作。
模拟器检查下面两个事项。
(1)是否发生诸如假设和预定条件之类的特定事件。
(2)那个时候所期望的操作是否正常完成。
从上面检查(1)中,断言给出关于是否通过验证对特定电路功能进行了确认的确定信息反馈。因此,当将断言全面地安装在要被验证的电路中时,可以获得断言的功能覆盖;从而,可以定量地获得其验证准确度。
从上面检查(2)中,可以通过断言获得对验证排错的反馈。例如,安装在外部终端从其不能观测由电路故障所导致的影响的位置中的断言对故障状态进行补充。此外,当在任何模拟中满足诸如假设和预定条件之类的条件时,可以在任何时候检查这种所期望的操作。因此,例如,即使当由随机系统构建该模拟时,也可以执行带有所期望的操作的自校对,也就是所期望值的比较。此外,在较低模块中所安装的断言在芯片等级验证中也有效。
可以通过与用于逻辑合成的RTL不同的验证的Verilog-HDL来描述设计目的;但是,在这里描述另一种断言语言。
现在,最流行的断言语言是在非专利文献1中所描述的PSL(特性规格语言)。PSL是将要从所谓Accellera的标准化组织提交给IEEE的断言语言,并且实际上是一种标准语言。下面示出使用PSL的断言描述的实际例子。
例如,假设需要用于存储器控制的下面设计目的(特性)以通过验证进行监测。
1)read_n和write_n不同时变为低2)在write_n的下降(负)处,enable_n为高3)在read_n的下降处,enable_n为低要被给到模拟器作为用于该目的的断言的PSL描述(断言描述)如下。
//psl property memcont1=never(!write_n&&!read_n)@(posedge clk);//psl assert memcont1;
//psl property memcont2=always(enable_n)@(negedge write_n);//psl assert memcont2;//psl property memcont3=always(!enable_n)@(negedge read_n);//psl assert memcont3;在上述PSL描述(断言描述)中的“psl、property、never、assert、always”全部都是PSL中的保留词。以“//”开始的所有行都表示Verilog-HDL的注释。在此,除了使用“//”之外,还可以用“/**/”来包围所有的PSL描述。
在词“memcontl、2、3、!write_n&&!read_n、posedge clk、enable_n、negedgewrite_n、!enable_n、negedge read_n”中,除了“memcont1、2、3”之外,是用户定义的描述和实际安装的数据名称,即,用于定义目的1)到3)的、在RTL中出现的存储器控制信号名称。
此外,“memcont 1到3”是断言名称,并且用于得知从模拟器作为反馈给出的功能和错误记录。
PSL的断言描述具有下面结构性元素。
//psl property<an assertion name(断言名称)>=<an event to be monitered(要被监测的事件)>-><expectedoperation when a condition is satisfied(当条件满足时所期望的操作)>@<a strobecondition(选通条件)>;//psl assert<an assertion name>;例如,在1)的断言描述中,“memcont1”是断言名称,“!write_n &&!read_n”是要被监测的事件,在这种情况中,将“never(总不)”加在该事件之前;因此,监测在()中的条件(事件)总不变为真。如果添加“always(总是)”,则监测在()中的条件为真。此外,通过上述语句之后的“@(posedge clk)”,定义在每次上升沿(正沿)的时候执行对该条件的监测。根据当开始所期望的操作的时间,将“->”变为“|=>”或“|->”。在此,上面例子不伴随所期望的操作。
在()中出了选通条件的部分由返回布尔值的Verilog-HDL进行描述。选通条件的()中的部分具有由Verilog-HDL的“always sentence(总是语句)”所描述的敏感度列表的描述形式。
在PSL中,可以定义要被监测的事件,并且当条件满足时所期望的操作的每个部分可以定义一序列,也就是可以定义在多个循环中所期望的操作和事件的变化。下面解释一个例子。
设计目的当在存储器的清除过程中满足清除开始条件(m_task==2′b00)时,为了对所有的词(256个词)进行初始化,将写操作重复256次。这里,通过与clk的上升循环(正循环)同步的write_n的低→高→高的操作来完成一个写操作。
PSL描述//psl sequence WRITE_PULSE={!write_n;write_n;write_n};//psl property CLEAR_MEM_WRITE_N=//always{m_task==2′b00}|=>{WRITE_PULSE[*256]}//@{posedge clk};//psl assert CLEAR_MEM_WRITE_N;“sequence”通过宏定义对“write_n”的低→高→高序列进行定义。
这里,其是跟随要被关注的“|=>”的所期望操作的一部分。当“m_task==2′b00”时,所期望的操作是WRITE_PULSE,即,期望将作为write_n的三个循环的低→高→高序列重复256次。
但是,在这种断言验证技术中,例如,在当定义规格时通过人工输入写断言描述语言的情况中,存在有在其断言中产生错误的可能性。结果,不能将断言验证所获得的功能覆盖和断言违规警告的报告进行反馈,以防止系统修改或者系统的修改版本。进而,这需要用于对断言描述语句进行排错的验证时间。因此,验证效率变差。
换句话说,断言验证技术的主要前提是电路规格和断言描述彼此匹配;但是,没有方法用于在执行模拟之前对这种匹配进行确认。进而,考虑到复杂的无限状态机,难于通过人工操作对全面状态转换的序列进行描述。
作为与断言验证相关的传统技术,例如,在专利文献1和专利文献2中所公开的技术。
在专利文献1中,公开了这样的技术,其中通过图形对状态转换机建模并且搜索满足断言的状态转换路径。进而,公开了用于通过仅仅对该图形进行分析而确认断言的正确性的技术。通过该技术,可以确认电路规格和断言描述的匹配。
但是,在这些技术中,与被制成图形的状态转换机相关,人工地形成变为基本模型的状态转换机的模型,或者从通过RTL的描述语言而形成的设计数据中提取状态转换机。因此,不能避免在要被匹配的对象中的错误混合,也就是在应该是电路规格的状态转换机的模型中的错误混合。
此外,在专利文献2中,公开了这样的技术,其通过从RTL的设计数据中提取数据传送结构并且将该数据传送结构展开成图形结构,产生用于对电路进行验证的断言。但是,在这种技术中,由于从设计数据提取作为电路规格的断言,所以不能确保电路规格和断言描述的匹配。
日本专利申请公开No.2000-181933[专利文献1]日本专利申请公开No.2000-142918[非专利文献1]Property Specification Language Reference Manual Version 1.1June 9,2004,在线于2004年9月14日从因特网检索的,URLhttp://www.eda.org/vfv/docs/PSL-vl.1.pdf因此,在传统技术中,不能确保电路规格和断言描述的匹配。

发明内容
本发明的目的是解决传统技术中的问题,例如,使得在用于LSI的断言验证中的高可靠性和高效率等成为可能。
为了实现上面目的,根据本发明,基于当设计者形成电路的规格时所使用的虚拟状态转换图、时序图和过程序列图,将要被验证的特性自动地转换为断言描述语言。
根据本发明的一个方面,提供断言产生系统,其产生用于半导体集成电路的断言验证的断言描述。该断言产生系统包括规格输入单元,其通过根据用户操作对半导体集成电路的规格进行图形编辑,产生用于对半导体集成电路的规格进行确认的设计数据或规格和文档;第一存储单元,其将规格输入单元所产生的设计数据进行存储;特性产生单元,其通过从第一存储单元中读出由规格输入单元所产生的设计数据并且使用所读出的设计数据,来产生对半导体集成电路的规格进行验证的特性;第二存储单元,其对由特性产生单元产生的特性进行存储;以及断言产生单元,其通过从第二存储单元中读出由特性产生单元产生的特性,而将该特性转换为断言描述。此外,由特性产生单元产生的特性是设计数据中与状态转换相关的选择条件、至少一个或多个信号的逻辑值或者至少一个或多个信号。
根据本发明的另一个方面,提供使得计算机作为断言产生系统的单元而进行工作的程序。
根据本发明的另一个方面,提供电路验证验证系统。该电路验证系统包括断言产生系统,并且通过使用由断言产生系统所产生的断言描述来执行半导体集成电路的断言验证。
根据本发明的另一个方面,提供一种断言产生方法,其通过具有程序的计算机产生用于半导体集成电路的断言验证的断言描述。该断言产生方法包括规格输入步骤,其通过根据用户操作对半导体集成电路的规格进行图形编辑,而产生半导体集成电路的设计数据,并且将该设计数据输入到存储器;特性产生步骤,其从存储器读出在规格输入步骤中所产生的设计数据,并且使用所读出的设计数据来产生对半导体集成电路的规格进行验证的特性,而且将该特性输入到存储器中;以及断言产生步骤,其从存储器中读出由特性产生步骤所产生的特性,并且将该特性转换为断言描述。此外,由特性产生步骤所产生的特性是设计数据中与状态转换相关的选择条件、至少一个或多个信号的逻辑值或者至少一个或多个信号。
根据本发明,由于从附连到规格的状态转换图的电子数据中自动产生要被验证的特性的断言描述,所以建立电路规格与断言的匹配。因此,可以减少用于对断言进行排错的工作。此外,由于所产生的断言是通过对状态转换的路径进行全面搜索而产生的功能覆盖点,所以在验证之后,通过功能覆盖报告可以获得关于还没有被测试的路径的反馈;因此,可以防止遗漏对生僻情况的测试。此外,由于从附连到规格的、信号和时序图的选择条件的电子数据中,或者从以其对过程序列进行通知或定义的表形式或者图的电子数据中,自动产生要被验证的特性的断言描述,所以建立电路规格与断言之间的匹配。因此,可以减少用于对断言进行排错的工作。在许多情况中,附连到规格或者过程序列的、信号和时序图的选择条件是要在验证的时候被确实测试的重要断言;但是,由于在本实施方式中所产生的断言是重要特性,所以不充分知道规格和电路功能的设计者可以通过使用该特性来执行验证。结果,可以减少由于遗漏验证而导致的对系统进行修改的次数。
通过参照附图给出的对优选实施方式的下面详细描述,本发明的这些和其他目的、特点和优点将变得更加明显。


图1示出了根据本发明断言产生系统和电路验证系统所包括的硬件的结构示例的框图;图2示出了使用根据本发明的断言产生系统的电路验证系统和断言产生系统的第一功能结构示例的框图;图3示出了在根据本发明的断言产生系统中使用的图形结构的存储器内容示例的示意图;图4示出了在根据本发明的断言产生系统中使用的图形结构和状态转换图的示意图;图5示出了根据本发明的断言产生系统的第二功能结构示例的框图;图6示出了根据本发明的断言产生系统的第三功能结构示例的框图;图7示出了在根据本发明的断言产生系统中使用的时序图示例的示意图;图8示出了用于存储与在时序图上所定义的信号相关的信息和与在根据本发明的断言产生系统中使用的信号的定时限制相关的信息的结构体的示意图;图9示出了与图7中所示的时序图相关的特性信息的存储器内容示例的示意图;图10示出了根据本发明的断言产生系统的第四功能结构示例的框图;图11示出了在根据本发明的断言产生系统中使用的全加器的逻辑表的结构例子的示意图;图12示出了当在存储器中的表中对单元进行展开时一个单元的结构体示例的示意图;图13示出了将图12中所示的单元结构体进行组合的表单(sheet)的存储器结构示例的示意图;图14示出了在图13中所示的存储器结构示例中将图11中所示的全加器的逻辑表进行展开时的例子的示意图;和图15示出了在根据本发明的断言产生系统中所使用的表形式中的过程序列的结构示例的示意图。
具体实施例方式
随后,参照附图,详细说明本发明的实施方式。
图1示出了根据本发明的断言产生系统和电路验证系统所包括的硬件的结构示例的框图。图2示出了使用根据本发明的断言产生系统的电路验证系统和断言产生系统的第一功能结构示例的框图。图3示出了在根据本发明的断言产生系统中使用的图形结构的存储器内容示例的示意图。图4示出了在根据本发明的断言产生系统中使用的图形结构和状态转换图的示意图。图5示出了根据本发明的断言产生系统的第二功能结构示例的框图。图6示出了根据本发明的断言产生系统的第三功能结构示例的框图。图7示出了在根据本发明的断言产生系统中使用的时序图示例的示意图。图8示出了用于存储与在时序图上所定义的信号相关的信息和与在根据本发明的断言产生系统中使用的信号的定时限制相关的信息的结构体的示意图。图9示出了与图7中所示的时序图相关的特性信息的存储器内容示例的示意图。图10示出了根据本发明的断言产生系统的第四功能结构示例的框图。图11示出了在根据本发明的断言产生系统中使用的全加器的逻辑表的结构例子的示意图。图12示出了当在存储器中的表中对单元进行展开时一个单元的结构体示例的示意图。图13示出了将图12中所示的单元结构体进行组合的表单的存储器结构示例的示意图。图14示出了在图13中所示的存储器结构示例中将图11中所示的全加器的逻辑表进行展开时的例子的示意图。图15示出了在根据本发明的断言产生系统中所使用的表形式中的过程序列的结构示例的示意图。
在图1中,附图标记101表示包括存储器、硬盘等的存储设备;附图标记102表示CPU(中央处理单元);附图标记103表示包括键盘、鼠标等的输入单元;附图标记104表示包括CRT(阴极射线管)、LCD(液晶显示器)等的显示单元;附图标记105表示系统总线,而计算机系统包括单元101到105,其中通过系统总线105连接单元101到104。
存储设备101将不依赖于根据本发明的架构和功能及部件的硬件的功能描述,以能够从记录媒体中读出的可行的程序格式进行存储,所述记录媒体是计算机从其中可以读出程序的、诸如CR-ROM(致密盘只读存储器)、DVD(数字视频盘/数字多功能盘)和FD(软盘)之类的媒体。CPU 102执行在存储设备101中所存储程序,并且执行具有图2中所示结构的断言产生系统的功能过程。
用户交互式地通过使用输入单元103来输入命令,以执行程序从而实现对不依赖于本发明的部件和架构的硬件的功能描述的输入和编辑。显示单元104显示不依赖于架构的硬件的功能描述、以及由CPU 102所执行的、实现本发明的部件的程序的进程和结果。
图2示出了使用根据本发明的断言产生系统207的电路验证系统和断言产生系统207的基本结构。首先,通过用户操作从图形编辑器201输入要在规格中指定的电路规格,并且把在图形编辑器201处所输入的电路规格存储在存储设备101中作为规格电子数据202。在此,可以使用诸如在例如日本专利申请公开No.1-309185中所公开的时序图编辑器之类的图形编辑器作为图形编辑器201。
随后,语法分析器203读出在存储设备101中所存储的规格电子数据202并且对语法进行分析,而且特性提取器204从语法分析的结果中提取要被验证的特性。
断言产生器205产生断言描述语言206,可以将其从特性提取器204中所提取的特性中输入到模拟器或者静态特性检查器。将以这种方式所产生的断言描述语言206存储在存储设备101中并且输入到模拟器,而且执行验证。
如上所述,根据本例的断言产生系统,当由模拟器或者静态验证工具执行对设计数据进行验证的断言验证时(在所述设计数据中以带有要被特性验证的电路的设计数据的断言描述对与半导体集成电路的规格或者半导体集成电路的规格的一部分相关的特性进行描述),图形编辑器201通过对无限状态机的规格进行编辑、通过状态转换表或者状态转换图上的视觉表示来产生规格电子数据202(设计数据)。语法分析器203对图形编辑器201处所定义的电路规格进行分析,并且特性提取器204提取要根据设计数据被验证的特性,而且断言产生器205以断言描述输出该特性。
这里,将形成在图形编辑器201处的设计数据(规格电子数据)在存储设备101上展开为图形结构,并且特性提取器204可以参照该图形结构。进而,作为在图形编辑器201处所形成的设计数据(规格电子数据),除了状态转换表和状态转换图之外,还包括通过使用能够编辑表输入或者图的商用工具以时序图或时间序列图示出电路过程序列的数据。
图5示出了将状态转换图用作要在图形编辑器201处形成的设计数据(规格电子数据)的例子。在图5中,通过图形编辑器201来编辑和形成作为在例如图4(a)中所示例的状态转换图的图形信息501,并且将其存储在作为硬盘、系统存储器等的存储设备101中。
图形信息501包括视觉信息,即,放置状态转换图的结构元素的坐标信息等,并且可以将视觉表示的状态转换图通过打印输出而附连到规格。
图形搜寻引擎502具有图2中所示的特性提取器204和语法分析器203的功能,并且从图4(a)中所示例的状态转换图中提取图4(b)中所示例的图形结构,而且将该图形结构临时存储在系统存储器中。在所提取的图形结构中,将状态转换图的结构元素形成为节点,并且图形搜索引擎502对状态转换路径进行搜索。例如,图形搜索引擎502从状态转换机的初始状态中搜索所有状态转换路径,提取路径,并且将它们存储在存储设备101中作为路径数据库503。
特性转换器504通过参照路径数据库503,将由图形搜索引擎502所提取的状态转换路径转换为断言描述语言。将特性转换器504处所转换的断言描述语言505描述为,例如,用于确认在模拟器处是否已经测试了断言描述语言505的功能覆盖点。
在图3中示出了要在图形搜索引擎502处使用的图形结构的存储器内容的例子。在图3中,附图标记301表示对状态转换图中的每个状态的信息进行存储的结构体,而附图标记302表示对状态转换图中的弧形(arc)的信息进行存储的结构体。这些结构体301和302相互执行指针参照,并且形成相应指针指向节点的图。
在图4中,图4(a)示出了状态转换图的例子,而图4(b)示出了从状态转换图中所形成的图形结构。在图5中所示的图搜索引擎502通过使用图形逻辑中的路径搜索,例如最短路径搜索算法,从图4(a)中所示的状态转换图中搜索状态转换路径。结果,形成图4(b)中所示的图形结构,并且将该图形结构存储在路径数据库503中。
随后,通过使用图4中所示的例子来示出要在图5中所示的路径数据库503中存储的状态转换路径的例子。
init;(GO)S1;init;在本例中,搜索从“init”到“S1”的路径,并且当“GO”为真时,也就是“1”时,形成状态转换路径。
此外,下面示出由图5中的特性转换器504(图2中的断言产生器205)从该状态转换路径中产生的PSL的断言描述。
Property init_to_S1=always{state==init & GO}|=>{state==S1};在状态转换机的情况中,需要在验证中访问所有的状态,从而对作为电路功能的关键的重要功能的验证准确度进行量化。可以通过根据PSL的覆盖语法对状态验证的功能覆盖进行确认来确定是否访问了状态转换机的每个状态。在图4中所示的情况中,通过PSL的覆盖描述仅仅将图形节点中所存储的状态名称进行列表就足够了。
下面示出了结果。在此处,“state”是在安装状态转换机时用于保存状态的状态寄存器名称。
//psl cover(state==init);//psl cover(state==S1);这里,如图3中和图4(a)中所示,在其中图5中所示的图形信息501具有带有坐标信息的图形结构的信息的情况中,图形搜索引擎502直接参考图形信息501中的图形结构。
随后,参照图6,说明本发明的另一个实施方式。在图6中所示的实施方式中,从时序图电子数据601中提取要被附连到规格的时序图信息,并且将与要被验证的信号组的定时相关的相互关系制成断言描述。
在图6中,附图标记602表示读出时序图电子数据601的时序图读出器,附图标记603表示定时特性提取器,其提取与要被验证的信号组的定时相关的相互关系(时序图信息)并且将该相互关系存储在时序图数据库604中,而附图标记605表示特性转换器,其从时序图数据库604读出时序图信息并且产生可以被输入到模拟器或者静态特性检查器的断言描述语言606。
在此处,时序图电子数据601可以是由时序图编辑器(未示出)形成和编辑的数据,在这种情况中,时序图读出器602变为用于时序图编辑器所产生和编辑的时序图信息的语法分析器。
在图8中示出了由定时特性提取器603所使用的存储器内容。在图8中,附图标记801表示存储与在时序图上所定义的信号相关的信息的结构体,而附图标记802表示存储与用于信号的定时限制相关的信息的结构体。
在图7中示出了由时序图读出器602所读出的时序图的例子。在图7中所示的例子中,从与“clk”同步的“req”的上升(正)开始2到5个周期期间“ack”上升(变为正)。
在图7中所示的例子中,描述了定时限制(特性),在该定时限制中,在“req”的输出信号变为1之后的2到5个“clk”范围内必须接收正的“ack”。
图6中所示的定时特性提取器603通过使用诸如IN、OUT和CK之类的信号属性,和表示上升条件的“pos”,以及诸如“<-”和“->”之类的与信号组的定时相关的相互关系,来提取要被验证的定时信息(特性)作为关键字。
将由未示出的时序图编辑器所形成和编辑的、图7中所示的时序图信息,通过在例如下面列表中进行编辑而存储在硬件中。在下面列表中,1到3行示出了引脚和输入/输出属性,例如时钟输入,而4到7行示出了波形信息。在第六行中,示出了其中从与“clk”同步的“req”的上升(正)开始2到5个周期期间“ack”上升(变为正)的特性。
1 CK clk;2 IN ack;3 OUT req;4 {clk,req,ack}={1,0,0};5 {clk,req,ack}={1,1,0};6 {clk,req,ack}={1,0,0}[2:5];7 {clk,req,ack}={1,0,1};在图9中示出了与由该时序图信息所展开的定时相关的特性信息的存储器内容示例。
随后,将说明其中使用能够输入表和编辑图的商用工具来编辑上述电路的时间序列特性和逻辑表。
图11示出了其中由作为微软公司的电子数据表软件Excel(商标)输入全加器的逻辑表的结构示例。当执行表定义时,以黑体显示的NAME(名称)、CLOCK(时钟)、CONDITION(条件)和EXPECT(期望)是保留词,并且分别显示特性名称、时钟名称、断言检查的开始条件和在开始断言检查时所期望的操作。
在CONDITION和EXPECT的随后的行中,对信号名称进行描述,并且在这些名称下面输入有逻辑值。根据Excel,表单包括单元,单元是表的基本元素,并且可以通过用“,”分离单元而将表单作为ASCII文件输出。
在图7的情况中,由单元来管理信号名称、时钟的1/2脉冲等,并在存储器中展开之后,对单元结构进行扫描并且获得图9中所示的存储器内容。
图12示出当在存储器中展开Excel的单元时用于表示一个单元的结构体。在该结构体中的上、下、左和右成员分别执行向上和下和左和右的指针指引。
图13示出了其中将图12中所示的单元的结构体进行组合的表单的结构示例的示意图。附图标记1301表示显示表单的指针,并且包括作为随后表单的指针指引的“next(随后表单)”和执行用于单元的头部的指针指引的成员。附图标记1302表示单元的指针,并且通过使用上、下、左和右成员执行上和下和左和右的指针指引。通过上述方法,可以容易地执行对表单上的单元的扫描,并且可以执行由诸如NAME、CLOCK、CONDITION和EXPECT之类的关键词进行检索和对逻辑表的解释。
图14示出了当将图11中所示的全加器的逻辑表展开在图13中所示的存储器结构中时的内容示例。
下面,示出了PSL描述,其从图11中所示的全加器的逻辑表中产生断言描述。在此处,可以通过将该表的行号加到断言名称的结构中而容易地将该表和验证数据(即断言)进行链接。例如,在第一行上,FADD_S_0_FADD_csv_line_5是断言名称,而line_5与该表的行号对应。
psl property FADD_S_0_FADD_csv_line_5=always{!A & !B & !CI}|->{S===1′b0};psl property FADD_CO_0_FADD_csv_line_5=always{!A & !B & !CI}|->{CO===1′b0};psl property FADD_S_1_FADD_csv_line_6=always{!A & !B & !CI}|->{S===1′b1};psl property FADD_CO_1_FADD_csv_line_6=always{!A & !B & !CI}|->{CO===1′b0};psl property FADD_S_2_FADD_csv_line_7=always{!A &!B & !CI}|->{S===1′b1};psl property FADD_CO_2_FADD_csv_line_7=always{!A & !B & !CI}|->{CO===1′b0};psl property FADD_S_3_FADD_csv_line_8=always{!A & !B & !CI}|->{S===1′b0};psl property FADD_CO_3_FADD_csv_line_8=always{!A & !B & !CI}|->{CO===1′b1};psl property FADD_S_4_FADD_csv_line_9=always{!A & !B & !CI}|->{S===1′b1};psl property FADD_CO_4_FADD_csv_line_9=always{!A & !B & !CI}|->{CO===1′b0};psl property FADD_S_5_FADD_csv_line_10=always{!A & !B & !CI}|->{S===1′b0};psl property FADD_S_5_FADD_csv_line_10=always{!A & !B & !CI}|->{CO===1′bl};psl property FADD_S_6_FADD_csv_line_11=always{!A & !B & !CI}|->{S===1′b0};psl property FADD_S_6_FADD_csv_line_11=always{! A & !B & !CI}|->{CO===1′b1};psl property FADD_S_7_FADD_csv_line_12=always{!A & !B & !CI}|->{S===l′b1};psl property FADD_S_7_FADDc_sv_line_12=always{!A & !B & !CI}|->{S===1′b1};在图10中,解释了本发明的另一个实施方式。在该实施方式中,将要被附连到规格的序列作为表数据1001进行存储,语法分析器1002在系统存储器上展开以表的形式定义的序列,序列提取器1003提取要被验证的过程序列,而特性转换器1004将该序列转换为断言描述1005。
在图15中示出了要被验证的过程序列的例子。该例子示出了与图7中所示的相等的特性。也通过Excel形成该例子。语法分析器1002和序列提取器1003将在单元中所描述的序列解析为时间序列,并且特性转换器1004通过使用PSL的SERE展开的普通表示来产生断言描述。
在将该序列解析为时间序列时,将字符串中的“;”解释为在一个时钟周期期间的行为。在图15中,“0[*2:5]”使用PSL的重复表示,并且意味着在2到5个周期期间LOW(低)周期继续。进而,由于描述了“0[*2:5];1;0”,所以“ack”表示这样的行为在2到5个周期期间低周期继续而在此之后跟随有高和低。
下面,示出了根据图15所产生的PSL的断言描述。
psl property reqack_ack_0_REQ_csv_line_5=always{(rose)}|->{{ack===1′b0}[*2:5];{ack===1′b1};{ack===1′b0};将图1中所示的CPU 102用于执行图5、6和10中所示的流程的程序以可行的形式记录在磁介质等之中,并且存储在存储设备101中。
图通过使用图1到15所说明的,根据本实施方式的断言产生系统207产生用于半导体集成电路的断言验证的断言描述。图形编辑器201(规格输入单元)通过根据用户操作将半导体集成电路的规格(无限状态机、过程序列)图形编辑为状态转换表和状态转换图或者时序图和时间序列图,而产生半导体集成电路的设计数据,通过将该设计数据展开为图形结构而形成规格电子数据202,并且使得存储设备101存储该数据。此外,语法分析器203和特性提取器204(特性产生单元)从存储设备101中读出规格电子数据202(设计数据),并且根据所述设计数据产生对半导体集成电路的规格进行验证的特性。进而,断言产生器205(断言产生单元)将该特性转换为断言描述语言206。
在此处,在图形编辑器201(规格输入单元)中,可以通过基于用户操作使用逻辑表或者状态表对半导体集成电路的规格进行编辑来产生半导体集成电路的设计数据。断言产生器205将特性转换为断言描述;其中断言名称包括在图形编辑器201(规格输入单元)处所编辑的状态表或者逻辑表的表行号或者表名称,或者加入包括逻辑表或者状态表中的信号名称或者状态名称的断言名称。
根据本实施方式的电路验证系统提供断言产生系统207,并且通过使用由断言产生系统207所产生的断言描述来执行半导体集成电路的断言验证。
如上所述,根据这些实施方式,由于从附连到规格的状态转换图的电子数据中自动地产生要被验证的特性的断言描述,所以建立电路规格和断言的匹配。因此,可以减少用于对断言进行排错的工作。此外,由于所产生的断言是通过对状态转换的路径进行全面搜索而产生的功能覆盖点,所以在验证之后,可以通过功能覆盖报告获得关于还没有被测试的路径的反馈;因此,可以防止遗漏生僻情况的测试。
此外,由于从附连到规格的信号和时序图的选择条件的电子数据、或者从通知或者定义了过程序列的表格或者图的电子数据中自动产生要被验证的特性的断言描述,所以建立电路规格和断言的匹配。因此,可以减少用于对断言进行排错的工作。在许多情况中,附连到规格的信号和时序图的选择条件或者过程序列是在验证的时候要被确实测试的重要断言;但是,由于在实施方式中所产生的断言是重要特性,所以不充分知道规格和电路功能的设计者可以通过使用该特性来执行验证;结果,可以减少由于遗漏验证而导致的对系统的多次修改。
虽然已经参照图1到图15中所示的具体实施方式
在上面描述了本发明,但是应该理解本发明并不限于这些实施方式,相反地,在不偏离本发明的基本概念和范围的情况下本领域的普通技术人员可以对其进行各种修改。例如,在实施方式中,通过使用诸如CD-ROM、DVD和FD之类的记录介质将实现特性提取器204、断言产生器205等的程序存储在存储设备101中;但是,还可以通过使用通讯设备经由网络进行下载而将这些程序存储在存储设备101中。
进而,在实施方式中,通过使用PSL来执行断言描述,但是还可以通过使用其他语言来执行断言描述。
本专利申请基于2004年9月30日提交的日本优先权专利申请No.2004-286042。
权利要求
1.一种断言产生系统,其产生用于半导体集成电路的断言验证的断言描述,该断言产生系统包括规格输入单元,其通过根据用户操作对半导体集成电路的规格进行图形编辑,产生用于对半导体集成电路的规格进行确认的设计数据或规格和文档;第一存储单元,其将规格输入单元所产生的设计数据进行存储;特性产生单元,其通过从第一存储单元中读出由规格输入单元所产生的设计数据并且使用所读出的设计数据,来产生对半导体集成电路的规格进行验证的特性;第二存储单元,其对由特性产生单元产生的特性进行存储;以及断言产生单元,其通过从第二存储单元中读出由特性产生单元产生的特性,而将该特性转换为断言描述,其中由特性产生单元产生的特性是设计数据中与状态转换相关的选择条件、至少一个或多个信号的逻辑值或者至少一个或多个信号。
2.根据权利要求1所述的断言产生系统,其中所述特性产生单元产生至少一个或多个特性,和所述规格输入单元包括设计数据产生单元,其通过根据用户操作使用状态转换表或者状态转换图对半导体集成电路的规格进行编辑,以产生半导体集成电路的设计数据。
3.根据权利要求1所述的断言产生系统,其中所述规格输入单元包括设计数据产生单元,其通过根据用户操作将半导体集成电路的过程序列编辑为时序图或者时间序列图,以产生半导体集成电路的设计数据,并且所述特性是序列特性。
4.根据权利要求1所述的断言产生系统,其中所述规格输入单元包括设计数据产生单元,其通过根据用户操作使用逻辑表或者状态表对半导体集成电路的规格进行编辑,以产生半导体集成电路的设计数据,并且所述特性是时间特性。
5.根据权利要求4所述的断言产生系统,其中断言产生单元将特性转换为这样的断言描述,在该断言描述中加入包括逻辑表或者状态表的表名称或者表行号、或者由规格输入单元所编辑的逻辑表或者状态表中的信号名称或者状态名称的断言名称,并且所述特性是时间特性。
6.根据权利要求1所述的断言产生系统,其中所述规格输入单元是电子数据表软件的商用工具并且将设计数据展开成图形结构,而将该图形结构输入到第一存储单元。
7.一种使得计算机作为根据权利要求1所述断言产生系统的单元而进行工作的程序。
8.一种电路验证验证系统,包括根据权利要求1所述的断言产生系统,其中该电路验证系统通过使用由断言产生系统所产生的断言描述来执行半导体集成电路的断言验证。
9.一种断言产生方法,其通过具有程序的计算机产生用于半导体集成电路的断言验证的断言描述,包括规格输入步骤,其通过根据用户操作对半导体集成电路的规格进行图形编辑,而产生半导体集成电路的设计数据,并且将该设计数据输入到存储设备;特性产生步骤,其从存储设备读出在规格输入步骤中所产生的设计数据,并且使用所读出的设计数据来产生对半导体集成电路的规格进行验证的特性,而且将该特性输入到存储设备中;以及断言产生步骤,其从存储设备中读出由特性产生步骤所产生的特性,并且将该特性转换为断言描述,其中由特性产生步骤所产生的特性是设计数据中与状态转换相关的选择条件、至少一个或多个信号的逻辑值或者至少一个或多个信号。
10.根据权利要求9所述的断言产生方法,其中所述特性产生步骤产生至少一个或多个特性,和所述规格输入步骤通过根据用户操作使用状态转换表或者状态转换图对半导体集成电路的规格进行编辑,以产生半导体集成电路的设计数据。
11.根据权利要求9所述的断言产生方法,其中所述规格输入步骤通过根据用户操作将半导体集成电路的过程序列编辑为时序图或者时间序列图,以产生半导体集成电路的设计数据,并且所述特性是序列特性。
12.根据权利要求9所述的断言产生方法,其中所述规格输入步骤通过根据用户操作使用逻辑表或者状态表对半导体集成电路的规格进行编辑,以产生半导体集成电路的设计数据,并且所述特性是时间特性。
13.根据权利要求12所述的断言产生方法,其中断言产生步骤将特性转换为这样的断言描述,在该断言描述中加入包括逻辑表或者状态表的表名称或者表行号、或者在规格输入步骤所编辑的逻辑表或者状态表中的信号名称或者状态名称的断言名称,并且所述特性是时间特性。
14.根据权利要求9所述的断言产生方法,其中所述规格输入步骤将设计数据展开成图形结构,并且将该图形结构输入到存储设备。
15.一种半导体器件的制造方法,包括设计步骤,其设计具有预定功能的集成电路;模拟步骤,其通过使用在根据权利要求9所述的断言产生方法中所产生的断言来模拟集成电路;和制造步骤,其根据集成电路的规格来制造半导体器件,其中通过由根据权利要求9所述的断言产生方法获得的断言对集成电路进行模拟,以制造确认满足设计规格的半导体器件。
全文摘要
公开了一种断言产生系统。在断言产生系统(207)中,图形编辑器(201)根据用户操作通过使用状态转换表和状态转换图对半导体集成电路的规格(无限状态机、过程序列)进行图形编辑、或者通过将过程序列编辑为时序图和时间序列图,来产生半导体集成电路的设计数据,而且语法分析器(203)和特性提取器(204)根据所述设计数据产生用于对半导体集成电路的规格进行验证的特性。断言产生器(205)将特性转换为断言描述语言(206)。
文档编号G06F17/50GK1906619SQ200580001510
公开日2007年1月31日 申请日期2005年9月21日 优先权日2004年9月30日
发明者山田孝光 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1