数据变换流水线的硬件设计的验证制造技术

技术编号:26348673 阅读:33 留言:0更新日期:2020-11-13 21:45
用于通过形式验证来验证数据变换流水线的硬件设计的方法和系统,所述数据变换流水线包括一个或多个数据变换元件,所述一个或多个数据变换元件对一个或多个输入执行数据变换,其中,所述形式验证在简化形式验证工具必须执行的数据变换计算的条件下执行。在一个实施方案中,通过以下操作来验证所述数据变换流水线的所述硬件设计:在所述数据变换流水线之间的基本上等同的数据变换元件响应于相同输入产生相同输出的约束下,针对预定交易集合,形式验证所述硬件设计的实例化的输出产生与另一数据变换流水线的硬件设计的实例化相同的输出。

【技术实现步骤摘要】
【国外来华专利技术】数据变换流水线的硬件设计的验证
技术介绍
许多电子装置,诸如片上系统(SoC),都包括实现数据变换流水线的硬件。如本领域技术人员所知,流水线包括处理元件的集合,其中,所述集合中的处理元件的输出是到所述集合中的处理元件的输入。数据变换流水线是一种被配置成对一个或多个输入的集合执行数据变换的流水线。术语“数据变换”在本文中用来表示可以对数据集合执行或应用以产生新数据的任何操作(例如数学运算,诸如但不限于算术运算,包括加法、减法、乘法、除法等)。因此,数据变换流水线接收一个或多个输入的集合,并输出对输入的集合执行数据变换的结果。数据变换流水线包括至少一个数据变换元件,所述数据变换元件被配置成对输入的集合执行数据变换,但是它也可以包括其他类型的处理元件。当流水线针对输入的集合生成输出时,该流水线被称为执行“交易”。因此,如果流水线针对输入的相同集合生成输出,则称该流水线执行相同的交易。数据变换流水线可以是线性或非线性流水线,并且可以具有单个处理元件或多个处理元件。图1-3示出了实例数据变换流水线,其被配置成对输入的集合执行算术计算。图1示出了第一实例数据变换流水线100,其本文档来自技高网...

【技术保护点】
1.一种验证第一数据变换流水线的硬件设计的计算机实现的方法(400),所述第一数据变换流水线包括对一个或多个输入执行数据变换的一个或多个数据变换元件,所述方法(400)包括在一个或多个处理器处执行以下操作:/n针对预定交易集合,形式验证所述第一数据变换流水线的所述硬件设计的实例化的一个或多个输出的集合与第二数据变换流水线的硬件设计的实例化的一个或多个输出的集合匹配,其中,所述第二数据变换流水线包括对一个或多个输入执行数据变换的一个或多个数据变换元件,所述第二数据变换流水线的数据变换元件基本上等同于所述第一数据变换流水线的数据变换元件(402);/n其中,在约束下执行所述形式验证,所述约束是所述...

【技术特征摘要】
【国外来华专利技术】20180405 GB 1805722.4;20180405 GB 1805723.2;2018111.一种验证第一数据变换流水线的硬件设计的计算机实现的方法(400),所述第一数据变换流水线包括对一个或多个输入执行数据变换的一个或多个数据变换元件,所述方法(400)包括在一个或多个处理器处执行以下操作:
针对预定交易集合,形式验证所述第一数据变换流水线的所述硬件设计的实例化的一个或多个输出的集合与第二数据变换流水线的硬件设计的实例化的一个或多个输出的集合匹配,其中,所述第二数据变换流水线包括对一个或多个输入执行数据变换的一个或多个数据变换元件,所述第二数据变换流水线的数据变换元件基本上等同于所述第一数据变换流水线的数据变换元件(402);
其中,在约束下执行所述形式验证,所述约束是所述第一数据变换流水线和所述第二数据变换流水线的所述基本上等同的数据变换元件响应于相同的输入产生相同的输出。


2.如权利要求1所述的方法(400),其中,所述第一数据变换流水线和所述第二数据变换流水线是不同的。


3.如权利要求2所述的方法(400),其中,所述预定交易集合包括从所述第一数据变换流水线的有效状态执行的有效交易。


4.如权利要求2或权利要求3所述的方法(400),其中,所述约束在于:当所述第一数据变换流水线和所述第二数据变换流水线的所述硬件设计的实例化的所述基本上等同的数据变换元件同时接收相同的输入时,它们响应于所述输入产生一个或多个输出的相同集合。


5.如权利要求2或权利要求3所述的方法(400),其中,所述约束在于:当所述第一数据变换流水线和所述第二数据变换流水线的所述硬件设计的实例化的所述基本上等同的数据变换元件在不同的但相关的时间点接收相同的输入时,它们响应于所述输入产生一个或多个输出的相同集合。


6.如权利要求5所述的方法(400),其中,所述不同的时间点通过预定数量的周期而相关,或者其中,所述不同的时间点是多个预定相关时间点中的一个。


7.如权利要求2至6中任一项所述的方法(400),其中,所述第一数据变换流水线和所述第二数据变换流水线的所述基本上等同的数据变换元件是相同的。


8.如权利要求2至6中任一项所述的方法(400),其中,所述第一数据变换流水线和所述第二数据变换流水线的所述基本上等同的数据变换元件是不同的,并且所述方法还包括形式验证所述第一数据变换流水线和所述第二数据变换流水线的所述基本上等同的数据变换元件在功能上是等同的(808)。


9.如任一项前述权利要求所述的方法(400),其中,验证所述第一数据变换流水线的所述硬件设计包括验证所述第一数据变换流水线的所述硬件设计和所述第二数据变换流水线的所述硬件设计在功能上是等同的(802)。


10.如权利要求1所述的方法(400),其中,所述第一数据变换流水线和所述第二数据变换流水线是相同的。


11.如权利要求10所述的方法(400),其中,所述第一数据变换流水线和所述第二数据变换流水线的所述基本上等同的数据变换元件是相同的数据变换元件。


12.如权利要求10或权利要求11所述的方法(400),还包括在所述形式验证之前将所述第二数据变换流水线的所述硬件设计链接到捕获模块的硬件设计(904),所述捕获模块被配置成:当所述第二数据变换流水线的所述硬件设计的实例化从所述第二数据变换流水线的预定状态执行交易时,记录到所述第二数据变换流水线的一个或多个输入的集合和从所述第二数据变换流水线的一个或多个输出的集合,并且记录到所述第二数据变换流水线的所述基本上等同的数据变换元件的一个或多个输入的集合和从所述第二数据变换流水线的所述基本上等同的数据变换元件的一个或多个输出的集合。


13.如权利要求12所述的方法(400),其中,所述约束在于:当所述第一数据变换流水线的所述硬件设计的实例化的所述基本上等同的数据变换元件接收所述数据变换元件的被记录的所述一个或多个输入的集合时,所述第一数据变换流水线的所述硬件设计的所述实例化的所述基本上等同的数据变换元件产生所述数据变换元件的对应的被记录的所述一个或多个输出的集合。


14.如权利要求12或权利要求13所述的方法(400),其中,针对预定交易集合,形式验证所述第一数据变换流水线的所述硬件设计的所述实例化的所述一个或多个输出的集合与所述第二数据变换流水线的所述硬件设计的所述实例化的所述一个或多个输出的集合匹配包括:如果所述第一数据变换流水线的所述硬件设计的实例化接收被记录的一个或多个流水线输入的集合,则形式验证所述第一数据变换流水线的所述硬件设计的所述实例化的所述一个或多个输出的集合与被记录的一个或多个流水线输出的集合匹配(906)。


15.如权利要求12至14中任一项所述的方法(400),其中,所述第二数据变换流水线的所述预定状态是在重置所述第二数据变换流水线的所述硬件设计的所述实例化之后产生的状态。


16.如权利要求12至15中任一项所述的方法(400),其中,所述捕获模块被配置成在重置所述第二数据变换流水线的所述硬件设计的所述实例化之后,以预定数量的周期记录到所述第二数据变换流水线的所述硬件设计的实例化的所述基本上等同的数据变换元件的所述一个或多个输入的集...

【专利技术属性】
技术研发人员:萨姆·埃利沃特
申请(专利权)人:畅想科技有限公司
类型:发明
国别省市:英国;GB

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

1