验证实施置换相关函数的组件的硬件设计制造技术

技术编号:22295593 阅读:23 留言:0更新日期:2019-10-15 04:44
描述了用于验证实施置换相关函数的组件的硬件设计的方法和系统。该方法包括:形式验证硬件设计的实例化为有效输入向量的子集产生函数的正确结果;以及形式验证硬件设计的实例化为关于输入向量集合上的一个或多个输入向量置换中的每个的置换(即,硬件设计的实例化为输入向量和该输入向量的置换产生置换相关输出。选择子集和输入向量置换,使得可以经由一个或多个输入向量置换的组合从子集中的输入向量生成不在子集中的任何输入向量。

Verify the hardware design of components that implement permutation correlation functions

【技术实现步骤摘要】
验证实施置换相关函数的组件的硬件设计
技术介绍
存在接收包括多个输入元素(x0,x1...xn-1)的输入向量x并为一组输入元素的至少两个不同排序(或置换)产生与置换相关的输出的许多函数。如果函数响应于第一输入向量产生第一输出,并且响应于作为第一输入向量的置换的第二输入向量产生第二输出,则称该函数产生与置换相关的输出,并且第二输出可以仅从第一输出和置换推导出来。这种函数在本文被称为置换相关函数(permutationrespectingfunction)。函数相对于其置换的输入向量置换集合(即,为输入向量和输入向量的置换产生与置换相关的输出)在本文中被称为相关的输入向量置换的集合或组。置换相关函数包括但不限于:关于一个或多个输入向量置换σ不变的函数F(即F(σx)=F(x));关于一个或多个输入向量置换σ等变的函数F(即σF(x)=F(σx));以及满足tσF(x)=F(σx)的函数,其中通过相关的输入向量置换组到输出的自同构组的同态将输入向量置换σ映射到输出转换tσ。示例置换相关函数是排序函数Fsort(a,b,c),排序函数Fsort(a,b,c)接收包括三个输入元素a,b,c的输入向量并以升序输出包括输入元素的向量。该函数是置换相关函数,因为它关于所有输入向量置换都是不变的,即,它将为一组输入元素的任何置换产生相同的输出。例如,当函数Fsort以任何顺序接收输入元素4、5和6时,函数Fsort将输出4、5、6。具体来说,当函数Fsort接收以下输入时将输出4、5、6:(i)a=4,b=5和c=6,(ii)a=4,b=6和c=5;(iii)a=5,b=4,c=6;(iv)a=5,b=6和c=4;(v)a=6,b=4,和c=5,或(vi)a=6,b=5,和c=4。其他置换相关函数的示例包括但不限于:输出多个输入元素的平均值的平均值函数;输出多个输入元素的中间值的中间值函数;输出多个输入元素的最大值的最大值函数;输出多个输入元素的最小值的最小值函数;以及接收代表方阵的条目的一组输入元素并输出该矩阵的行列式的函数。许多电子设备(例如片上系统(SOC)包括实施置换相关函数的组件。生成实施置换相关函数的组件通常包括:开发硬件设计,其描述实施置换相关函数的集成电路的结构和功能;验证或测试硬件设计,以确保根据设计制造的集成电路将按预期运行;以及一旦验证,根据硬件设计在集成电路制造系统中制造集成电路。验证实施置换相关函数的组件的硬件设计的操作或行为包括验证硬件设计的实例化根据函数为所有有效输入向量产生正确(或预期)的输出。例如,硬件设计可以通过形式验证或基于模拟的验证进行验证。形式验证是使用硬件设计和数学推理的数学模型对硬件设计进行验证的系统过程。相比之下,基于模拟的验证是通过将刺激应用于硬件设计的实例化,并且响应于刺激监测硬件设计的实例化的输出来测试硬件设计的过程。与基于模拟的验证相比,形式验证可以提高可控性。当完全模拟硬件设计所需的模拟测试信号或向量的数量变得无法管理时,就会出现低可控性。例如,32位比较器需要264个测试向量。这可能需要数百万年才能通过基于模拟的验证进行彻底地验证。通过执行形式验证,可以在不到一分钟内验证32位比较器。虽然形式验证可以是用于穷尽地验证硬件设计的属性的有效方法,但只有当要验证的属性以形式验证工具能够解决由此呈现的数学问题的方式呈现时,才可以使用形式验证。具体地,在硬件设计的形式验证器件,硬件设计被表示为数学模型,要证明的属性也在数学上表示,并且数学推理用于基于该数学模型确定硬件设计的属性是否为真。换言之,在形式验证中,验证被表示为要解决的数学问题。一些数学问题将通过形式验证工具在合理的时间量内解决,而另一些则不行。当形式验证工具能够解决硬件设计和要验证的属性所呈现的数学问题时,则形式验证被认为是收敛的。然而,当形式验证工具不能解决硬件设计和要验证的属性所呈现的数学问题时,则形式验证不会收敛,也不会输出任何结果,并且验证是不确定的。以下描述的实施例仅以示例的方式提供,并且不对实施方式进行限制,这些实施方式解决了用于验证实施置换相关函数的组件的硬件设计的已知方法和系统的任何或所有缺点。
技术实现思路

技术实现思路
用于介绍以下具体实施方式中进一步描述的一些概念。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。本文描述了用于验证实施置换相关函数的组件的硬件设计的方法和系统。该方法包括:形式验证硬件设计的实例化为有效输入向量的子集输出函数的正确结果;以及形式验证硬件设计的实例化是关于一个或多个输入向量置换中的每个的置换(即,硬件设计的实例化为输入向量和该输入向量的置换产生置换相关输出。选择子集和输入向量置换,使得可以经由一个或多个输入向量置换的组合由子集中的输入向量生成不在子集中的任何输入向量。第一方面提供了一种验证实施置换相关函数的组件的硬件设计的方法,所述组件被配置为接收包含多个输入元素的输入向量并基于所述输入向量和所述函数生成输出,所述方法包括:在一个或多个处理器处验证硬件设计的实例化为有效输入向量子集的每个输入向量生成预期输出;以及在一个或多个处理器处针对一个或多个输入向量置换中的每个,验证硬件设计的实例化为有效输入向量的集合中的任何输入向量和该输入向量的置换生成置换相关输出;其中,可以通过将一个或多个输入向量置换中的一个或多个应用于该子集中的输入向量来获得不在有效输入向量子集中的每个有效输入向量。第二方面提供了一种验证实施置换相关函数的组件的硬件设计的系统,所述系统包括:存储器,其包括:实施置换相关函数的组件的硬件设计,所述组件被配置为接收包含多个输入元素的输入向量并基于输入向量和函数生成输出;以及一个或多个验证工具;以及一个或多个处理器,其被配置为:使用一个或多个验证工具中的一个验证硬件设计的实例化为有效输入向量的子集的每个输入向量生成预期输出;以及使用一个或多个验证工具中的一个,针对一个或多个输入向量置换中的每个,验证硬件设计的实例化为有效输入向量的集合中的任何输入向量和该输入向量的置换生成置换相关输出;其中,可以通过将一个或多个输入向量置换中的一个或多个应用于该子集中的输入向量来获得不在有效输入向量的子集中的每个有效输入向量。当在集成电路制造系统中进行处理时,实施置换相关函数的组件的硬件设计可以配置该系统以制造包含该组件的集成电路。可以提供一种非暂态计算机可读存储介质,其上存储有实施置换相关函数的组件的硬件设计,硬件设计在集成电路制造系统中处理时,使得集成电路制造系统制造包含该组件的集成电路。可以提供一种集成电路制造系统,其包括:非暂态计算机可读存储介质,其上存储有实施置换相关函数的组件的硬件设计;布局处理系统,其被配置为处理硬件设计以生成包含组件的集成电路的电路布局描述;以及集成电路生成系统,其配置为根据电路布局描述制造包含该组件的集成电路。可以提供用于执行如本文所述的方法的计算机程序代码。可以提供非暂态计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令在计算机系统上执行时,使计算机系统执行本文所述的方法。如对技术人员显而易见的,上述特征可以适当地组合,并可以与本文所述的示例的任何方面进行组合。附图说明现在将本文档来自技高网
...

【技术保护点】
1.一种验证实施置换相关函数的组件的硬件设计的方法,所述组件被配置为接收包括多个输入元素的输入向量并且基于所述输入向量和所述函数生成输出,所述方法包括:在一个或多个处理器处验证所述硬件设计的实例化为有效输入向量的子集的每个输入向量生成预期输出;以及在所述一个或多个处理器处验证:对于一个或多个输入向量置换中的每一个,所述硬件设计的实例化为有效输入向量的集合中的任何输入向量和该输入向量的置换生成置换相关的输出;其中,不在所述有效输入向量的子集中的每个有效输入向量可以通过将所述一个或多个输入向量置换中的一个或多个应用于该子集中的输入向量来获得。

【技术特征摘要】
2018.03.29 GB 1805285.21.一种验证实施置换相关函数的组件的硬件设计的方法,所述组件被配置为接收包括多个输入元素的输入向量并且基于所述输入向量和所述函数生成输出,所述方法包括:在一个或多个处理器处验证所述硬件设计的实例化为有效输入向量的子集的每个输入向量生成预期输出;以及在所述一个或多个处理器处验证:对于一个或多个输入向量置换中的每一个,所述硬件设计的实例化为有效输入向量的集合中的任何输入向量和该输入向量的置换生成置换相关的输出;其中,不在所述有效输入向量的子集中的每个有效输入向量可以通过将所述一个或多个输入向量置换中的一个或多个应用于该子集中的输入向量来获得。2.根据权利要求1所述的方法,其中,所述一个或多个输入向量置换包括一个或多个换位,所述一个或多个换位交换输入向量中的两个输入元素的位置。3.根据权利要求2所述的方法,其中,所述一个或多个输入向量置换中的每一个是交换输入向量中的两个输入元素的位置的换位。4.根据权利要求2所述的方法,其中,所述一个或多个换位中的至少一个是交换输入向量中的两个相邻输入元素的位置的相邻换位。5.根据权利要求3所述的方法,其中,所述一个或多个输入向量置换包括n-1个相邻换位,其中,n是输入向量中的输入元素的数量。6.根据权利要求5所述的方法,其中,用于交换第i个输入元素和第(i+1)个输入元素的位置的相邻换位的有效输入向量的集合包括:第i个输入元素小于第(i+1)个输入元素的输入向量,或者第i个输入元素大于第(i+1)个输入元素的输入向量。7.根据权利要求1所述的方法,其中,所述一个或多个输入向量置换包括循环置换,所述循环置换将所述输入向量中的除了所述输入向量的最后一个位置中的输入元素以外的每个输入元素移位到所述输入向量中的下一个位置,并且将所述最后一个位置中的输入元素移位到所述输入向量的第一个位置。8.根据前述权利要求中的任一项所述的方法,其中,所述有效输入向量的集合等于所有有效输入向量。9.根据权利要求1至7中的任一项所述的方法,其中,所述一个或多个输入向量置换包括z个输入向量置换,并且z小于相关输入向量置换的数量,相关输入向量置换为所述函数是置换相关的且不被所述子集覆盖的输入向量置换。10.根据权利要求1所述的方法,其中,所述一个或多个输入向量置换包括所有相关输入向量置换,相关输入向量置换为所述函数是置换相关的且不被所述子集覆盖的输入向量置换;并且所述有效输入向量的集合等于所述有效输入向量的子集。11.根据权利要求1至7和权利要求10中的任一项所述的方法,其中,所述有效输入向量的子集包括:所述输入元素的至少一部分按照预定顺序的输入向量。12.根据权利要求1至...

【专利技术属性】
技术研发人员:罗伯特·麦克梅山姆·艾略特埃米利亚诺·莫里尼马克斯·弗雷伯格豪斯
申请(专利权)人:畅想科技有限公司
类型:发明
国别省市:英国,GB

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

1