芯片测试中不同网络域之间的配置同步系统及应用的制作方法

文档序号:21779415发布日期:2020-08-07 19:55阅读:188来源:国知局
芯片测试中不同网络域之间的配置同步系统及应用的制作方法

本发明涉及芯片开发技术领域,尤其涉及一种芯片测试中不同网络域之间的配置同步系统及应用。



背景技术:

进行芯片设计的过程中,芯片设计工程师(包括ic前端设计工程师和ic后端设计工程师)可能需要将测试案例的仿真配置文件上传至指定路径,以便软件设计工程师下载、转换以进行其它软件仿真。以芯片设计中的uvm(universalverificationmethodology,通用验证方法学)验证为例,其测试案例是基于systemverilog语言,c代码软件设计工程师如果要运行相同的测试案例,需要将对应的仿真用的配置文件转换成c代码(基于c语言的程序)(以便对应的c代码软件能够运行上述测试案例。现有的技术方案中,在进行芯片测试的时候,为了保证原仿真测试案例和c代码软件能够用同一套配置去初启(bringup)芯片,需要芯片验证工程师将原仿真测试案例的配置文件提供给软件设计工程师。而由于某些原因(比如有些公司考虑到技术保密),芯片验证工程师和软件设计工程师之间的办公通信网络往往是不连通的,二者处于不同的网络域中,在这样的环境下,处于不同网络域中的芯片验证工程师和软件设计工程师如果想要启用来自对方网络域中的资源可能是困难的。例如,来自不同网络域的数据可能具有不同模式的安全机制,使得跨域数据的访问和数据整合困难,这就导致了芯片设计工程师和软件涉及工程师均不能看到对方的代码文件。目前常用的办法是:由芯片验证工程师将仿真用的配置文件上传到ftp(filetransferprotocol),然后c代码软件设计工程师从ftp中下载上述配置文件,并将其转换成c代码文件导入到c代码软件中运行。

上述现有技术存在如下缺陷:人工操作增加了错误出现的风险——比如芯片验证工程师可能漏传配置文件,或者软件设计工程师在将配置文件转换成目标软件代码的过程中出现错误,如果出现错误,往往需要芯片验证工程师和软件设计工程师一起核对配置文件,造成了人力成本和时间成本的浪费。



技术实现要素:

本发明的目的在于:克服现有技术的不足,提供了一种芯片测试中不同网络域之间的配置同步系统及应用。本发明在两个不同的网络域中间通过中间域进行域间同步,通过中间域将符合预设格式要求的配置文件转换成c代码文件并传输至到目标网络域,目标网络域还能够在文件导入前检测输入的c代码文件是否正确以判断配置转换的正确性,提高了进行芯片测试时不同网络域之间配置转换的准确性和可靠性。

为实现上述目标,本发明提供了如下技术方案:

一种芯片测试中不同网络域之间的配置同步系统,包括:

供芯片设计工程师访问的芯片研发网络域,所述芯片研发网络域中设置有文件接收模块和文件输出检测装置,所述文件接收模块用于接收芯片设计工程师提供的配置文件,所述文件输出检测装置用于检测前述配置文件的格式是否符合预设格式要求,并将符合预设格式要求的配置文件输出:

供软件设计工程师访问的软件研发网络域,所述软件研发网络域中设置有文件输入检测装置和文件导入模块,所述文件输入检测装置用于检测输入的c代码文件的是否正确,并将正确的c代码文件传输到文件导入模块以供软件设计工程师使用:

连接所述芯片研发网络域和所述软件研发网络域的中间域,所述中间域中设置有域间同步装置,所述域间同步装置用于对芯片研发网络域输出的配置文件进行转换生成c代码文件,并传输至软件研发网络域中。

进一步,所述配置文件的预设格式要求被配置为,包括至少4项内容,为寄存器地址、寄存器值、寄存器的操作位和寄存器的读/写属性。

进一步,4项内容在配置文件中以列表形式存储,配置文件至少包括4列以分别存储寄存器的寄存器地址、寄存器值、寄存器的操作位和寄存器的读/写属性的信息,配置文件的一行对应于一个寄存器的信息。

优选的,配置文件包括5列,其中,第1列表示任务项编号,第2列表示寄存器地址,第3列表示寄存器值,第4列表示寄存器的操作位,第5列表示寄存器的读/写属性:配置文件的第1行为标题行以显示各列的主题或名称,标题行以下的不同行对应于不同寄存器的信息。

进一步,所述软件研发网络域的文件输入检测装置能够将检测结果反馈给所述域间同步装置:

在检测结果正确时,所述域间同步装置向关联的用户通讯系统发送配置转换完成的消息,在检测结果不正确时,所述域间同步装置获取报告文件并发送至前述用户通讯系统,所述报告文件用于记录c代码文件中的错误信息。

优选的,所述用户通讯系统为电子邮件系统、即时通信系统或者短信通信系统。

优选的,所述域间同步装置被配置为,

根据配置文件的预设格式设置c代码文件的数据格式,使c代码文件的行信息与配置文件的行信息对应,以及将c代码的执行函数配置为action(intregaddr(intregvalue(intregbitnum(boolregaction):

通过报告文件以列表形式记录c代码文件中的出错行信息。

本发明还提供了一种芯片测试中不同网络域之间的配置同步方法,包括步骤:

获取用户在芯片研发网络域中输入的配置文件,通过文件输出检测装置判断前述配置文件的格式是否符合预设格式要求;

判定符合预设格式要求时,将前述配置文件传送至中间域,通过中间域中的域间同步装置对前述配置文件进行转换以生成c代码文件;

将前述c代码文件传送至软件研发网络域中,通过文件输入检测装置检测前述c代码文件是否正确;

在检测正确时,将c代码文件传输到文件导入模块以供软件设计工程师使用。

进一步,所述配置文件的预设格式包括至少4项内容,为寄存器地址、寄存器值、寄存器的操作位和寄存器的读/写属性,4项内容在配置文件中以列表形式存储,配置文件的一行对应于一个寄存器的信息;

所述文件输入检测装置能够将检测结果反馈给所述域间同步装置,在检测正确时,所述域间同步装置向关联的用户通讯系统发送配置转换完成的消息,在检测不正确时,所述域间同步装置获取报告文件并发送至前述用户通讯系统,所述报告文件用于记录c代码文件中的错误信息。

本发明还提供了一种芯片测试中不同网络域之间的配置同步装置,包括:

配置文件检测电路,其设置在芯片研发网络域中,包括文件接收模块和文件输出检测装置,所述文件接收模块用于接收配置文件,所述文件输出检测装置用于检测前述配置文件的格式是否符合预设格式要求,并将符合预设格式要求的配置文件输出;

域间同步电路,其设置在中间域中,连接前述文件输出检测装置,用于对前述配置文件进行转换生成c代码文件,并传输至软件研发网络域中;

c代码文件导入电路,其设置在软件研发网络域中,包括文件输入检测装置和文件导入模块,所述文件输入检测装置用于检测输入的c代码文件的是否正确,并将正确的c代码文件传输到文件导入模块以供软件设计工程师使用。

本发明由于采用以上技术方案,与现有技术相比,作为举例,具有以下的优点和积极效果:在两个不同的网络域中间通过中间域进行域间同步,通过中间域将符合预设格式要求的配置文件转换成c代码文件并传输至到目标网络域,目标网络域还能够在文件导入前检测输入的c代码文件是否正确以判断配置转换的正确性,提高了进行芯片测试时不同网络域之间配置转换的准确性和可靠性。进一步,还可以将c代码文件中的错误信息以报告文件传输至用户的通信账户中,便于不同网络域之间的用户进行核对。

附图说明

图1为本发明实施例提供的不同网络域之间的配置同步方法的流程图。

图2为本发明实施例提供的不同网络域之间的配置同步系统的结构示意图。

图3为本发明实施例提供的配置文件的预设数据格式示例图。

图4为本发明实施例提供的c代码文件的数据格式示例图。

图5为本发明实施例提供的报告文件的数据格式示例图。

图6为本发明实施例提供的配置同步装置的结构示意图。

具体实施方式

以下结合附图和具体实施例对本发明公开的芯片测试中不同网络域之间的配置同步系统及应用作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

实施例

参见图1所示,为本发明提供的芯片测试中不同网络域之间的配置同步方法,包括如下步骤:

s100,获取用户在芯片研发网络域中输入的配置文件,通过文件输出检测装置判断前述配置文件的格式是否符合预设格式要求。

所述的域的范围,可以根据需要进行调整,其既可以是单个系统——比如一个部门的所有系统,或者多个系统——比如一个组织机构的所有系统。

所述芯片研发网络域是供芯片设计工程师访问的网络域,芯片研发网络域可以向芯片设计工程师提供各种与芯片设计相关的各类资源——比如主机、文件、数据库、传感器、服务等,芯片研发网络域作为一个私网域,能够独立控制域内的资源以及资源访问规则。作为典型方式的举例,比如非芯片设计工程师的员工没有访问该芯片研发网络域中资源的权限。

本实施例中,所述芯片研发网络域中可以设置有uvm仿真环境平台用于实现uvm仿真,非芯片研发网络域中的软件设计工程师如果要运行uvm的测试案例,需要芯片研发网络域中的芯片设计工程师配合操作。具体的,根据资源请求指令,芯片设计工程师可以将对应的仿真用的测试案例的配置文件输入到芯片研发网络域中的文件接收模块。作为举例而非限制,比如芯片设计工程师将配置文件放在预设的指定路径中——比如某个文件夹中,所述文件接收模块能够根据指令从前述指定路径中获取配置文件。

所述资源请求指令,可以是总服务器根据软件设计工程师触发的资源请求信号,向芯片研发网络域中的芯片设计工程师发出的。所述资源请求中可以包括请求方的标识信息、请求的资源内容和请求方接收数据的格式要求等。所述请求方的标识信息可以包括:请求方的身份信息、通信账号信息、所属网络域信息、部门信息、职位信息中的一种或多种。

文件接收模块获取配置文件后,将配置文件传输到文件输出检测装置中进行检测,判断前述配置文件的格式是否符合预设格式要求。

所述文件输出检测装置,能够对配置文件的数据格式进行识别分析,判断是否与预设格式要求一致。如果一致,则判定配置文件符合预设格式要求。如果不一致,则判定配置文件不符合预设格式要求,可以向输入该配置文件的芯片设计工程师反馈检测信息,以提醒该芯片设计工程师进行修正。

s200,判定符合预设格式要求时,将前述配置文件传送至中间域,通过中间域中的域间同步装置对前述配置文件进行转换以生成c代码文件。

配置文件的数据格式符合预设格式要求时,文件数据检测装置将该配置文件传送至中间域的域间同步装置中。所述域间同步装置用于对芯片研发网络域输出的配置文件进行转换生成c代码文件,并将生成的c代码文件传输至软件研发网络域中。

s300,将前述c代码文件传送至软件研发网络域中,通过文件输入检测装置检测前述c代码文件是否正确。

所述软件研发网络域是供软件设计工程师访问的网络域,软件研发网络域可以向软件设计工程师提供各种与软件设计相关的各类资源——比如主机、文件、数据库、传感器、服务等,软件研发网络域作为一个私网域,也能够独立控制域内的资源以及资源访问规则。作为典型方式的举例,比如非软件设计工程师的员工没有访问该软件研发网络域中资源的权限。

所述软件研发网络域中设置有文件输入检测装置,通过文件输入检测装置检测前述输入的c代码文件的是否正确。具体检测时,可以获取c代码文件的数据格式与预设格式要求进行比对,判断格式是否正确,和/或,获取c代码文件的数据内容与前述配置文件的数据内容进行比对,判断数据内容是否正确。

s400,在检测正确时,将c代码文件传输到文件导入模块以供软件设计工程师使用。

本实施例中,所述芯片研发网络域和软件研发网络域这两个域对资源的控制是相互独立的,各域可以拥有自己的资源访问规则。采用上述技术方案后,芯片设计工程师只需要将仿真用的目标配置文件放入到芯片研发网络域的指定路径,文件接收模块获取配置文件,通过文件输出检测装置检查配置文件的格式正确后,输入到中间域的域间同步装置,域间同步装置对配置文件进行脚本转换,生成的c代码文件(c代码测试脚本)并同步到软件研发网络域的文件输入检测装置中,文件输入检测装置检查c代码正确后,将c代码文件传输到文件导入模块以将c代码文件导入软件,以供软件设计工程师使用。

所述文件输入检测装置,还能够将检测结果反馈给所述域间同步装置。所述检查结果可以包括检测正确和检测不正确两种,根据检测结果,域间同步装置可以执行不同的操作。

具体的,在检测正确时,所述域间同步装置可以向关联的用户通讯系统发送配置转换完成的消息,在检测不正确时,所述域间同步装置可以获取报告文件并发送至前述用户通讯系统,所述报告文件用于记录c代码文件中的错误信息。

对应前述方法的配置同步系统的模块结构参见图2所示。所述系统包括3部分:供芯片设计工程师访问的芯片研发网络域,中间域和供软件设计工程师访问的软件研发网络域。其中,软件设计工程师为请求资源的一方,使得软件研发网络域为请求跨域资源的目标网络域。

参见图2所示,所述芯片研发网络域中设置有文件接收模块和文件输出检测装置。

所述文件接收模块用于接收芯片设计工程师提供的配置文件。

所述文件输出检测装置用于检测前述配置文件的格式是否符合预设格式要求,并将符合预设格式要求的配置文件输出。

中间域的输入端连接所述芯片研发网络域,输出端连接所述软件研发网络域。

所述中间域中设置有域间同步装置,所述域间同步装置用于对芯片研发网络域输出的配置文件进行转换生成c代码文件,并传输至软件研发网络域中。

所述软件研发网络域中设置有文件输入检测装置和文件导入模块。

所述文件输入检测装置用于检测输入的c代码文件的是否正确。并将正确的c代码文件传输到文件导入模块以供软件设计工程师使用。优选的,所述文件输入检测装置能够将检测结果反馈给所述域间同步装置,根据检测结果的不同,域间同步装置执行不同的响应:在检测正确时,所述域间同步装置向关联的用户通讯系统发送配置转换完成的消息,在检测不正确时,所述域间同步装置获取报告文件并发送至前述用户通讯系统,所述报告文件用于记录c代码文件中的错误信息。

本实施例中,所述域间同步电路还可以与用户通讯系统信号连接,能够通过用户通讯系统通知用户配置转换结果。优选的,所述用户通讯系统为电子邮件系统、即时通信系统或者短信通信系统,如此,用户可与通过电子邮件、即时通信消息或短信来获取配置转换结果。图2中示例了采用电子邮件系统作为关联的用户通讯系统的方式。

在优选的实施方式中,所述配置文件的预设格式要求被配置为:包括至少4项内容,为寄存器地址、寄存器值、寄存器的操作位和寄存器的读/写属性,4项内容在配置文件中以列表形式存储。具体的,所述配置文件至少包括4列以分别存储寄存器的寄存器地址、寄存器值、寄存器的操作位和寄存器的读/写属性的信息,配置文件的一行对应于一个寄存器的信息。

作为典型方式的优选,参见图3所示,所述配置文件可以设置为5列,第1列表示任务项编号(actionitemnum),第2列表示寄存器地址(reg_addr),第3列表示寄存器值(reg_value),第4列表示寄存器的操作位(reg_bitnum),第5列表示寄存器的读/写属性(reg_action)。配置文件的第1行为标题行以显示各列的主题或名称,标题行以下的不同行对应于不同寄存器的信息。以标题行下的第1行为例,其任务项编号为1,寄存器地址为0x80000000,寄存器值为0x12345678,寄存器的操作位为[31:0],寄存器的读/写属性为read(读)。

优选的实施方式中,所述域间同步装置还被配置为:根据配置文件的预设格式设置c代码文件的数据格式,使c代码文件的行信息与配置文件的行信息对应,以及将c代码的执行函数配置为action(intregaddr(intregvalue(intregbitnum(boolregaction)。通过采用上述技术方案,c语言源代码全程只需要用到一个函数action(intregaddr(intregvalue(intregbitnum(boolregaction),数据在形式的统一(与配置文件的数据格式对应)可以显著降低出错概率。

作为典型方式的举例,供软件设计工程师使用的c代码文件的数据格式参见图4所示:所述c代码文件可以设置为2列,第1列表示行数,第2列表示执行函数。c代码文件的第1行为标题行以显示各列的主题或名称,标题行以下的不同行对应于不同寄存器的信息。以标题行下的第1行为例,其行数为1,执行函数获取的寄存器地址为0x80000000,寄存器值为0x12345678,寄存器的操作位为[31:0],寄存器的读/写属性为read(读)。

优选的,所述报告文件是以列表形式来记录c代码文件中的出错行信息。可以通过域间同步装置配置所述报告文件的数据格式,该数据格式可以是系统默认的格式,也可以是用户个性化设置的格式。

作为典型方式的举例,参见图5所示,所述报告文件的数据格式如下:在报告文件中以列表形式显示出错行信息,具体的,所述列表设置有2列,第1列表示出错行的行数(行号),第2列表示错误类型,可以包括出错项和出错项内容;第1行为标题行以显示各列的主题或名称,标题行以下的不同行对应于不同错误行的信息。作为举例而非限制,比如通过检测发现,c代码文件的第1001行的寄存器地址与配置文件中的对应项不一致,则可以在报告文件的第2行的“错误行数”列下写入“1001”,在“错误类型”列下写入“地址不对实际地址:0x800,比对地址:0x900”。其中,出错项对应的信息为“地址不对”,出错项内容对应的信息为“实际地址:0x800,比对地址:0x900”,所述的实际地址,代表配置文件中的寄存器地址信息,所述的比对地址,代表c代码文件中的寄存器地址信息。

参见图6所示,为本发明的另一实施例,提供了一种芯片测试中不同网络域之间的配置同步装置。

所述装置包括依次连接的配置文件检测电路,域间同步电路和c代码文件导入电路。

所述配置文件检测电路,设置在芯片研发网络域中。

具体的,域间同步电路包括文件接收模块和文件输出检测装置,所述文件接收模块用于接收配置文件,所述文件输出检测装置用于检测前述配置文件的格式是否符合预设格式要求,并将符合预设格式要求的配置文件输出。

所述域间同步电路,设置在中间域中。

域间同步电路连接前述文件输出检测装置,用于对前述配置文件进行转换生成c代码文件,并传输至软件研发网络域中。

所述c代码文件导入电路,设置在软件研发网络域中。

具体的,域间同步电路包括文件输入检测装置和文件导入模块,所述文件输入检测装置用于检测输入的c代码文件的是否正确,并将正确的c代码文件传输到文件导入模块以供软件设计工程师使用。

优选的,所述文件输入检测装置能够将检测结果反馈给所述域间同步电路,根据检测结果的不同,域间同步电路执行不同的响应:在检测正确时,所述域间同步电路向关联的用户通讯系统发送配置转换完成的消息,在检测不正确时,所述域间同步电路获取报告文件并发送至前述用户通讯系统,所述报告文件用于记录c代码文件中的错误信息。

所述配置文件的预设格式要求被配置为:包括至少4项内容,为寄存器地址、寄存器值、寄存器的操作位和寄存器的读/写属性,4项内容在配置文件中以列表形式存储。具体的,所述配置文件至少包括4列以分别存储寄存器的寄存器地址、寄存器值、寄存器的操作位和寄存器的读/写属性的信息,配置文件的一行对应于一个寄存器的信息。

优选的实施方式中,所述域间同步装置还被配置为:根据配置文件的预设格式设置c代码文件的数据格式,使c代码文件的行信息与配置文件的行信息对应,以及将c代码的执行函数配置为action(intregaddr(intregvalue(intregbitnum(boolregaction)。通过采用上述技术方案,c语言源代码全程只需要用到一个函数,数据在形式的统一(与配置文件的数据格式对应)可以显著降低出错概率。

进一步,所述报告文件是以列表形式来记录c代码文件中的出错行信息。可以通过域间同步装置配置所述报告文件的数据格式,该数据格式可以是系统默认的格式,也可以是用户个性化设置的格式。

其它技术特征参见在前实施例的描述,在此不再赘述。

本发明通过在两个相互限制资源访问的网络域中间添加一个中间域来实现域间资源同步。具体实施时,根据资源请求指令,芯片设计工程师只需要将仿真用的目标配置文件放入到芯片研发网络域的指定路径,文件接收模块就可以获取配置文件,然后通过文件输出检测装置检查配置文件的格式正确后,输入到中间域中的域间同步装置以进行脚本转换生成的c代码文件(c代码测试脚本),c代码文件被传输至研发网络域的文件输入检测装置中进行检查,检查正确后将c代码文件传输到文件导入模块以将c代码文件导入软件,以供软件设计工程师使用。所述文件输入检测装置还可以将检查结果通知给域间同步装置,如果检查不正确,域间同步装置可以将包含错误信息的报告文件通过用户通讯系统发给用户。

在上面的描述中,本发明的公开内容并不旨在将其自身限于这些方面。而是,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

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