对多个原型验证板同步复位的方法、验证系统及存储介质与流程

文档序号:25520898发布日期:2021-06-18 20:08阅读:149来源:国知局
对多个原型验证板同步复位的方法、验证系统及存储介质与流程

本公开涉及计算机软件技术领域,尤其涉及一种对多个原型验证板同步复位的方法、验证系统及存储介质。



背景技术:

如今,对于芯片设计的原型验证,往往远程控制多个原型验证板对同一芯片设计进行原型验证的操作。相关技术中,当对同一芯片设计进行原型验证时,会出现多个原型验证板的执行步骤不统一的情况,这就造成了对芯片设计的原型验证出现故障,从而增加了原型验证的难度,重新选用多个其他可用的原型验证板重新对该芯片设计进行原型验证又会大大降低原型验证的效率。



技术实现要素:

有鉴于此,本公开提出了一种对多个原型验证板同步复位的方法、验证系统及存储介质。

本公开的第一方面,提供了一种对多个原型验证板同步复位的方法,其中,所述多个原型验证板包括第一验证板、与所述第一验证板连接的第二验证板和与所述第二验证板连接的第三验证板,所述方法包括:根据第一验证板的编号、第二验证板的编号和第三验证板的编号分别确定所述第一验证板与所述第三验证板之间的第一延迟值以及所述第二验证板与所述第三验证板之间的第二延迟值;将所述第一延迟值和所述第二延迟值分别发送到所述第一验证板和所述第二验证板;以及向所述第一验证板发送复位指令,其中,响应于接收所述复位指令,所述第一验证板在所述第一延迟值之后执行复位操作,并且所述复位指令使得所述第一验证板将所述复位指令转发到所述第二验证板,所述响应于接收所述复位指令,所述第二验证板在所述第二延迟值之后执行所述复位操作,并且所述复位指令使得所述第二验证板将所述复位指令转发到所述第三验证板。

本公开的第二方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储电子装置的一组指令,该组指令用于使所述电子装置执行第一方面所述的方法。

本公开的第三方面,提供了一种验证系统,包括多个原型验证板以及与所述多个原型验证板连接的主机,所述主机包括存储一组指令的存储器以及用于执行该组指令的处理器以使得所述主机执行第一方面所述的方法。

本公开实施例提供的对多个原型验证板同步复位的方法、验证系统及存储介质,根据第一验证板的编号、第二验证板的编号和第三验证板的编号分别确定第一验证板与第三验证板之间的第一延迟值以及第二验证板与第三验证板之间的第二延迟值;将得到的第一延迟值和第二延迟值分别发送到第一验证板和第二验证板;由主机向第一验证板发送复位指令,当第一验证板接收到复位指令后,第一验证板在经过第一延迟值之后才会执行复位操作,并且复位指令使得第一验证板将复位指令继续转发到第二验证板;在第二验证板接收到复位指令后,第二验证板在经过第二延迟值之后才会执行复位操作,并且复位指令使得第二验证板将复位指令转发到第三验证板;在第三验证板接收到复位指令后,恰好第一验证板经过了第一延迟值,第二验证板经过了第二延迟值,从而使得第一验证板、第二验证板和第三验证板同时执行复位操作,实现多个原型验证板的同步复位。这样,当对同一芯片设计进行操作的多个原型验证板出现执行步骤不统一时,根据由主机分配的不同延迟值以及发送的复位指令完成对多个原型验证板的同步复位,使得原型验证的操作难度降低的同时,提高了原型验证的效率。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本公开实施例的一种示例性验证系统的结构示意图。

图2a示出了根据本公开实施例的示例性多个原型验证板的连接方式的示意图。

图2b示出了根据本公开实施例的示例性延迟值的确定的示意图。

图3示出了本公开实施例所提供的一种对多个原型验证板同步复位的示例性方法的流程示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。

如背景技术部分所述,相关技术中往往通过云技术远程控制多个圆形验证本对同一芯片设计进行原型验证的操作。但当对同一芯片设计进行原型验证时,会出现多个原型验证板的执行步骤不统一的情况。例如,对同一芯片设计进行原型验证的多个原型验证板中的一个验证板执行到第二步,但另一个验证板执行到第三步,则二者的执行步骤不统一。此时,就会造成对芯片设计的原型验证出现故障,从而增加了原型验证的难度,如果重新选用多个其他可用的原型验证板重新对该芯片设计进行原型验证,便会大大降低原型验证的效率。

有鉴于此,本公开实施例提供了一种对多个原型验证板同步复位的方法,其中,所述多个原型验证板包括第一验证板、与所述第一验证板连接的第二验证板和与所述第二验证板连接的第三验证板,所述方法包括:根据第一验证板的编号、第二验证板的编号和第三验证板的编号分别确定所述第一验证板与所述第三验证板之间的第一延迟值以及所述第二验证板与所述第三验证板之间的第二延迟值;将所述第一延迟值和所述第二延迟值分别发送到所述第一验证板和所述第二验证板;以及向所述第一验证板发送复位指令,其中,响应于接收所述复位指令,所述第一验证板在所述第一延迟值之后执行复位操作,并且所述复位指令使得所述第一验证板将所述复位指令转发到所述第二验证板,所述响应于接收所述复位指令,所述第二验证板在所述第二延迟值之后执行所述复位操作,并且所述复位指令使得所述第二验证板将所述复位指令转发到所述第三验证板。

本公开实施例提供的对多个原型验证板同步复位的方法,根据第一验证板的编号、第二验证板的编号和第三验证板的编号分别确定第一验证板与第三验证板之间的第一延迟值以及第二验证板与第三验证板之间的第二延迟值;将得到的第一延迟值和第二延迟值分别发送到第一验证板和第二验证板;由主机向第一验证板发送复位指令,当第一验证板接收到复位指令后,第一验证板在经过第一延迟值之后才会执行复位操作,并且复位指令使得第一验证板将复位指令继续转发到第二验证板;在第二验证板接收到复位指令后,第二验证板在经过第二延迟值之后才会执行复位操作,并且复位指令使得第二验证板将复位指令转发到第三验证板;在第三验证板接收到复位指令后,恰好第一验证板经过了第一延迟值,第二验证板经过了第二延迟值,从而使得第一验证板、第二验证板和第三验证板同时执行复位操作,实现多个原型验证板的同步复位。这样,当对同一芯片设计进行操作的多个原型验证板出现执行步骤不统一时,根据由主机分配的不同延迟值以及发送的复位指令完成对多个原型验证板的同步复位,使得原型验证的操作难度降低的同时,提高了原型验证的效率。

如图1所示,验证系统100可以包括主机102和多个原型验证板112-118。

主机102可以是一个具有处理器和存储器的计算装置(例如,台式计算机、笔记本计算机等)。主机102可以发送指令(例如,原型验证指令、复位指令等)至多个原型验证板112-118,由多个原型验证板112-118根据接收到的指令执行相应的操作。例如,主机102向多个原型验证板112-118发送原型验证执行指令,在多个原型验证板112-118接收到原型验证执行指令后,多个原型验证板112-118可以执行通过在现场可编程逻辑门阵列(fieldprogrammablegatearray,fpga)上搭建片上系统(systemonchip,soc)和专用集成电路(applicationspecificintegratedcircuit,asic)设计原型的方法,可以方便地进行硬件验证和早期软件开发,加快asic等设计的开发,缩短研发周期,降低asic应用系统的开发成本,提高了流片的成功率。

主机102可以与多个原型验证板112-118连接,多个原型验证板112-118之间可以通过串行总线进行串行连接。其中,多个原型验证板112-118包括验证板112、与验证板112连接的验证板114和与验证板114连接的验证板116。可以理解的是,在实际的验证系统中,由于多个原型验证板112-118分别仿真芯片设计的多个模块,而芯片设计的多个模块之间存在大量的数据通信,因此,多个原型验证板112-118之间还可以存在并行总线的连接,用来进行彼此之间的数据通信。

由于对同一芯片设计进行原型验证时,会出现多个原型验证板的执行步骤不统一的情况,因此可以通过主机102向需要进行复位操作的多个原型验证板发送复位指令。但是复位指令在各个原型验证板之间转发是存在延迟的,因为复位指令是通过串联总线依次转发至各个需要复位的原型验证板的。其中,原型验证板之间的延迟包括传输线路(例如,串联总线)上的延迟、原型验证板接口上的延迟以及原型验证板走线上的延迟。

多个原型验证板112-118分别具有编号,用于指示其在原型验证板的连接方式中的位置。

如图2a所示,在多个原型验证板的连接方式210中,多个原型验证板112-116可以通过串行总线进行串行连接。其中,主机102连接到初始验证板112,初始验证板112的下级是验证板114,验证板114的下级是验证板116。验证板112的编号是“000”,用于指示其是初始验证板且与主机102直接连接。验证板114的编号是“001”,用于指示其是这个连接方式210中的第二级验证板。类似地,验证板116的编号是“002”,用于指示其是这个连接方式210中的第三级验证板。

如图2a所示,在连接方式210中,验证板116是最后一个接收到复位指令208的,也相应地相对于验证板112具有最大的延迟。为了使得验证板116与验证板112能够同步复位,可以使得验证板112延迟执行复位指令。类似地,验证板114也可以延迟一定的时间来执行复位指令,从而与验证板116进行同步。

因此,验证板112-116需要知晓自身延迟执行复位指令的延迟值。

在一些实施例中,主机102可以根据验证板112的编号、验证板114的编号和验证板116的编号分别确定验证板112与验证板116之间的延迟值206以及验证板114与验证板116之间的延迟值204。其中,延迟值206为验证板112与验证板114之间的延迟值202以及延迟值204之和。

在一些实施例中,多个原型验证板112-116中,相邻编号的每两个原型验证板之间的基础延迟值相等。因此,主机102可以通过确定验证板112的编号和验证板116的编号之间的差值,再根据该差值以及基础延迟值来确定延迟值206。类似地,主机102可以通过确定验证板114的编号和验证板116的编号之间的差值,再根据该差值以及基础延迟值来确定延迟值204。例如,相邻编号的每两个原型验证板之间的基础延迟值可以是2个时钟周期,那么验证板112的编号与验证板116的编号之间的差值为“2”,则二者之间的延迟值206为2个基础延迟,即,4个时钟周期。类似地,验证板114的编号与验证板116的编号之间的差值为“1”,则二者之间的延迟值204为1个基础延迟,即,2个时钟周期。

如图2b所示,延迟值的确定方式220中,在确定延迟值206和延迟值204时,主机102还可以利用主机102与多个原型验证板之间的信息交互来完成。主机102可以向验证板112、验证板114和验证板116分别发送延迟确定指令212,并从验证板112、验证板114和验证板116分别接收与延迟确定指令212对应的延迟信息。该延迟信息可以包括验证板112、验证板114和验证板116相对于主机102的延迟值214、216和218。每个验证板相对于主机102的延迟可以通过延迟确定指令212中的时间戳以及从该验证板返回到主机102的延迟信息中的时间戳来确定。

主机102可以根据延迟值214、216和218进一步确定延迟值206和延迟值204。例如,延迟值206是延迟值218和延迟值214的差值,而延迟值204是延迟值218和延迟值216的差值。

在一些实施例中,验证板112-116分别包括设置在其上的可编程逻辑器件(例如,fpga)。验证板112、验证板114和验证板116接收到的复位指令208可以用于复位各自的可编程逻辑器件。

如上所述,验证板112可以在接收到复位指令208后延迟延迟值206后执行复位,验证板114可以在接收到复位指令208后延迟延迟值204后执行复位,验证板116可以在接收到复位指令208后立即执行复位,从而使得验证板112-116可以同时复位。

因此,主机102可以向验证板112发送复位指令208。在验证板112接收到复位指令208后,验证板112在经过延迟值206之后执行复位操作,并且复位指令208还可以使得验证板112将复位指令208转发至验证板114。在验证板114接收到复位指令208后,验证板114在经过延迟值204之后执行复位操作,并且复位指令208还可以使得验证板114将复位指令208转发至验证板116。在验证板116接收到复位指令208后,即刻执行复位操作。与此同时,验证板112恰好经过了延迟值206,验证板114恰好经过了延迟值204,验证板112、验证板114和验证板116同时执行复位操作,从而实现多个原型验证板的同步复位。

如图3所示,本公开实施例还提供了一种对多个原型验证板同步复位的示例性方法300。该方法300可以由例如主机102执行。

本公开实施例提供的用于由主机(例如,主机102)对多个原型验证板(例如,图1中的验证板112-118)同步复位的方法300。其中,所述多个原型验证板包括第一验证板(例如,图2a中的验证板112)、与所述第一验证板连接的第二验证板(例如,图2a中的验证板114)和与所述第二验证板连接的第三验证板(例如,图2a中的验证板116)。所述方法300可以包括以下步骤。

在步骤302,主机102可以根据第一验证板的编号(例如,图2a中的“000”)、第二验证板的编号(例如,图2a中的“001”)和第三验证板的编号(例如,图2a中的“003”)分别确定所述第一验证板与所述第三验证板之间的第一延迟值(例如,图2a中的延迟值206)以及所述第二验证板与所述第三验证板之间的第二延迟值(例如,图2a中的延迟值204)。

在一些实施例中,如上所述,在所述多个验证板中,相邻编号的每两个原型验证板之间的基础延迟值相等。在一些实施例中,为了根据第一验证板的编号、第二验证板的编号和第三验证板的编号分别确定所述第一验证板与所述第三验证板之间的第一延迟以及所述第二验证板与所述第三验证板之间的第二延迟值,主机102可以:确定所述第一验证板的编号和所述第三验证板的编号之间的差值;根据所述差值以及所述基础延迟值来确定所述第一延迟值;以及确定所述第二验证板的编号和所述第三验证板的编号之间的差值;根据所述差值以及所述基础延迟值来确定所述第二延迟值。

在一些实施例中,主机102可以根据主机102与多个原型验证板之间的交互确定第一延迟值和第二延迟值。在一些实施例中,为了根据第一验证板的编号、第二验证板的编号和第三验证板的编号分别确定所述第一验证板与所述第三验证板之间的第一延迟以及所述第二验证板与所述第三验证板之间的第二延迟值,主机102可以:向所述第一验证板、所述第二验证板和所述第三验证板分别发送延迟确定指令(例如,图2b中的延迟确定指令212);从所述第一验证板、所述第二验证板和所述第三验证板接收与所述延迟确定指令对应的延迟信息(例如,图2b中的延迟值214、延迟值216或延迟值218);以及根据所述延迟信息确定所述第一延迟值和所述第二延迟值。

在步骤304,主机102可以将所述第一延迟值和所述第二延迟值分别发送到所述第一验证板和所述第二验证板。

在步骤306,主机102可以向所述第一验证板发送复位指令(例如,图2a中的复位指令208)。在一些实施例中,响应于接收所述复位指令,所述第一验证板在所述第一延迟值之后执行复位操作,并且所述复位指令使得所述第一验证板将所述复位指令转发到所述第二验证板。响应于接收所述复位指令,所述第二验证板在所述第二延迟值之后执行所述复位操作,并且所述复位指令使得所述第二验证板将所述复位指令转发到所述第三验证板。

在一些实施例中,所述第一验证板包括第一可编程逻辑器件,所述第二验证板包括第二可编程逻辑器件,所述第三验证板包括第三可编程逻辑器件,所述复位指令用于复位所述第一、第二、第三可编程逻辑器件。

本公开实施例提供的对多个原型验证板同步复位的方法,根据第一验证板的编号、第二验证板的编号和第三验证板的编号分别确定第一验证板与第三验证板之间的第一延迟值以及第二验证板与第三验证板之间的第二延迟值;将得到的第一延迟值和第二延迟值分别发送到第一验证板和第二验证板;由主机向第一验证板发送复位指令,当第一验证板接收到复位指令后,第一验证板在经过第一延迟值之后才会执行复位操作,并且复位指令使得第一验证板将复位指令继续转发到第二验证板;在第二验证板接收到复位指令后,第二验证板在经过第二延迟值之后才会执行复位操作,并且复位指令使得第二验证板将复位指令转发到第三验证板;在第三验证板接收到复位指令后,恰好第一验证板经过了第一延迟值,第二验证板经过了第二延迟值,从而使得第一验证板、第二验证板和第三验证板同时执行复位操作,实现多个原型验证板的同步复位。这样,当对同一芯片设计进行操作的多个原型验证板出现执行步骤不统一时,根据由主机分配的不同延迟值以及发送的复位指令完成对多个原型验证板的同步复位,使得原型验证的操作难度降低的同时,提高了原型验证的效率。

需要说明的是,本公开的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

本公开实施例还提供存储了指令的计算机可读存储介质。该指令在被电子设备执行时用于进行上述方法。该计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

上述对本公开特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本公开难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。

本公开旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

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