CN115659941A - 适应于多类型接口的文件生成方法及装置 - Google Patents

适应于多类型接口的文件生成方法及装置 Download PDF

Info

Publication number
CN115659941A
CN115659941A CN202211410163.8A CN202211410163A CN115659941A CN 115659941 A CN115659941 A CN 115659941A CN 202211410163 A CN202211410163 A CN 202211410163A CN 115659941 A CN115659941 A CN 115659941A
Authority
CN
China
Prior art keywords
intermediate data
attribute information
file
signal
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211410163.8A
Other languages
English (en)
Other versions
CN115659941B (zh
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Moore Threads Technology Co Ltd
Original Assignee
Moore Threads Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202211410163.8A priority Critical patent/CN115659941B/zh
Publication of CN115659941A publication Critical patent/CN115659941A/zh
Application granted granted Critical
Publication of CN115659941B publication Critical patent/CN115659941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种适应于多类型接口的文件生成方法及装置,对应的方法包括:接收待转换接口的属性信息;根据所述属性信息以及预生成的中间数据生成模型生成中间数据结构,所述中间数据结构用于进行格式转换得到目标格式文件;其中,所述中间数据生成模型存储有至少一种待转换接口的信号格式模板,所述信号格式模板设置有所述属性信息及由所述属性信息切分出的单一信号的存储单元;所述中间数据结构中按照所述存储单元存储有所述属性信息以及所述单一信号。

Description

适应于多类型接口的文件生成方法及装置
技术领域
本公开涉及芯片设计技术领域,尤其涉及一种适应于多类型接口的文件生成方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本公开实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是相关技术。
针对大型项目开发,接口的一致性问题一直是比较令人头痛的问题。设计团队进行电路实现、架构进行功能设计以及验证进行电路功能的检查时,每当需求发生变化,需要人工编码接口、即添加的额外代码,人力成本大。另外,在修改接口编码的过程中会引入人为偏差,进而带来一些列的问题。
综上,相关技术中亟需一种可以建立统一接口的方法,以解决上述技术痛点。
发明内容
本公开提供一种适应于多类型接口的文件生成方法,可以将不同类型的接口进行统一转化,进而生成目标格式文件(例如,RTL module声明文件、验证interface声明文件等),从而解决了相关技术中,针对项目需求变动而带来的接口无法对齐的技术痛点。
为了达到以上目的,一方面,本公开公开了一种适适应于多类型接口的文件生成方法,包括:
接收待转换接口的属性信息;
根据所述属性信息以及预生成的中间数据生成模型生成中间数据结构,所述中间数据结构用于进行格式转换得到目标格式文件;
其中,所述中间数据生成模型存储有至少一种待转换接口的信号格式模板,所述信号格式模板设置有所述属性信息及由所述属性信息切分出的单一信号的存储单元;所述中间数据结构中按照所述存储单元存储有所述属性信息以及所述单一信号。
一实施例中,适应于多类型接口的文件生成方法还包括:
在所述中间数据生成模型中,针对同一待转换接口,按照不同的功能分别存储属性信息。
一实施例中,所述针对同一待转换接口按照不同的功能分别存储属性信息,包括:
按照联合数据类型存储每一功能对应的属性信息。
一实施例中,适应于多类型接口的文件生成方法还包括:
针对多个功能的待转换接口,在所述中间数据生成模型的列表中存储所述属性信息的首地址。
一实施例中,适应于多类型接口的文件生成方法还包括:
在所述中间数据生成模型中,以字典存储方式存储至少一个信号格式模板,以生成模板字典。
一实施例中,所述根据所述属性信息以及预生成的中间数据生成模型生成待进行格式转换的中间数据结构,包括:
在所述模板字典中,根据所述待转换接口的关键字查找对应的信号格式模板;
将所述属性信息以及所述单一信号映射至对应的信号格式模板中,以生成所述中间数据结构。
一实施例中,适应于多类型接口的文件生成方法还包括:
将所述中间数据结构进行格式化输出,以生成所述目标格式文件。
一实施例中,所述单一信号包括必要信号及辅助信号,其中:
所述必要信号包括:所述待转换接口的名字、方向以及宽度;
所述辅助信号包括:所述待转换接口的描述信息、最高有效位以及最低有效位。
一实施例中,适应于多类型接口的文件生成方法还包括:
在所述中间数据生成模型中,对所述单一信号进行切分,以确定所述必要信号以及所述辅助信号。
一实施例中,适应于多类型接口的文件生成方法还包括:
将所述辅助信号的地址列表指向对应的必要信号的首地址。
一实施例中,适应于多类型接口的文件生成方法还包括:
针对枚举类型的属性信息,确定对应的单一信号的归属关系。
一实施例中,适应于多类型接口的文件生成方法还包括:
将由多个中间数据模型所组成的数组的首地址存储至预先指定的全局变量中。
第二方面,本公开还提供一种适应于多类型接口的文件生成装置,该装置包括:
属性信息接收模块,用于接收待转换接口的属性信息;
中间数据生成模块,用于根据所述属性信息以及预生成的中间数据生成模型生成中间数据结构,所述中间数据结构用于进行格式转换得到目标格式文件;
其中,所述中间数据生成模型存储有至少一种待转换接口的信号格式模板,所述信号格式模板设置有所述属性信息及由所述属性信息切分出的单一信号的存储单元;所述中间数据结构中按照所述存储单元存储有所述属性信息以及所述单一信号。
一实施例中,适应于多类型接口的文件生成装置还包括:
功能存储模块,用于在所述中间数据生成模型中,针对同一待转换接口,按照不同的功能分别存储属性信息。
一实施例中,所述功能存储模块具体用于按照联合数据类型存储每一功能对应的属性信息。
一实施例中,适应于多类型接口的文件生成装置还包括:
首地址存储第一模块,用于针对多个功能的待转换接口,在所述中间数据生成模型的列表中存储所述属性信息的首地址。
一实施例中,适应于多类型接口的文件生成装置还包括:
模板字典模块,用于在所述中间数据生成模型中,以字典存储方式存储至少一个信号格式模板,以生成模板字典。
一实施例中,所述中间数据生成模块包括:
模板查找单元,用于在所述模板字典中,根据所述待转换接口的关键字查找对应的信号格式模板;
中间数据生成单元,用于将所述属性信息以及所述单一信号映射至对应的信号格式模板中,以生成所述中间数据结构。
一实施例中,适应于多类型接口的文件生成装置还包括:
格式文件生成模,用于将所述中间数据结构进行格式化输出,以生成所述目标格式文件。
一实施例中,所述单一信号包括必要信号及辅助信号,其中:
所述必要信号包括:所述待转换接口的名字、方向以及宽度;
所述辅助信号包括:所述待转换接口的描述信息、最高有效位以及最低有效位。
一实施例中,适应于多类型接口的文件生成装置还包括:
单一信号切分模块,用于在所述中间数据生成模型中,对所述单一信号进行切分,以确定所述必要信号以及所述辅助信号。
一实施例中,适应于多类型接口的文件生成装置还包括:
地址指向模块,用于将所述辅助信号的地址列表指向对应的必要信号的首地址。
一实施例中,适应于多类型接口的文件生成装置还包括:
归属关系确定模块,用于针对枚举类型的属性信息,确定对应的单一信号的归属关系。
一实施例中,适应于多类型接口的文件生成装置还包括:
首地址存储第二模块,用于将由多个中间数据模型所组成的数组的首地址存储至预先指定的全局变量中。
本公开实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述适应于多类型接口的文件生成方法。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述适应于多类型接口的文件生成方法。
本公开实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述适应于多类型接口的文件生成方法。
从上述描述可知,本公开实施例提供的适应于多类型接口的文件生成方法及装置,首先接收待转换接口的属性信息;之后根据属性信息以及预生成的中间数据生成模型生成待进行格式转换的中间数据结构,以得到目标格式文件;其中,中间数据生成模型存储有至少一种待转换接口的信号格式模板,信号格式模板设置有属性信息及由属性信息切分出的单一信号的存储单元;中间数据结构中按照存储单元存储有属性信息以及单一信号。本公开可以将不同类型的接口进行统一转化,进而生成目标格式文件,解决了相关技术中,针对项目需求变动而带来的接口无法对齐的技术痛点。
附图说明
为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本公开实施例中的适应于多类型接口的文件生成方法的流程示意图一;
图2为本公开实施例中的中间数据生成模型的结构示意图一;
图3为本公开实施例中的适应于多类型接口的文件生成方法的流程示意图二;
图4为本公开实施例中的中间数据生成模型的结构示意图二;
图5为本公开实施例中的步骤200的流程示意图二;
图6为本公开实施例中的中间数据生成模型的结构示意图三;
图7为本公开实施例中的中间数据生成模型的结构示意图四;
图8为本公开实施例中由多个中间数据模型所组成的数组的结构示意图;
图9为本公开具体应用实例所提供的供适应于多类型接口的文件生成方法的架构图;
图10为本公开具体应用实例所提供的供适应于多类型接口的文件生成方法的流程示意图;
图11为本公开具体应用实例所提供的由多个中间数据模型所组成的数组的结构示意图;
图12为本公开具体应用实例所提供的输出数据的结构示意图;
图13为本公开具体应用实例所提供的供适应于多类型接口的文件生成方法的流程示意图(输入数据为表格);
图14为本公开实施例中的适应于多类型接口的文件生成装置的结构示意图;
图15为本公开的实施例中的电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本领域内的技术人员应明白,本公开的实施例可提供为方法、***、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语 “包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为使本公开实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本公开实施例做进一步详细说明。在此,本公开的示意性实施例及其说明用于解释本公开,但并不作为对本公开的限定。
本公开的实施例提供一种适应于多类型接口的文件生成方法的具体实施方式,参见图1,该方法具体包括如下内容:
步骤100:接收待转换接口的属性信息;
示例性地,待转换接口包括valid接口,valid-ready接口,APB接口,AHB接口,AXI接口,wisbone接口等,属性信息包括接口的名字、方向、宽度、描述、MSB(最高有效位)以及LSB(最低有效位)等。
步骤200:根据所述属性信息以及预生成的中间数据生成模型生成中间数据结构,所述中间数据结构用于进行格式转换得到目标格式文件;其中,所述中间数据生成模型存储有至少一种待转换接口的信号格式模板,所述信号格式模板设置有所述属性信息及由所述属性信息切分出的单一信号的存储单元;所述中间数据结构中按照所述存储单元存储有所述属性信息以及所述单一信号。
考虑到设计和验证人员的排错、调试的需求,对宽度比较大的信号,引入切分域的表达,更容易实现的对该信号的详尽描述。
图2是上述信号格式模板的示意图,在该图中,element存储接口的属性信息,cell存储由属性信息所切分出的单一信号(该属性信息至少可以切分出一个单一信号)。
另外,需要说明的是,步骤200中的中间数据结构,可以包括数据以及该数据的结构,即包括所有数据信息,其信息表示是结构化的。
从上述描述可知,本公开实施例提供的适应于多类型接口的文件生成装置,接收待转换接口的属性信息;根据属性信息以及预生成的中间数据生成模型生成待进行格式转换的中间数据结构,以得到目标格式文件;其中,中间数据生成模型存储有至少一种待转换接口的信号格式模板,信号格式模板设置有属性信息及由属性信息切分出的单一信号的存储单元;中间数据结构中按照存储单元存储有属性信息以及单一信号。本公开解决了相关技术中因项目需求变动或不同团队对于接口的需求不同所导致的,手动改写接口代码引入的大量工作量以及认为偏差的技术问题。
一实施例中,参见图3,适应于多类型接口的文件生成方法还包括:
步骤300:在所述中间数据生成模型中,针对同一待转换接口,按照不同的功能分别存储属性信息。
可以理解的是,对于特定的接口,其在不同的应用场景下,表示的功能状态不同(例如,某一组接口,某一应用场景下的作用是载入CPU数据,在另一应用场景下,也有可能用作载入 局部内存的数据),但不同功能状态所对应的信号是一样的,参见图4,对于此种情况,需要按照该接口的功能类别多次存储该接口的属性信息。以图4为例,该接口有2种功能状态,分别在upool 0以及upool 1中存储该接口的属性信息。
一实施例中,步骤300的实现过程可以包括:
步骤301:按照联合数据类型存储每一功能对应的属性信息。
基于步骤300,为了将同一接口的不同功能状态联合起来,可以引入联合数据类型,并按照该数据类型存储每一功能下的属性型号。联合数据类型(Union)是一种特殊的数据类型。其可以实现:以一种数据类型存储数据,以另一种数据类型来读取数据。可以根据不同的需要,以不同的数据类型来读取联合类型中的数据。也就是说,在一些情况下,以一种数据类型来读取联合类型中的数据,而在另一些情况下,又以另一种数据类型来读取其数据。
一实施例中,适应于多类型接口的文件生成方法还包括:
步骤400:针对多个功能的待转换接口,在所述中间数据生成模型的列表中存储所述属性信息的首地址。
继续参见图4,需将功能状态信息(upool 0)的首地址存储到element对象的地址列表中,优选地,引入sdict成员表示此切分域。
一实施例中,适应于多类型接口的文件生成方法还包括:
步骤500:在所述中间数据生成模型中,以字典存储方式存储至少一个信号格式模板,以生成模板字典。
可以理解的是,中间数据生成模型对于多种类型的接口进行处理,故其存储多种接口对应的信号格式模板,并多个信号格式模板以字典的格式进行存储,以便将待转换接口转换成中间文件时,可以准确、快速地查找对应的信号格式模板。
一实施例中,参见图5,步骤200包括:
步骤201:在所述模板字典中,根据所述待转换接口的关键字查找对应的信号格式模板。
步骤202:将所述属性信息以及所述单一信号映射至对应的信号格式模板中,以生成所述中间数据结构。
在步骤201以及步骤202中,参见图6,首先根据待转换接口的关键词在模板字典中查找其对应的信号格式模板,比如待转换接口查询到的信号格式模板为图6中的虚线框所示,则将其属性信息存储在element0中,并对属性信息进行切分,确定两个单一信号,并依次填入至cell 0以及cell 1中。
一实施例中,适应于多类型接口的文件生成方法还包括:
步骤600:将所述中间数据结构进行格式化输出,以生成所述目标格式文件。
根据不同的需求将中间数据接个格式化打印到不同的文件,以生成目标格式文件,从而实现了将不同类型的接口进行统一转化,生成目标格式文件的目的。
进一步地,中间数据结构进行格式化输出的作用是对中间数据结构的使用进行说明以及举例。中间数据结构是抽象的,根据不同的使用场景,需要把抽象的数据结构转换为本领域技术人员共识的文件。例如rtl的module声明文件(一个verilog语法的文件),interface声明文件(一个systemverilog文件,该文件包含interface的定义,其中“interface ”是systemverilog编程语言的一个关键词)
目标格式文件以设计的rtl的module(中间数据生成模型)声明文件为例,假设中间数据结构中一个module(名字为m1)中只有两个信号。有信号{名称A, 位宽2,方向输出}{名称B, 位宽1, 方向输入}。则输出的rtl的module声明文件为
module m1(
output[1:0] A,
input[0:0] B
);
endmodule.
一实施例中,所述单一信号包括必要信号及辅助信号,其中:所述必要信号包括:所述待转换接口的名字、方向以及宽度;所述辅助信号包括:所述待转换接口的描述信息、最高有效位以及最低有效位。
单一信号必要域有名字(name), 方向(io),宽度(nbits),也有一些额外的辅助信息(辅助信号),例如描述(desc),MSB, LSB等,此外对于验证,考虑排错、调试的方便性,将信号加入枚举类型。
一实施例中,适应于多类型接口的文件生成方法还包括:
步骤700:在所述中间数据生成模型中,对所述单一信号进行切分,以确定所述必要信号以及所述辅助信号。
参见图7,对element 0中的单一信号进行切分,可以得到必要信号以及辅助信号,并将必要信号存储至cell 0存储单元,以及将辅助信号存储至ecell 0存储单元,需要指出的是,对于一待转换接口来说,其辅助信号不是必须的,而其必要信号是必须的,也就是说,在中间数据生成模型中,必定有必要信号的存储单元,而不一定存在辅助信号的存储单元。
一实施例中,适应于多类型接口的文件生成方法还包括:
步骤800:将所述辅助信号的地址列表指向对应的必要信号的首地址。
可以理解的是,将辅助信号的地址列表指向对应的必要信号的指向首地址,可以根据链式结构访问到整个数据结构的所有成员信息。
继续参见图7,需要将存储单元ecell 0的地址列表指向存储单元cell 0的首地址。
一实施例中,适应于多类型接口的文件生成方法还包括:
步骤900:针对枚举类型的属性信息,确定对应的单一信号的归属关系。
参见图7,可以从该模型建立cell 0这单一信号的枚举类型,建立trace关系,从而可以确定其地层调用关系。
一实施例中,适应于多类型接口的文件生成方法还包括:
步骤1000:将由多个中间数据模型所组成的数组的首地址存储至预先指定的全局变量中。
参见图8,考虑到可扩展性,设计不同的模块如果只有一个表格输入更为方便。整体会将所有的element对象(属性信息存储单元)的数组的内存首地址寄到全局变量MT_MOUDLE_PTR。解析多个表格需按照中间数据生成模型的粒度去解析。所有数据的对象地址根据中间数据生成模型的粒度进行更新。虚线框1代表第一中间数据模型,虚线框2代表第二中间数据模型,两者所形成的数组的首地址需要存在MT_MODULE_PTR全局变量中。
为进一步地说明本方案,本公开还提供适应于多类型接口的文件生成方法的应用实例,可以包括如下内容。
图9是本公开具体应用实例所提供的供适应于多类型接口的文件生成方法的架构,输入数据(input)可以为excel文件或者spec文件(配置规范文件),接着将输入数据输入至中间数据生成模型,从而生成中间数据结构,需要注意的是,下述的步骤编号,其仅为了便于阐述说明而设置,本公开不以此为限。参见图10,这里以input数据为excel文件为例对其进行讲解。
S1:接收输入数据。
参见表1,其保存了原始接口(待转换接口)信息,具体包括:信号名,关键字信息,协议类型,位宽,描述等。
表1 待转换接口信息表
Figure DEST_PATH_IMAGE001
表1为输入表格格式示例,在填写表格时需遵循以下规则。KEYWORD共有以下几种类型:
INTERFACE:表示一组接口的定义开始,需要写在接口定义的第一行(KEYWORD下方)。
BUS:表示一组接口中的单个信号,需要和寄存器转换级电路RTL接口中实际信号完全对应。
UNION:表示对一个具体信号(BUS)展开的开始,一般用于对单个具体信号中各个bit存在不同含义的场景,需要写在对应展开的BUS定义的下一行。不支持UNION嵌套,如果存在UNION内的FIELD位域需要展开的情况,写在description里。
STRUCT表示对一个具体信号(BUS)一个STRUCT展开的开始,一个UNION里面需要包含至少一个STRUCT,第一个STRUCT需要写在UNION下一行,第二个及之后的STRUCT需要写在前一个STRUCT_END下一行。
FIELD: 表示BUS展开的单个域段,一个STRUCT里面含至少一个FIELD。
ENUM:表示BUS或FIELD每个有效取值,需要写在对应BUS或FIELD的下方,ENUM是一个可选项,BUS和FIELD可以没有ENUM。
STRUCT_END:表示对一个具体信号(BUS)一个STRUCT展开的结束,需和STRUCT一一对应,并且写在STRUCT内的最后一个FIELD或ENUM下一行。
UNION_END:表示对一个具体信号(BUS)展开的结束,需和UNION对应,并且写在最后一个STRUCT_END下一行。
INTERFACE_END:表示一组接口的定义结束,需写在接口定义中最后一个有效定义的下一行。
S2:建立中间数据生成模型数组。
如图11所示,这里采用5层链式结构建立中间数据生成模型数组(对于存在步骤400的情况最多需扩展5层结构,不存在的需有3层结构),该数组包括2个模型,其分别对应element_dict0以及element_dict1所在的链路。
在图11中,枚举类型的属性信息可以始终存储在element对象中,在具有辅助信号的链路中,可以将存储辅助信号的存储单元的地址列表指向其对应的存储有单一信号的存储单元,需要说明的是,cell对象用于实现由多个作用域引用的变量。对于每个这样的变量,一个cell对象为了存储该值而被创建;引用该值的每个堆栈框架的局部变量包含同样使用该变量的对外部作用域的cell引用。访问该值时,将使用cell中包含的值而不是单元格对象本身。对cell对象的非关联化的引用需要支持生成的字节码;访问时不会自动非关联化这些内容。
另外,对于步骤400的情况,即同一接口在不同模式下具有不同功能状态这种情况,可以将该接口的属性信息的首地址存储到其对应的中间数据生成模型的地址列表中,以及将辅助信号的地址列表指向对应的必要信号的首地址。
S3:生成中间数据结构。
为了共用一套OOP对象(面向对象程序设计),对由中间数据生成模型所输出的数据进行调整。考虑到执行效率和简化的设计的目的,这里输出结构采用两层。工具按照interface的粒度进行输出,对于设计的module声明文件,可以包含整个module所有interface的声明。
具体地,参见图12,中间数据结构如图所示,该数据结构的特点包括:Data为存储element对象的字典结构。将辅助信号的地址列表指向对应的必要信号的首地址。out_struct(存储有struct名称、域信息),out_enum(存储有enum名称、域信息)和out_union(存储有union名称、域信息)为存储一个接口的扩展信息,验证常用(此对象中的这些属性在INDATA结构中不使用)。特殊地,在图12中,cell 0所在链路对应的模型只存有一个属性信息。
具体地,根据设计和验证的不同需求,需要生成的文件类型不一样。但是所生成的中间数据结构可以是统一的,要生成不同类型的文件,可以采用不同的方式去输出,例如:中间数据结构包含的信息有10个信号的名字,其中里面包含一个module, 2组interface,A interface是3个信号,B interface是7个信号。那么如果是生成module的声明文件,可以将UIF数据按照10个来分割,但是了如果生成interface,那么UIF的数据按照7,3来进行分割。
这样做的好处是便于和生成文件所需最少信息的保持一致。当然不进行切割也可以。上述描述中的“粒度”是切割最小块信息的大小,而且是对中间数据结构进行了切割之后再去输出,是一种中间数据结构向不同文件转换所采取的切割方式(一种优化方式),本公开不以此为限。
S4:生成目标格式文件。
中间数据结构为中间抽象数据接口,在运行脚本的过程可以打印出来,打印格式有两种,一种是json格式根据表1所生成中间数据结构如下所示:
"interface":[必要
{"name" :"gpu_cpu",
"description":"gpu to cpu request".
"interfaceMember":[
{
"field":{
"name":"gpu cpu req vld".
"nunBits":"I",
"io":"out",
"description":"."
"csimType":"value"
}
}
另一种是spec文件,这两种文件都可以实现跨平台的移植。由这两种中间数据格式可以生成多种格式数据如:RTL module声明文件以及验证interface声明文件,其中包含struct, enum, union不同类型的定义。
示例性地,将所述中间数据结构进行格式化输出,以生成所述目标格式文件,可以包括:
格式化输出中间数据结构中由单一信号构成的信号列表,生成目标格式文件,该目标格式文件可以是该单一信号构成的信号列表对应接口的接口文件。
示例性的,将所述中间数据结构进行格式化输出,以生成所述目标格式文件,还可以包括:
格式化输出中间数据结构中的结构型数据(例如,struct, enum以及union中的至少一种),以生成目标格式文件,该目标格式文件可以是非接口文件。
示例性地,目标格式文件可以包括接口文件和/或非接口文件,在包括接口文件和非接口文件的情况下,非接口文件中的结构型数据类型可以是基于接口文件对应的接口确定的。本公开对将所述中间数据结构进行格式化输出,以生成所述目标格式文件的方式不作限制。
在一更为具体的实施例中,参见图13,一个表格中含有多个待转换接口的属性信息时,将其转换为spec数据表,可以包含多份spec文件,具体地:
过程A:把输入的excel文件转换成in_data数据结构,该结构保持了多份spec的数据信息。
过程B: 把in_data数据结构转换成spec数据表,其内可以包含多份spec文件。输出spec文件可以直接作为中间数据生成模型的输入。
过程C: 通过查询spec数据表,抽出一张spec文件。中间数据生成模型处理最小粒度为一个spec文件。
过程D:spec文件可以通过第三方工具直接生成,autoGen兼容直接spec文件输入,并将指向spec文件的文件句柄进行临时存储,以便之后过程和过程C产生的spec文件进行数据仲裁(提供了不同数据源和客户应用程序所用的统一数据访问API之间的粘合层,多个储存单元同时竞争数据控制权时,以某种方式选择一个储存单元优先获得数据的控制权称为数据仲裁。)。
过程E: 取出过程C产生的spec文件,进行文件句柄的临时存储。
过程F:把spec文件转换成内部数据结构out_data。
过程G: 把out_data数据结构,根据不同的需求格式化打印到不同的文件。
另外,对于输入数据为spec文件(spec文件可以通过第三方工具直接生成)的情况,中间数据生成模型兼容spec文件输入,并将指向spec文件的文件句柄进行临时存储,以便之后过程和过程C产生的spec文件进行数据仲裁。
基于同一发明构思,本申请实施例还提供了适应于多类型接口的文件生成装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于适应于多类型接口的文件生成装置解决问题的原理与适应于多类型接口的文件生成方法相似,因此适应于多类型接口的文件生成装置的实施可以参见适应于多类型接口的文件生成方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的***较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本公开的实施例提供一种能够实现适应于多类型接口的文件生成方法的适应于多类型接口的文件生成装置的具体实施方式,参见图14,适应于多类型接口的文件生成装置具体包括如下内容:
属性信息接收模块10,用于接收待转换接口的属性信息;
中间数据生成模块20,用于根据所述属性信息以及预生成的中间数据生成模型生成中间数据结构,所述中间数据结构用于进行格式转换得到目标格式文件;
其中,所述中间数据生成模型存储有至少一种待转换接口的信号格式模板,所述信号格式模板设置有所述属性信息及由所述属性信息切分出的单一信号的存储单元;所述中间数据结构中按照所述存储单元存储有所述属性信息以及所述单一信号。
一实施例中,适应于多类型接口的文件生成装置还包括:
功能存储模块,用于在所述中间数据生成模型中,针对同一待转换接口,按照不同的功能分别存储属性信息。
一实施例中,所述功能存储模块具体用于按照联合数据类型存储每一功能对应的属性信息。
一实施例中,适应于多类型接口的文件生成装置还包括:
首地址存储第一模块,用于针对多个功能的待转换接口,在所述中间数据生成模型的列表中存储所述属性信息的首地址。
一实施例中,适应于多类型接口的文件生成装置还包括:
模板字典模块,用于在所述中间数据生成模型中,以字典存储方式存储至少一个信号格式模板,以生成模板字典。
一实施例中,所述中间数据生成模块包括:
模板查找单元,用于在所述模板字典中,根据所述待转换接口的关键字查找对应的信号格式模板;
中间数据生成单元,用于将所述属性信息以及所述单一信号映射至对应的信号格式模板中,以生成所述中间数据结构。
一实施例中,适应于多类型接口的文件生成装置还包括:
格式文件生成模,用于将所述中间数据结构进行格式化输出,以生成所述目标格式文件。
一实施例中,所述单一信号包括必要信号及辅助信号,其中:
所述必要信号包括:所述待转换接口的名字、方向以及宽度;
所述辅助信号包括:所述待转换接口的描述信息、最高有效位以及最低有效位。
一实施例中,适应于多类型接口的文件生成装置还包括:
单一信号切分模块,用于在所述中间数据生成模型中,对所述单一信号进行切分,以确定所述必要信号以及所述辅助信号。
一实施例中,适应于多类型接口的文件生成装置还包括:
地址指向模块,用于将所述辅助信号的地址列表指向对应的必要信号的首地址。
一实施例中,适应于多类型接口的文件生成装置还包括:
归属关系确定模块,用于针对枚举类型的属性信息,确定对应的单一信号的归属关系。
一实施例中,适应于多类型接口的文件生成装置还包括:
首地址存储第二模块,用于将由多个中间数据模型所组成的数组的首地址存储至预先指定的全局变量中。
从上述描述可知,本公开实施例提供的适应于多类型接口的文件生成装置,首先接收待转换接口的属性信息;之后根据属性信息以及预生成的中间数据生成模型生成待进行格式转换的中间数据结构,以得到目标格式文件;其中,中间数据生成模型存储有至少一种待转换接口的信号格式模板,信号格式模板设置有属性信息及由属性信息切分出的单一信号的存储单元;中间数据结构中按照存储单元存储有属性信息以及单一信号。本公开解决了相关技术中因项目需求变动或不同团队对于接口的需求不同所导致的,手动改写接口代码引入的大量工作量以及认为偏差的技术问题。
本申请的实施例还提供能够实现上述实施例中的适应于多类型接口的文件生成方法中全部步骤的一种电子设备的具体实施方式,参见图15,电子设备具体包括如下内容:
处理器(processor) 1201、存储器(memory) 1202、通信接口(CommunicationsInterface) 1203和总线1204;
其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备、功率测量设备以及用户端设备等相关设备之间的信息传输。
处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的适应于多类型接口的文件生成方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:接收待转换接口的属性信息;
步骤200:根据所述属性信息以及预生成的中间数据生成模型生成中间数据结构,所述中间数据结构用于进行格式转换得到目标格式文件;
其中,所述中间数据生成模型存储有至少一种待转换接口的信号格式模板,所述信号格式模板设置有所述属性信息及由所述属性信息切分出的单一信号的存储单元;所述中间数据结构中按照所述存储单元存储有所述属性信息以及所述单一信号。
本申请的实施例还提供能够实现上述实施例中的适应于多类型接口的文件生成方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的适应于多类型接口的文件生成方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:接收待转换接口的属性信息;
步骤200:根据所述属性信息以及预生成的中间数据生成模型生成中间数据结构,所述中间数据结构用于进行格式转换得到目标格式文件;
其中,所述中间数据生成模型存储有至少一种待转换接口的信号格式模板,所述信号格式模板设置有所述属性信息及由所述属性信息切分出的单一信号的存储单元;所述中间数据结构中按照所述存储单元存储有所述属性信息以及所述单一信号。
综上,本公开实施例提供的计算机可读存储介质能够支持服务提供方根据其自身的软、硬件资源的可用率,由服务提供方进行服务的自适应下线和上线,实现服务提供方的自隔离能力,保障服务提供方对服务请求的响应成功率。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本公开是参照根据本公开实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本公开中应用了具体实施例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。

Claims (27)

1.一种适应于多类型接口的文件生成方法,其特征在于,包括:
接收待转换接口的属性信息;
根据所述属性信息以及预生成的中间数据生成模型生成中间数据结构,所述中间数据结构用于进行格式转换得到目标格式文件;
其中,所述中间数据生成模型存储有至少一种待转换接口的信号格式模板,所述信号格式模板设置有所述属性信息及由所述属性信息切分出的单一信号的存储单元;
所述中间数据结构中按照所述存储单元存储有所述属性信息以及所述单一信号。
2.如权利要求1所述的文件生成方法,其特征在于,还包括:
在所述中间数据生成模型中,针对同一待转换接口,按照不同的功能分别存储属性信息。
3.如权利要求2所述的文件生成方法,其特征在于,所述针对同一待转换接口按照不同的功能分别存储属性信息,包括:
按照联合数据类型存储每一功能对应的属性信息。
4.如权利要求3所述的文件生成方法,其特征在于,还包括:
针对多个功能的待转换接口,在所述中间数据生成模型的列表中存储所述属性信息的首地址。
5.如权利要求1所述的文件生成方法,其特征在于,还包括:
在所述中间数据生成模型中,以字典存储方式存储至少一个信号格式模板,以生成模板字典。
6.如权利要求5所述的文件生成方法,其特征在于,所述根据所述属性信息以及预生成的中间数据生成模型生成待进行格式转换的中间数据结构,包括:
在所述模板字典中,根据所述待转换接口的关键字查找对应的信号格式模板;
将所述属性信息以及所述单一信号映射至对应的信号格式模板中,以生成所述中间数据结构。
7.如权利要求1所述的文件生成方法,其特征在于,还包括:
将所述中间数据结构进行格式化输出,以生成所述目标格式文件。
8.如权利要求1所述的文件生成方法,其特征在于,所述单一信号包括必要信号及辅助信号,其中:
所述必要信号包括:所述待转换接口的名字、方向以及宽度;
所述辅助信号包括:所述待转换接口的描述信息、最高有效位以及最低有效位。
9.如权利要求8所述的文件生成方法,其特征在于,还包括:
在所述中间数据生成模型中,对所述单一信号进行切分,以确定所述必要信号以及所述辅助信号。
10.如权利要求9所述的文件生成方法,其特征在于,还包括:
将所述辅助信号的地址列表指向对应的必要信号的首地址。
11.如权利要求1所述的文件生成方法,其特征在于,还包括:
针对枚举类型的属性信息,确定对应的单一信号的归属关系。
12.如权利要求1所述的文件生成方法,其特征在于,还包括:
将由多个中间数据模型所组成的数组的首地址存储至预先指定的全局变量中。
13.一种适应于多类型接口的文件生成装置,其特征在于,包括:
属性信息接收模块,用于接收待转换接口的属性信息;
中间数据生成模块,用于根据所述属性信息以及预生成的中间数据生成模型生成中间数据结构,所述中间数据结构用于进行格式转换得到目标格式文件;
其中,所述中间数据生成模型存储有至少一种待转换接口的信号格式模板,所述信号格式模板设置有所述属性信息及由所述属性信息切分出的单一信号的存储单元;所述中间数据结构中按照所述存储单元存储有所述属性信息以及所述单一信号。
14.如权利要求13所述的文件生成装置,其特征在于,还包括:
功能存储模块,用于在所述中间数据生成模型中,针对同一待转换接口,按照不同的功能分别存储属性信息。
15.如权利要求14所述的文件生成装置,其特征在于,所述功能存储模块具体用于按照联合数据类型存储每一功能对应的属性信息。
16.如权利要求15所述的文件生成装置,其特征在于,还包括:
首地址存储第一模块,用于针对多个功能的待转换接口,在所述中间数据生成模型的列表中存储所述属性信息的首地址。
17.如权利要求13所述的文件生成装置,其特征在于,还包括:
模板字典模块,用于在所述中间数据生成模型中,以字典存储方式存储至少一个信号格式模板,以生成模板字典。
18.如权利要求17所述的文件生成装置,其特征在于,所述中间数据生成模块包括:
模板查找单元,用于在所述模板字典中,根据所述待转换接口的关键字查找对应的信号格式模板;
中间数据生成单元,用于将所述属性信息以及所述单一信号映射至对应的信号格式模板中,以生成所述中间数据结构。
19.如权利要求13所述的文件生成装置,其特征在于,还包括:
格式文件生成模,用于将所述中间数据结构进行格式化输出,以生成所述目标格式文件。
20.如权利要求13所述的文件生成装置,其特征在于,所述单一信号包括必要信号及辅助信号,其中:
所述必要信号包括:所述待转换接口的名字、方向以及宽度;
所述辅助信号包括:所述待转换接口的描述信息、最高有效位以及最低有效位。
21.如权利要求20所述的文件生成装置,其特征在于,还包括:
单一信号切分模块,用于在所述中间数据生成模型中,对所述单一信号进行切分,以确定所述必要信号以及所述辅助信号。
22.如权利要求21所述的文件生成装置,其特征在于,还包括:
地址指向模块,用于将所述辅助信号的地址列表指向对应的必要信号的首地址。
23.如权利要求13所述的文件生成装置,其特征在于,还包括:
归属关系确定模块,用于针对枚举类型的属性信息,确定对应的单一信号的归属关系。
24.如权利要求13所述的文件生成装置,其特征在于,还包括:
首地址存储第二模块,用于将由多个中间数据模型所组成的数组的首地址存储至预先指定的全局变量中。
25.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12任一所述的适应于多类型接口的文件生成方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至12任一所述的适应于多类型接口的文件生成方法。
27.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至12任一所述的适应于多类型接口的文件生成方法。
CN202211410163.8A 2022-11-11 2022-11-11 适应于多类型接口的文件生成方法及装置 Active CN115659941B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211410163.8A CN115659941B (zh) 2022-11-11 2022-11-11 适应于多类型接口的文件生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211410163.8A CN115659941B (zh) 2022-11-11 2022-11-11 适应于多类型接口的文件生成方法及装置

Publications (2)

Publication Number Publication Date
CN115659941A true CN115659941A (zh) 2023-01-31
CN115659941B CN115659941B (zh) 2023-07-21

Family

ID=85020651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211410163.8A Active CN115659941B (zh) 2022-11-11 2022-11-11 适应于多类型接口的文件生成方法及装置

Country Status (1)

Country Link
CN (1) CN115659941B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120240022A1 (en) * 2009-12-09 2012-09-20 Agnisys, Inc. Apparatus and method for circuit design
CN110781082A (zh) * 2019-10-14 2020-02-11 腾讯科技(深圳)有限公司 接口的测试用例的生成方法及装置、介质和设备
CN112181924A (zh) * 2020-09-27 2021-01-05 深圳市元征科技股份有限公司 文件转换方法、装置、设备及介质
CN114510267A (zh) * 2022-04-20 2022-05-17 麒麟软件有限公司 基于Linux***的程序ABI接口兼容性计算方法
CN114912391A (zh) * 2022-05-11 2022-08-16 杭州云合智网技术有限公司 寄存器设计和验证模型自动生成方法、装置、设备及介质
CN115221113A (zh) * 2021-04-20 2022-10-21 华为技术有限公司 数据格式的转换方法、装置、设备及计算机可读存储介质
CN115357289A (zh) * 2022-06-28 2022-11-18 海宁奕斯伟集成电路设计有限公司 寄存器应用信息生成方法、装置、电子设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120240022A1 (en) * 2009-12-09 2012-09-20 Agnisys, Inc. Apparatus and method for circuit design
CN110781082A (zh) * 2019-10-14 2020-02-11 腾讯科技(深圳)有限公司 接口的测试用例的生成方法及装置、介质和设备
CN112181924A (zh) * 2020-09-27 2021-01-05 深圳市元征科技股份有限公司 文件转换方法、装置、设备及介质
CN115221113A (zh) * 2021-04-20 2022-10-21 华为技术有限公司 数据格式的转换方法、装置、设备及计算机可读存储介质
CN114510267A (zh) * 2022-04-20 2022-05-17 麒麟软件有限公司 基于Linux***的程序ABI接口兼容性计算方法
CN114912391A (zh) * 2022-05-11 2022-08-16 杭州云合智网技术有限公司 寄存器设计和验证模型自动生成方法、装置、设备及介质
CN115357289A (zh) * 2022-06-28 2022-11-18 海宁奕斯伟集成电路设计有限公司 寄存器应用信息生成方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN115659941B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
JP7418511B2 (ja) 情報処理装置及び情報処理方法
CN109460219B (zh) 快速序列化接口控制文件的方法
JP2011159302A (ja) Ediスキーマをモデル化するためのxmlペイロード仕様
CN110955714A (zh) 一种将非结构化文本转化为结构化文本的方法及装置
CN112860730A (zh) Sql语句的处理方法、装置、电子设备及可读存储介质
WO2017038104A1 (ja) 実装装置および実装方法
CN114564509A (zh) 序列化方法、反序列化方法、设备、芯片以及介质
JP2018173672A (ja) 実装装置
CN112947960A (zh) 一种基于机器学习的风险模型部署方法及***
CN115599359A (zh) 一种代码生成方法、装置、设备及介质
CN116795859A (zh) 数据分析方法、装置、计算机设备和存储介质
US20100218200A1 (en) Method for programmatic editing of text files
CN109388406A (zh) 转换java代码的方法及装置、存储介质、电子装置
CN105573763A (zh) 一种支持rtos的嵌入式***建模方法
CN115659941B (zh) 适应于多类型接口的文件生成方法及装置
CN112395818B (zh) 基于SysML的硬件算法模型构建方法
Herrera et al. A framework for the generation from UML/MARTE models of IPXACT HW platform descriptions for multi-level performance estimation
CN115630593B (zh) 验证信息数据的生成方法及装置
CN113010489A (zh) 一种数据迁移方法及***
CN111752602B (zh) 一种生成在GO语言中运行的protobuf文件的方法
CN117235236B (zh) 对话方法、装置、计算机设备和存储介质
CN117591087B (zh) 一种针对复杂数据处理需求的高效形式化代码构建方法
US11914564B1 (en) Merkle tree-based data management method and apparatus
CN110837896B (zh) 机器学习模型的存储和调用方法、装置
Peltenburg et al. Generating high-performance fpga accelerator designs for big data analytics with fletcher and apache arrow

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant