通过迭代过度逼近和再编码策略进行增量设计缩减的方法和系统技术方案

技术编号:2852180 阅读:230 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种以增量方式缩减设计的方法。逻辑验证工具接收设计以及要相对于所述设计进行验证的特性,然后选择用于缩减所述设计的多种不同技术中的一种或多种。所述逻辑验证工具然后利用所述一种或多种技术缩减所述设计,以创建缩减的设计,并尝试为所述缩减的设计上的特性生成有效的解决方案。所述逻辑验证工具确定所述有效的解决方案是否已生成,如果没有,则使用所述缩减的设计取代所述设计。在生成所述有效的解决方案之前,所述逻辑验证工具执行所述选择、缩减、确定以及取代步骤。

【技术实现步骤摘要】

本专利技术一般涉及测试和验证,尤其涉及数字设计的验证。更特别的是,本专利技术涉及一种用于通过迭代过度逼近和再编码对数字设计进行增量缩减的系统、方法和计算机程序产品。
技术介绍
随着基于处理器的系统在人类活动的每个方面的日益渗透,对处理器、专用集成电路(ASIC)开发以及生产没有设计缺陷的系统的开发团体的需求日益增长。包括微处理器、数字信号和其他特殊目的处理器以及ASIC的电路产品已经与大批关键功能的性能密切相关,并且微处理器与日常生活的重要任务相关提高了人们对无误差的和无缺陷设计的期望。无论设计中的错误是通过对人类生活的影响还是仅仅通过对经济利益方面的影响来衡量,电路产品的消费者已失去了对设计错误所产生的结果的容忍。消费者将不会容忍例如在证券交易场所中、维持人的生命的医疗设备中或操控其交通工具的计算机中的计算错误。所有的这些活动代表了这样的一些领域在这些领域中,对可靠电路结果的需求已上升为一个关键任务问题。为了响应对可靠、无误差设计的日益增长的需求,处理器和ASIC设计以及开发团队已经开发出用于测试和验证的严格(即使是难以置信的昂贵)的方法。功能硬件验证已经成为用于验证诸如处理器芯片这种复杂设计的传统方法。因为用于设计的功能硬件验证时间的增长与逻辑元件的数量有关,所以复杂系统的功能硬件验证是现今最花费时间的计算任务之一。因此,以很少漏掉设计中的错误并减少开发时间作为目标,有效地使用功能硬件验证周期非常重要。如上所述,功能硬件验证是一个计算上昂贵的过程;对于连续设计而言,功能硬件验证是一个完全PSPACE问题(通过算法的复杂性分析),因此一般需要与所验证设计的大小成指数关系的资源。多个现有技术的功能硬件验证证明算法依赖于可达性分析,它需要列举出所测试设计的可达状态以评定该设计是否与它的技术要求相符,不幸的是它是一个大小受限的过程。可达性分析是一个强大的验证框架;它能够确定设计是否满足技术要求(即,如果设计的所有可达状态都满足被验证的特性,那么就完成了正确性的验证),也能够确定设计是否不满足其技术要求(如果设计的任一可达状态不满足被验证的特性)。可达性算法的操作是通过分配R_0作为所验证的设计的预定初始状态集合,然后分配R_{i+1}(i逐渐增加)作为从R_I进行一次设计转换就可到达的所有状态的集合。最后,R_{i+1}将为所有先前在R_0……R_i中遇到的状态的一个子集,此后这个过程将终止。这个最终的可达状态集合表示为R。为了部分地减轻某些用于计算可达状态精确集合这一昂贵过程的计算费用,已经有多个“过度逼近”可达状态集合的建议。例如,一些作者已经建议使用“归纳的”(inductive)方法。现有技术过度逼近方法的缺点是它们常常是不确定的,由于它们的过度逼近特性导致了“伪失效”(spurious failure)。尽管在改进可达性分析性能方面研究了几十年,这种技术仍然局限于应用于有几百个或更少的状态元件的设计中,并且还受到其他设计尺寸的阻碍。由于可达性分析的尺寸限制,已在过度逼近可达状态集合以能够简化计算的方式上进行了一些研究。例如,归纳证明从R_0作为自身不违反特性的所有状态开始(在确保设计的实际初始状态是这个已过度逼近的R_0的一个子集之后),然后计算从这个已过度逼近的初始状态集合开始的过度逼近集合R’。这种方法的好处包括大幅度减少完成分析所需要的步骤数。这种归纳方法的主要缺点是它常常导致一个不确定的结果。特别是,如果过度逼近集合R’包含一些违反正被验证的特性的状态S’,那么不能立即辨明这个违反是仅仅由初始状态集合(即,S’是R’-R的一个子集)的过度逼近引起的,还是S’包含R中某些实际可达的状态。前一种情况是所验证特性的伪失效。切割点插入是指用随机门取代连线表中的门的过程。通过切割点插入修改的设计称为是“过度逼近的”设计,因为它可以“模拟”原设计-随机门可以展现其取代的门可展现的任何行为,但反过来不一定正确。这种过度逼近技术增大了设计中的随机门的数量,有时候甚至非常显著;某些算法(尤其是那些基于二进制决策图的算法)由于随机门的这种增长可能遭受计算瓶颈。存在多个用于再编码设计以获得设计的功能等效的缩减的现有技术。给定要测试的设计的组合驱动切割(即,不包含状态元件的切割的“源”侧),再编码工具能计算在这些切割门可以产生的值的集合。更一般地,给定包含0个或多个状态元件以及0个或多个随机门的要测试的设计的切割,再编码工具能计算在这些切割门可以产生的值的集合作为状态元件的值的函数。再编码工具然后能创建一个新的逻辑,该逻辑产生与切割的“源”侧完全相同的行为作为状态元件的函数,并且用该新的逻辑取代切割门。注意,不能仅仅将切割点注入切割门,因为那通常会构成过度逼近变换,而再编码的目的则是进行特性保留的变换。通常,再编码工具创建一条比正被取代的逻辑大为简单的逻辑的能力依赖于切割的“源”侧(在其“组合扇入锥体”中包含大量随机门,即,通过扇入遍历而不用遍历寄存器便可到达的门的集合)。由于再编码依赖于选择那些在切割的“源”侧包含随机门的切割点,再编码的常规方法在切割点能被注入的设计的深度方面将遭受严重的限制。换言之,再编码常常对于距离随机门很深的逻辑不实用(例如由状态元件专门驱动的逻辑)。这种深度限制在传统上限制了再编码技术的有用性。常规的再编码系统和现有技术的过度逼近系统的局限性是已知的。所需要的是一种利用减轻了过度逼近的已知限制和再编码的深度限制的方法来验证数字设计的更为有效的方法。
技术实现思路
本专利技术公开了一种用于以增量方式(incrementally)缩减设计的方法。逻辑验证工具接收设计和与该设计相关的要验证的特性,然后选择多种不同技术中的一种或多种以用于缩减(reduce)设计。逻辑验证工具然后缩减该设计以利用上述一种或多种技术创建一种缩减的设计,并尝试为上述缩减后的设计上的特性生成一个有效的解决方案。逻辑验证工具确定是否生成了该一个有效的解决方案,如果没有生成,则用缩减的设计替代原设计。在生成一个有效的解决方案之前,逻辑验证工具迭代地执行选择、缩减、确定以及替代步骤。在本专利技术中,在所采用的过度逼近方法和所采用的再编码方法之间的特定协作(synergy)带来几个优点。本专利技术所使用的结构过度逼近技术将顺序驱动的逻辑转变为组合驱动的逻辑,并且更一般地将随机门更深地注入到设计的锥体(cone)中。这对于本专利技术的再编码技术有帮助,因为本专利技术的基本方面是擅长缩减在随机门附近的逻辑,而不是消除纯顺序逻辑。附图说明在所附权利要求书中阐明了认为是新颖的本专利技术的特征。然而,结合附图,通过参考下面的示例性实施例的详细描述将更好地理解专利技术本身、优选的使用模式以及其进一步的目标和优点。其中图1描绘了根据本专利技术的一个优选实施例,装备了用于通过迭代过度逼近和再编码用于数字设计的增量缩减的计算机程序产品的数据处理系统的框图。以及图2是根据本专利技术的一个优选实施例,用于通过迭代过度逼近和再编码用于数字设计的增量缩减的过程的高级逻辑流程图。具体实施例方式本专利技术提供一种用于降低验证复杂度的新颖的协作变换(transformation)技术。本专利技术尤其便于促进结构过度逼近技术的使用(以缩减顺序设计的尺寸)与再编码技术的使用(用以提供附加的特性保本文档来自技高网
...

【技术保护点】
一种以增量方式缩减设计的方法,所述方法包括:接收设计以及要相对于所述设计进行验证的特性;选择用于缩减所述设计的多种不同技术中的一种或多种;利用所述一种或多种技术缩减所述设计,以创建缩减的设计;尝试为所述缩减的 设计上的所述特性生成有效的解决方案;以及确定所述有效的解决方案是否已生成;使用所述缩减的设计取代所述设计;以及在生成所述有效的解决方案之前,执行所述选择、缩减、确定以及取代步骤。

【技术特征摘要】
US 2004-12-14 11/011,2461.一种以增量方式缩减设计的方法,所述方法包括接收设计以及要相对于所述设计进行验证的特性;选择用于缩减所述设计的多种不同技术中的一种或多种;利用所述一种或多种技术缩减所述设计,以创建缩减的设计;尝试为所述缩减的设计上的所述特性生成有效的解决方案;以及确定所述有效的解决方案是否已生成;使用所述缩减的设计取代所述设计;以及在生成所述有效的解决方案之前,执行所述选择、缩减、确定以及取代步骤。2.权利要求1的方法,其中所述选择用于缩减所述设计的多种不同技术中的其中一种的步骤进一步包括,通过用缩减尺寸的等同逻辑取代切割的扇入侧并通过注入切割点过度逼近所述设计,选择对所述设计的一部分再编码的集合中的一种。3.权利要求2的方法,其中所述选择用于缩减所述设计的多种不同技术中的其中一种的步骤进一步包括,如果所述设计具有多个输入,则通过用缩减尺寸的等同逻辑取代切割的扇入侧来选择对所述设计的一部分再编码。4.权利要求2的方法,其中所述选择用于缩减所述设计的多种不同技术中的其中一种的步骤进一步包括,如果所述设计具有多个状态元件,则通过注入切割点来选择过度逼近所述设计。5.权利要求1的方法,其中所述利用所述一种或多种技术缩减所述设计以创建缩减的设计的步骤进一步包括,通过用缩减尺寸的等同逻辑取代切割的扇入侧并通过并行注入切割点过度逼近所述设计,来对所述设计的一部分再编码。6.权利要求1的方法,其中所述利用所述技术缩减所述设计以创建缩减的设计的步骤进一步包括,通过用缩减尺寸的等同逻辑取代切割的扇入侧并通过注入切割点过度逼近所述设计,利用对所述设计的一部分再编码的集合中的一种来缩减所述设计。7.权利要求1的方法,其中所述接收设计的步骤进一步包括接收所述设计的结构表示。8.权利要求1的方法,其中所述选择用于缩减所述设计的所述多种不同技术的一种或多种的步骤进一步包括,在所述多种不同技术之间交替。9.权利要求1的方法,其中所述在生成所述有效的解决方案之前执行所述选择、缩减、确定以及取代步骤的步骤进一步包括,提高分配给所述缩减、确定以及取代步骤的资源等级。10.一种用于以增量方式缩减设计的系统,所述系统包括用于接收设计以及要相对于所述设计进行验证的特性的装置;用于选择用于缩减所述设计的多种不同技术中的一种或多种的装置;用于利用所述一种或多种技术缩减所述设计以创建缩减的设计的装置;用于尝试为所述缩减的设计上的所述特性生成有效的解决方案的装置;以及用于确定所述有效的解决方案是否已生成的装置;用于使用所述缩减的设计取代所述设计的装置;以及用于在生成所述有效的解决方案之前,执行所述选择、缩减、确定以及取代步骤的装置。11.权利要求10的系统,其中所述用于选择用于缩减所述设计的多种不同技术中的其中一种的装置进一步包括,用于通过用缩减尺寸的等同逻辑取代切割的扇入侧并通过注入切割点过度逼近所述设计,选择对所述设计的一部分再编码的集合中的一种的装置。12.权利要求11的系统,其中所述用于选择用于缩减所述设计的多种不同技术中的其中一种的装置进一步包括,用于如果所述设计具有多个输入,则通过用缩减尺寸的等同逻辑取代切割的扇入侧来选择对所述设计的一部分再编码的装置。13.权利要求11的系统,其中所述用于选择用于缩减所述设计的多种不同技术中的其中一种的装置进一步包括,用于如果所述设计具有多个状态元件,则通过注入切割点选择过度逼近所述设计的装置。14.权利要求10的系统,其中所述用于利用所述一种或多种技术缩减所述设计以创建缩减的设计的装置进一步包括,用于通过用缩减尺寸的等同逻辑取代切割...

【专利技术属性】
技术研发人员:贾森R伯姆加特纳罗伯特L坎泽尔曼哈里默尼维里施帕鲁斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1