GPU架构中顶层互联验证方法、装置、设备及存储介质与流程

文档序号:33001575发布日期:2023-01-18 01:23阅读:39来源:国知局
GPU架构中顶层互联验证方法、装置、设备及存储介质与流程
gpu架构中顶层互联验证方法、装置、设备及存储介质
技术领域
1.本技术涉及计算机技术领域,具体地,涉及一种gpu架构中顶层互联验证方法、装置、设备及存储介质。


背景技术:

2.gpu芯片本身是一种大规模芯片,顶层互联较为复杂。目前随着芯片规模的成倍增长,芯片顶层的连接变得更加复杂,用来连接各模块的接口信号数量也在成倍增加,从而使芯片顶层连接正确性的验证变的更加困难。
3.目前现有技术是通过人为查找出输入信号与输出信号的对应关系,再由各个模块负责人进行人为检查对应关系,确保顶层连线正确。
4.而现有技术的缺点在于,通过人为检查,存在人为疏忽而导致错误的风险,耗时较长,效率低,并且当顶层连接发生改动时,不能快速的进行回归验证。


技术实现要素:

5.为了解决上述技术缺陷之一,本技术实施例中提供了一种gpu架构中顶层互联验证方法、装置、设备及存储介质。
6.根据本技术实施例的第一个方面,提供了一种gpu架构中顶层互联验证方法,该方法包括:
7.分层次读取顶层中所有模块的源信号及位宽,将源信号及位宽保存到源文件;
8.读取源文件中的源信号,寻找源信号对应的目标信号并将源信号及目标信号保存到匹配文件;
9.读取匹配文件中的源信号,根据源信号检查目标信号,获得检查结果;
10.通过shell脚本及assert语句验证检查结果。
11.在本技术一个可选的实施例中,该方法中读取源文件中的源信号,寻找源信号对应的目标信号并将源信号及目标信号保存到匹配文件的步骤进一步包括:
12.若未找到源信号对应的目标信号,则将源信号过滤到补充库文件。
13.在本技术一个可选的实施例中,该方法中读取源文件中的源信号,寻找源信号对应的目标信号并将源信号及目标信号保存到匹配文件的步骤进一步包括:
14.源文件中的源信号匹配完成后,人为查找库文件中过滤后的目标信号。
15.在本技术一个可选的实施例中,该方法中读取匹配文件中的源信号,根据源信号检查目标信号,获得检查结果的步骤进一步包括:
16.循环读取匹配文件中的源信号,根据源信号检查目标信号,获得检查结果,其中循环次数为位宽宽度。
17.在本技术一个可选的实施例中,该方法中读取匹配文件中的源信号,根据源信号检查目标信号,获得检查结果的步骤进一步包括:
18.若检查结果为源信号与对应目标信号数值相等且其他信号数值与目标信号数值
不相等,则等待源信号与目标信号检查完成。
19.在本技术一个可选的实施例中,该方法中读取匹配文件中的源信号,根据源信号检查目标信号,获得检查结果的步骤进一步包括:
20.若检查结果不为源信号数值与对应目标信号数值相等且其他信号数值与目标信号数值不相等,则重新读取匹配文件中的源信号,根据源信号检查目标信号。
21.在本技术一个可选的实施例中,该方法中通过shell脚本及assert语句验证检查结果的步骤进一步包括:
22.验证完成后,查看assert语句打印出来的信息,若提示连接错误信息,根据提示人为解决问题。
23.根据本技术实施例的第二个方面,提供了一种gpu架构中顶层互联验证装置,该装置包括读取模块、寻找模块,检查模块和验证模块:
24.读取模块,用于分层次读取顶层中所有模块的源信号及位宽,将源信号及位宽保存到源文件;
25.寻找模块,用于读取源文件中的源信号,寻找源信号对应的目标信号并将源信号及目标信号保存到匹配文件;
26.检查模块,用于读取匹配文件中的源信号,根据源信号检查目标信号,获得检查结果;
27.验证模块,用于通过shell脚本及assert语句验证检查结果。
28.根据本技术实施例的第三个方面,提供了一种计算机设备,包括:存储器;处理器;以及计算机程序;其中,计算机程序存储在存储器中,并被配置为由处理器执行以实现如本技术实施例的第一个方面任一项方法的步骤。
29.根据本技术实施例的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现如本技术实施例的第一个方面任一项方法的步骤。
30.在现有技术中,顶层互联的线网检查,需要人为的去提取顶层接口信号和信号连接的关系,提取完成后,在由各个模块负责人进行检查,判断顶层互联是否存在错误,需要参与的人员较多,效率较低且存在人为检查失误的风险。当顶层发生改动时,又需要重新提取接口信号,重新检查,前面完成的工作无法重复使用。采用本技术实施例中提供的gpu架构中顶层互联验证方法,第一次完成顶层接口信号的提取与验证,使用时间比原来的方法使用时间至少节省6倍,且后续回归验证的时间与原来相比可节省至少20倍。使用该方法后,对顶层互联的验证不需要依赖模块负责人进行信号检查,通过运行脚本即可。本技术对人员的依赖度低且减少了人为失误造成的风险。
附图说明
31.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
32.图1为本技术实施例提供的gpu架构中顶层互联验证方法的流程图;
33.图2为本技术实施例提供的gpu架构中顶层互联验证方法其中一实施例的流程图;
34.图3为本技术实施例提供的gpu架构中顶层互联验证装置的结构图;
35.图4为本技术一个实施例提供的计算机设备结构示意图。
具体实施方式
36.为了使本技术实施例中的技术方案及优点更加清楚明白,以下结合附图对本技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本技术的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
37.本技术发明人发现,顶层互联的线网检查,需要人为的去提取顶层接口信号和信号连接的关系,提取完成后,在由各个模块负责人进行检查,顶层互联是否存在错误。需要参与的人员较多,效率较低且存在人为检查失误的风险。当顶层发生改动时,又需要重新提取接口信号,重新检查,前面做的工作无法重复使用。
38.本技术实现了一种gpu架构中顶层互联验证方法,根据顶层接口的命名规则与信号连接规则,制定了一种接口信号的提取方法,并将不符合规则的信号过滤出来进行人为检查。在获取全部顶层连接信号后,通过逐位force源信号,判断目标信号的结果是否正确。使用shell脚本语言来实现顶层互联的验证,通过该方法可极大提高顶层互联的验证效率,减少人为检查的风险并当顶层连接发生改动时,可快速完成一次回归验证。
39.请参见图1,本技术的gpu架构中顶层互联验证方法包括:
40.s1:分层次读取顶层中所有模块的源信号及位宽,将源信号及所述位宽保存到源文件。
41.s2:读取源文件中的源信号,寻找源信号对应的目标信号并将源信号及所述目标信号保存到匹配文件。在具体实施中,本技术实施例可通过逐行读取源文件中源信号的方式进行
42.在具体实施中,若未找到源信号对应的目标信号,则将源信号过滤到补充库文件,源文件中的源信号匹配完成后,人为查找库文件中过滤后的目标信号,并最终将匹配的源信号与目标信号以及位宽加到前面保存的匹配文件中。
43.在具体实施中,执行上述步骤的过程中提取接口信号时,可使用任意一种能够达到上述目的的面向对象编程语言实现,优选的,可通过python实现。
44.基于此,本技术实施例的方法首先将不符合规则的信号过滤出来进行人为检查。
45.s3:读取匹配文件中的源信号,根据源信号检查目标信号,获得检查结果。
46.在具体实施中,循环读取匹配文件中的源信号,根据源信号检查目标信号,获得检查结果,其中循环次数为位宽宽度:
47.若检查结果为源信号与对应目标信号数值相等且其他信号数值与目标信号数值不相等,则等待源信号与目标信号检查完成;
48.若检查结果不为源信号数值与对应目标信号数值相等且其他信号数值与目标信号数值不相等,则重新读取匹配文件中的源信号,根据源信号检查目标信号。
49.在本技术的其中一些实施例中,执行上述步骤时,可首先将源信号force为0,再通过如步骤s2中逐行读取的方式进行源信号与位宽的读取,使用循环的方式设置一个初始值,通过依次左移一个预设值的方式将值force给源信号。
50.在具体实施中,在每次force源信号后,内嵌一个循环用来检查目标信号结果,与
源信号对应的目标信号的数值应与源信号相等,其他目标信号数值应都为0,循环次数为目标信号的个数。
51.基于此,本技术实施例所提供的方法在获取全部顶层连接信号后,通过逐位force源信号,判断目标信号的结果是否正确。
52.s4:通过shell脚本及assert语句验证检查结果。
53.在具体实施中,验证完成后,查看assert语句打印出来的信息,若提示连接错误信息,根据提示人为解决问题。
54.在本技术实施例中,使用shell脚本进行验证为优选方案,在本技术的其他一些实施例中,通过php、python等语言也可达到本技术的目的,但是本技术实施例从掌握难度、开发效率、开发习惯等因素出发,发现使用shell更符合简单、易用、高效的三大基本原则。
55.基于此,本技术实施例所提供的方法使用shell脚本语言来实现顶层互联的验证,通过该方法可极大提高顶层互联的验证效率,减少人为检查的风险并当顶层连接发生改动时,可快速完成一次回归验证。进一步的,本技术实施例还可通过其他任意一种能够实现前述步骤目的的脚本方式进行验证。
56.在本技术的另一些实施例中,还可通过python、php的方式实现前述shell脚本所实现的功能。
57.综上所述,使用本技术实施例所提供的gpu架构中顶层互联验证方法进行提取信号与验证,第一次完成顶层接口信号提取与验证后使用的时间比现有技术中的方法所花费的时间节省了6倍,且后续回归验证的时间与现有技术中的方法相比所花费的时间可节省20倍。使用本技术实施例所提供的gpu架构中顶层互联验证方法后,对顶层互联的验证不需要依赖模块负责人来进行检查信号,运行脚本即可,对人员的依赖度降低且减少人为造成的风险。
58.图2为本技术实施例提供的gpu架构中顶层互联验证方法其中一实施例的流程图,请参见图2,本技术通过一详细示例对该方法进行进一步说明:
59.根据gpu架构,顶层互联的层次关系,分层次读取顶层所有模块的接口信号与位宽,其中顶层所有模块的接口信号作为源信号,将源信号与位宽保存在源文件。
60.逐行读取保存在源文件中的源信号,根据顶层各模块的连接关系,找到源信号对应的目标信号与位宽,并保存在匹配文件中,对于未找到对应目标信号的源信号,过滤到补充库文件中。所有源文件信号都匹配一轮后,人为查找库文件中过滤出的信号对应的目标信号。将匹配的源信号与目标信号以及位宽加到保存的匹配文件中。其中,提取接口信号的方法使用python语言实现。
61.读取匹配文件中的源信号,先将源信号都force为0,再逐行读取源信号与位宽,使用循环的方式,设置初始值为1,依次将上一个值左移一位,将值force给源信号,循环次数为位宽宽度。在每次force源信号后,内嵌一个循环用来检查目标信号结果,与源信号对应的目标信号的数值应与源信号相等,其他目标信号数值应都为0,循环次数为目标信号的个数。
62.验证方法使用shell脚本实现,结果的判断使用assert语句。等待验证完成,查看assert语句打印出来的信息,若有连接错误的信息,限时模块显示问题,根据问题提示人为解决。
63.应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
64.请参见图3,本技术一个实施例提供了gpu架构中顶层互联验证装置,包括读取模块10、寻找模块20,检查模块30和验证模块40:
65.读取模块10,用于分层次读取顶层中所有模块的源信号及位宽,将源信号及位宽保存到源文件;
66.寻找模块20,用于读取源文件中的源信号,寻找源信号对应的目标信号并将源信号及目标信号保存到匹配文件;
67.检查模块30,用于读取匹配文件中的源信号,根据源信号检查目标信号,获得检查结果;
68.验证模块40,用于通过shell脚本及assert语句验证检查结果。
69.关于上述gpu架构中顶层互联验证装置的具体限定可以参见上文中对于gpu架构中顶层互联验证方法的限定,在此不再赘述。上述gpu架构中顶层互联验证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
70.在一个实施例中,提供了一种计算机设备,该计算机设备的内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现如上的一种gpu架构中顶层互联验证方法。包括:存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如上视频信号处理方法中的任一步骤。
71.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可以实现如上gpu架构中顶层互联验证方法中的任一步骤。
72.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术实施例中的方案可以采用各种计算机语言实现,例如,c语言、vhdl语言、verilog语言、面向对象的程序设计语言java和直译式脚本语言javascript等。
73.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
74.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
75.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
76.在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
77.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
78.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
79.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1