CN117744547A - 电路器件资源的预估方法、装置、电子设备及存储介质 - Google Patents
电路器件资源的预估方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117744547A CN117744547A CN202410179566.9A CN202410179566A CN117744547A CN 117744547 A CN117744547 A CN 117744547A CN 202410179566 A CN202410179566 A CN 202410179566A CN 117744547 A CN117744547 A CN 117744547A
- Authority
- CN
- China
- Prior art keywords
- circuit
- device resources
- features
- circuit device
- different types
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 238000013461 design Methods 0.000 claims abstract description 131
- 238000012549 training Methods 0.000 claims description 50
- 238000013468 resource allocation Methods 0.000 claims description 38
- 230000002787 reinforcement Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 5
- 238000004140 cleaning Methods 0.000 claims description 4
- 230000004927 fusion Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000004020 conductor Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提供了一种电路器件资源的预估方法、装置、电子设备及存储介质,涉及电路设计技术领域。由于统计RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征的特征数量为正则化方式,可以快速准确地提取代码特征的特征数量,极大地缩短了时间成本。对多个代码特征的维度类型及对应的特征数量进行融合,得到电路设计特征。将电路设计特征输入到预训练的资源预估模型中,以输出用于电路设计的不同类型的电路器件资源的设计参数。由于代码特征的维度类型及对应的特征数量,能够更准确地表达出待设计的电路的框架和所需的电路器件资源,因而得到的电路器件资源的设计参数的准确度和效率都高。
Description
技术领域
本申请涉及电路设计技术领域,尤其涉及一种电路器件资源的预估方法、装置、电子设备及存储介质。
背景技术
寄存器传输级RTL(register-transfer level,RTL)代码是一种硬件描述语言,用于描述数字电路的逻辑功能和数据流。目前,在电路设计的过程中,可以使用RTL代码对电路设计过程中所需的各个不同类型的电路器件资源进行估算。然而,目前的基于RTL代码对所需的各个不同类型的电路器件资源进行估算的方式需要浪费大量的时间,且估算的结果比较粗糙,准确度低。
发明内容
本申请提供一种电路器件资源的预估方法、装置、电子设备及存储介质,用于解决现有技术中基于RTL代码对所需的各个不同类型的电路器件资源进行估算的方式需要浪费大量的时间,且估算的结果比较粗糙,准确度低的问题。
第一方面,本申请提供了一种电路器件资源的预估方法,应用于服务器,本申请提供的方法包括:
获取寄存器传输级RTL代码;
响应于接收到的资源预测指令,基于正则化方式统计RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征的特征数量;
对多个代码特征的维度类型及对应的特征数量进行融合,得到电路设计特征;
将电路设计特征输入到预训练的资源预估模型中,以输出用于电路设计的不同类型的电路器件资源的设计参数,其中,资源预估模型是将多个历史路设计特征及对应的历史上的不同类型的电路器件资源的设计参数构成训练样本集输入到待训练网络中得到的。
第二方面,本申请还提供了一种电路器件资源的预估装置,配置于服务器,本申请提供的装置包括:
数据获取单元,用于获取寄存器传输级RTL代码;
特征统计单元,用于响应于接收到的资源预测指令,基于正则化方式统计RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征的特征数量;
特征融合单元,用于对多个代码特征的维度类型及对应的特征数量进行融合,得到电路设计特征;
资源预估单元,用于将电路设计特征输入到预训练的资源预估模型中,以输出用于电路设计的不同类型的电路器件资源的设计参数,其中,资源预估模型是将多个历史路设计特征及对应的历史上的不同类型的电路器件资源的设计参数构成训练样本集输入到待训练网络中得到的。
第三方面,本申请还提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现如本申请第一方面提供的电路器件资源的预估方法。
第四方面,本申请还提供了一种存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本申请第一方面提供的电路器件资源的预估方法。
本申请提供一种电路器件资源的预估方法、装置、电子设备及存储介质,由于统计RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征的特征数量为正则化方式,可以快速准确地提取代码特征的特征数量,极大地缩短了时间成本。而且由于提取的代码特征包括多个维度类型,覆盖范围广、提取的代码特征的完整度高,则准确度也高。
对多个代码特征的维度类型及对应的特征数量进行融合,得到电路设计特征。可以理解地,融合得到的电路设计特征的完整度和准确度也高。
将电路设计特征输入到预训练的资源预估模型中,以输出用于电路设计的不同类型的电路器件资源的设计参数。可以理解地,输入到资源预估模型是含有多个代码特征的维度类型及对应的特征数量的电路设计特征,而不是代码特征本身。由于代码特征的维度类型及对应的特征数量,能够更准确地表达出待设计的电路的框架和所需的电路器件资源,因而资源预估模型根据电路设计特征,得到的用于电路设计的不同类型的电路器件资源的设计参数的准确度也高,效率也高。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的服务器与用户终端的交互示意图;
图2为本申请实施例提供的电路器件资源的预估方法的流程图;
图3为本申请实施例提供的S201的具体实现的流程图;
图4为本申请实施例提供的资源预估模型的流程图;
图5为本申请实施例提供的电路器件资源的预估装置的功能模块框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在附图中示出了根据本公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
在本公开的上下文中,当将一层/元件称作位于另一层/元件“上”时,该层/元件可以直接位于该另一层/元件上,或者它们之间可以存在居中层/元件。另外,如果在一种朝向中一层/元件位于另一层/元件“上”,那么当调转朝向时,该层/元件可以位于该另一层/元件“下”。
下面,以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种电路器件资源的预估方法,应用于服务器100。如图1所示,服务器100可以与用户终端200通信连接,其中,用户终端200可以是但不限于办公电脑。具体地,如图2所示,本申请实施例提供的方法包括:
S201:获取寄存器传输级RTL代码。
示例性地,用户可以在用户终端200的目标应用程序中加载寄存器传输级RTL代码,并触发用户终端200将加载的RTL代码传输到服务器100。进而,服务器100可以获取到寄存器传输级RTL代码。
示例性地,RTL代码的一种示例可以如下述所示:
module fpga_ram
(
PortAClk,
PortAAddr,
PortADataIn,
PortAWriteEnable,
PortADataOut );
input PortAClk;
input [(2-1):0] PortAAddr;
input [(2-1):0] PortADataIn;
input PortAWriteEnable;
output [(2-1):0] PortADataOut;
reg [(2-1):0] mem [((ADDRWIDTH)-1):0];
reg [(2-1):0] PortADataOut;
wire [7:0] gpio_ext_porta;
wire [7:0] gpio_int_polarity;
wire [7:0] gpio_inten;
always @(posedge PortAClk)
begin
if(PortAWriteEnable)
begin
mem[PortAAddr] <= PortADataIn;
PortADataOut <= PortADataIn;
end
else
begin
PortADataOut <= mem[PortAAddr];
end
end
always @( gpio_ext_porta[1:0]
or gpio_int_polarity[7:0]
or gpio_ext_porta[7:0]
or gpio_int_polarity[1:0])
begin
gpio_ext_porta_int[7:0] = {8{1'b0}};
for(polarity_i = 0 ; polarity_i<8 ; polarity_i=polarity_i+1)
begin
if(gpio_int_polarity[polarity_i] == 1'b0)
gpio_ext_porta_int[polarity_i] = ~gpio_ext_porta[polarity_i];
else
gpio_ext_porta_int[polarity_i] = gpio_ext_porta[polarity_i];
end
end
endmodule
S202:响应于接收到的资源预测指令,基于正则化方式统计RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征的特征数量。
示例性地,用户可以在用户终端200的目标应用程序点击“开始预测”的控件,使得用户终端200向服务器100发送资源预测指令。
具体地,如图3所示,S201可以具体实现为:
S301:遍历RTL代码中的第N行语句,其中,N为正整数且N的初始值为1。
S302:对于遍历到的第N行语句,判断遍历到的第N行语句中是否存在设定的标准代码特征库中包含的代码特征,如果是,则执行S303,如果否,则执行S305。
S303:对存在的代码特征进行一次计数。
S304:判断RTL代码中的每一行语句是否被遍历完毕,如果否,则执行S305。
S305:对N的取值加1,返回执行S301。
可以理解地,基于上述的S301-S305可以快速准确地提取代码特征的特征数量,极大地缩短了时间成本。
示例性地,基于上述的S201中的RTL代码,提取的各个维度类型的代码特征包括:wire的数量为3,wire位宽为24;reg的数量为2,reg位宽为4;if语句的数量为2;always语句的数量为2。
在一些实施方式中,还可以对多个维度类型的代码特征分别对应的特征数量进行数据清洗、和/或进行归一化处理、和/或进行标准化处理。这样一来,可以使得多个维度类型的代码特征分别对应的特征数量的可靠性更高。
其中,数据清洗的方式可以为:删除缺失的数据、或者根据已有的同一维度类型的代码特征在历史上的平均数、中位数填充缺失的数据等。数据归一化的方式可以为:将多个维度类型的代码特征分别对应的特征数量处理到区间[0,1]之间。
S203:对多个代码特征的维度类型及对应的特征数量进行融合,得到电路设计特征。
示例性地,可以对wire的数量3,wire位宽24;reg的数量2,reg位宽4;if语句的数量2;always语句的数量2进行融合,得到电路设计特征。
S204:将电路设计特征输入到预训练的资源预估模型中,以输出用于电路设计的不同类型的电路器件资源的设计参数。
其中,资源预估模型是将多个历史路设计特征及对应的历史上的不同类型的电路器件资源的设计参数构成训练样本集,输入到待训练网络中得到的。
示例性地,不同类型的电路器件资源的设计参数包括导线的数量、导线的位宽、存储器的数量、存储器的位宽、逻辑单元的数量、触发器的数量等。
不同类型的电路器件资源的设计参数可以包含如表1所示的内容,其中,表1中的每一行代表一个电路设计特征。
表1
需要说明的是,如图4所示,训练资源预估模型的过程可以包括:
S401:根据多个历史电路设计特征及分别对应的历史上的用于电路设计的不同类型的电路器件资源的标准数量,构建训练样本集。
S402:将第M个训练样本输入到待训练网络中训练,输出第M个用于电路设计的不同类型的电路器件资源的训练数量,其中,M为整数且M的初始值为1。
S403:判断第M个训练样本对应的历史上的用于电路设计的不同类型的电路器件资源的标准数量与第M个用于电路设计的不同类型的电路器件资源的训练数量是否存在第二差值,如果是,则执行S404;如果否,则执行S405。
S404:根据第二差值更新待训练网络的网络参数,对M的取值加1,返回执行S402。
S405:将最终得到的待训练网络确定为资源预估模型。
综上所述,本申请实施例提供的一种电路器件资源的预估方法,由于统计RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征的特征数量为正则化方式,可以快速准确地提取代码特征的特征数量,极大地缩短了时间成本。而且由于提取的代码特征包括多个维度类型,覆盖范围广、提取的代码特征的完整度高,则准确度也高。对多个代码特征的维度类型及对应的特征数量进行融合,得到电路设计特征。可以理解地,融合得到的电路设计特征的完整度和准确度也高。
将电路设计特征输入到预训练的资源预估模型中,以输出用于电路设计的不同类型的电路器件资源的设计参数。可以理解地,输入到资源预估模型是含有多个代码特征的维度类型及对应的特征数量的电路设计特征,而不是代码特征本身。由于代码特征的维度类型及对应的特征数量,能够更准确地表达出待设计的电路的框架和所需的电路器件资源,因而资源预估模型根据电路设计特征,得到的用于电路设计的不同类型的电路器件资源的设计参数的准确度也高,效率也高。
在一些实施方式中,在S204之后,本申请实施例提供的方法还可以包括:
将用于电路设计的不同类型的电路器件资源的设计参数、各个用于电路设计的不同类型的电路器件资源的连接关系、预设的现场可编程逻辑门阵列系统的数量和每个现场可编程逻辑门阵列系统的属性参数,输入到预训练的资源分配模型中,以输出多个用于电路设计的不同类型的电路器件资源的设计参数分配给多个现场可编程逻辑门阵列系统的实际分配策略。示例性地,现场可编程逻辑门阵列系统的属性参数可以包括可承载的设计参数的上限等。
其中,资源分配模型是将多个历史上的用于电路设计的不同类型的电路器件资源的设计参数、对应的各个历史上的用于电路设计的不同类型的电路器件资源的连接关系、对应的历史现场可编程逻辑门阵列系统的数量和每个历史现场可编程逻辑门阵列系统的属性参数、以及对应的历史资源分配合理度构成的训练样本集训练得到的。
需要说明的是,训练上述的资源分配模型的过程可以包括:
步骤1:将第N批次训练样本子集输入到强化学习网络中,以输出历史上的用于电路设计的不同类型的电路器件资源的设计参数,分配给多个历史现场可编程逻辑门阵列系统的第N历史分配策略,其中,N为正整数且N的初始值为2。
步骤2:接收用户针对第N历史分配策略构建的历史逻辑电路输入的第N功耗值、第N布线数量、以及第N性能值。
步骤3:根据第N功耗值、第N布线数量、以及第N性能值,生成第N资源分配合理度。
示例性地,可以根据算式,确定第N资源分配合理度。可见,布线数量、功耗值与第N资源分配合理度负相关,性能值与第N资源分配合理度正相关,如此得到的第N资源分配合理度的可靠性高。
其中,为第一加权系数、/>为第二加权系数、/>为第三加权系数,S为性能值、n为布线数量、P为功耗值,D为第N资源分配合理度。
步骤4:判断第N资源分配合理度与第N-1资源分配合理度的第一差值是否大于设定的阈值,如果是,则执行步骤5;如果否,则执行步骤6。
其中,第N-1资源分配合理度是根据第N-1功耗值、第N-1布线数量、以及第N-1性能值得到的。
步骤5:根据第一差值更新强化学习网络的网络参数,对N加1,返回步骤1。
步骤6:将最终得到的强化学习网络作为资源分配模型。
可以理解地,通过上述的步骤1-步骤6得到的资源分配模型的可靠性高。
请参阅图5,本申请实施例还提供了一种电路器件资源的预估装置500,配置于服务器100。需要说明的是,本申请实施例所提供的电路器件资源的预估装置500,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本申请实施例部分未提及之处,可参考上述的实施例中相应内容。具体地,本申请实施例还提供的装置500包括数据获取单元501、特征统计单元502、特征融合单元503、以及资源预估单元504,其中,
数据获取单元501,用于获取寄存器传输级RTL代码。
特征统计单元502,用于响应于接收到的资源预测指令,基于正则化方式统计RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征的特征数量。
在一种可能的实施方式中,特征统计单元502,具体用于遍历RTL代码中的第N行语句,其中,N为正整数且N的初始值为1;对于遍历到的第N行语句,判断遍历到的第N行语句中是否存在设定的标准代码特征库中包含的代码特征;若存在,则对存在的代码特征进行一次计数;对N的取值加1,返回执行遍历RTL代码中的第N行语句的步骤,直到RTL代码中的每一行语句被遍历完毕。
可选地,本申请实施例提供的装置500还可以包括:数据预处理单元,用于对多个维度类型的代码特征分别对应的特征数量进行数据清洗、和/或进行归一化处理、和/或进行标准化处理。
特征融合单元503,用于对多个代码特征的维度类型及对应的特征数量进行融合,得到电路设计特征;资源预估单元504,用于将电路设计特征输入到预训练的资源预估模型中,以输出用于电路设计的不同类型的电路器件资源的设计参数,其中,资源预估模型是将多个历史路设计特征及对应的历史上的不同类型的电路器件资源的设计参数构成训练样本集输入到待训练网络中得到的。
需要说明的是,本申请实施例提供的装置500还可以包括:模型训练单元,用于根据多个历史电路设计特征及分别对应的历史上的用于电路设计的不同类型的电路器件资源的标准数量,构建训练样本集;将第M个训练样本输入到待训练网络中训练,输出第M个用于电路设计的不同类型的电路器件资源的训练数量。
其中,M为整数且M的初始值为1;若第M个训练样本对应的历史上的用于电路设计的不同类型的电路器件资源的标准数量与第M个用于电路设计的不同类型的电路器件资源的训练数量存在第二差值,则根据第二差值更新待训练网络的网络参数;对M的取值加1,并返回第M个训练样本输入到待训练网络中训练,输出第M个用于电路设计的不同类型的电路器件资源的训练数量的步骤,直到第M个训练样本对应的历史上的用于电路设计的不同类型的电路器件资源的标准数量与第M个用于电路设计的不同类型的电路器件资源的训练数量之间不存在第二差值,将最终得到的待训练网络确定为资源预估模型。
本申请实施例提供的装置500还可以包括:资源分配单元,用于将用于电路设计的不同类型的电路器件资源的设计参数、各个用于电路设计的不同类型的电路器件资源的连接关系、预设的现场可编程逻辑门阵列系统的数量和每个现场可编程逻辑门阵列系统的属性参数,输入到预训练的资源分配模型中,以输出多个用于电路设计的不同类型的电路器件资源的设计参数分配给多个现场可编程逻辑门阵列系统的实际分配策略。
其中,资源分配模型是将多个历史上的用于电路设计的不同类型的电路器件资源的设计参数、对应的各个历史上的用于电路设计的不同类型的电路器件资源的连接关系、对应的历史现场可编程逻辑门阵列系统的数量和每个历史现场可编程逻辑门阵列系统的属性参数、以及对应的历史资源分配合理度构成的训练样本集训练得到的。
另外,模型训练单元,还可以用于将第N批次训练样本子集输入到强化学习网络中,以输出历史上的用于电路设计的不同类型的电路器件资源的设计参数,分配给多个历史现场可编程逻辑门阵列系统的第N历史分配策略,其中,N为正整数且N的初始值为2;接收用户针对第N历史分配策略构建的历史逻辑电路输入的第N功耗值、第N布线数量、以及第N性能值;根据第N功耗值、第N布线数量、以及第N性能值,生成第N资源分配合理度;若第N资源分配合理度与第N-1资源分配合理度的第一差值大于设定的阈值,则根据第一差值更新强化学习网络的网络参数,其中,第N-1资源分配合理度是根据第N-1功耗值、第N-1布线数量、以及第N-1性能值得到的;对N加1,返回将第N批次训练样本子集输入到强化学习网络中,以输出历史上的用于电路设计的不同类型的电路器件资源的设计参数,分配给多个历史现场可编程逻辑门阵列系统的第N历史分配策略的步骤,直到第N资源分配合理度与第N-1资源分配合理度的第一差值小于或等于设定的阈值,并将最终得到的强化学习网络作为资源分配模型。
其中,模型训练单元,可以具体用于根据算式,确定第N资源分配合理度,其中,/>为第一加权系数、/>为第二加权系数、/>为第三加权系数,S为性能值、n为布线数量、P为功耗值,D为第N资源分配合理度。
另外,本申请实施例还提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时,使得电子设备执行如上述的图2提供的方法。其中,电子设备可以为但不限于上述的服务器。
另外,本申请实施例还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。该非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述的图2提供的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时上述的图2的方法。
在以上的描述中,对于各层的构图等技术细节并没有做出详细的说明。但是本领域技术人员应当理解,可以通过各种技术手段,来形成所需形状的层、区域等。另外,为了形成同一结构,本领域技术人员还可以设计出与以上描述的方法并不完全相同的方法。另外,尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种电路器件资源的预估方法,其特征在于,应用于服务器,所述方法包括:
获取寄存器传输级RTL代码;
响应于接收到的资源预测指令,基于正则化方式统计所述RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征的特征数量;
对多个所述代码特征的维度类型及对应的特征数量进行融合,得到电路设计特征;
将所述电路设计特征输入到预训练的资源预估模型中,以输出用于电路设计的不同类型的电路器件资源的设计参数,其中,所述资源预估模型是将多个历史路设计特征及对应的历史上的不同类型的电路器件资源的设计参数构成训练样本集输入到待训练网络中得到的。
2.根据权利要求1所述的方法,其特征在于,所述基于正则化方式统计所述RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征的特征数量,包括:
遍历所述RTL代码中的第N行语句,其中,N为正整数且N的初始值为1;
对于遍历到的第N行语句,判断遍历到的第N行语句中是否存在设定的标准代码特征库中包含的代码特征;
若存在,则对存在的代码特征进行一次计数;
对N的取值加1,返回执行所述遍历所述RTL代码中的第N行语句的步骤,直到所述RTL代码中的每一行语句被遍历完毕。
3.根据权利要求1所述的方法,其特征在于,在所述将所述电路设计特征输入到预训练的资源预估模型中,以输出用于电路设计的不同类型的电路器件资源的设计参数之后,所述方法还包括:
将所述用于电路设计的不同类型的电路器件资源的设计参数、各个所述用于电路设计的不同类型的电路器件资源的连接关系、预设的现场可编程逻辑门阵列系统的数量和每个所述现场可编程逻辑门阵列系统的属性参数,输入到预训练的资源分配模型中,以输出多个所述用于电路设计的不同类型的电路器件资源的设计参数分配给多个所述现场可编程逻辑门阵列系统的实际分配策略,其中,所述资源分配模型是将多个历史上的用于电路设计的不同类型的电路器件资源的设计参数、对应的各个所述历史上的用于电路设计的不同类型的电路器件资源的连接关系、对应的历史现场可编程逻辑门阵列系统的数量和每个所述历史现场可编程逻辑门阵列系统的属性参数、以及对应的历史资源分配合理度构成的训练样本集训练得到的。
4.根据权利要求3所述的方法,其特征在于,所述训练样本集包括多个训练样本子集,在所述获取寄存器传输级RTL代码之前,所述方法还包括:
将第N批次训练样本子集输入到强化学习网络中,以输出所述历史上的用于电路设计的不同类型的电路器件资源的设计参数,分配给多个历史现场可编程逻辑门阵列系统的第N历史分配策略,其中,N为正整数且N的初始值为2;
接收用户针对所述第N历史分配策略构建的历史逻辑电路输入的第N功耗值、第N布线数量、以及第N性能值;
根据所述第N功耗值、所述第N布线数量、以及所述第N性能值,生成第N资源分配合理度;
若所述第N资源分配合理度与第N-1资源分配合理度的第一差值大于设定的阈值,则根据所述第一差值更新所述强化学习网络的网络参数,其中,所述第N-1资源分配合理度是根据第N-1功耗值、第N-1布线数量、以及第N-1性能值得到的;
对N加1,返回所述将第N批次训练样本子集输入到强化学习网络中,以输出所述历史上的用于电路设计的不同类型的电路器件资源的设计参数,分配给多个历史现场可编程逻辑门阵列系统的第N历史分配策略的步骤,直到所述第N资源分配合理度与所述第N-1资源分配合理度的第一差值小于或等于所述设定的阈值,并将最终得到的强化学习网络作为所述资源分配模型。
5.根据权利要求4所述的方法,其特征在于,所述根据功耗值、布线数量、以及性能值,生成第N资源分配合理度,包括:
根据算式,确定第N资源分配合理度,其中,/>为第一加权系数、为第二加权系数、/>为第三加权系数,S为所述性能值、n为所述布线数量、P为所述功耗值,D为所述第N资源分配合理度。
6.根据权利要求1-5任一所述的方法,其特征在于,在所述获取寄存器传输级RTL代码之前,所述方法还包括:
根据多个历史电路设计特征及分别对应的历史上的用于电路设计的不同类型的电路器件资源的标准数量,构建训练样本集;
将第M个所述训练样本输入到待训练网络中训练,输出第M个用于电路设计的不同类型的电路器件资源的训练数量,其中,M为整数且M的初始值为1;
若所述第M个训练样本对应的历史上的用于电路设计的不同类型的电路器件资源的标准数量与所述第M个用于电路设计的不同类型的电路器件资源的训练数量存在第二差值,则根据所述第二差值更新所述待训练网络的网络参数;
对M的取值加1,并返回所述第M个所述训练样本输入到待训练网络中训练,输出第M个用于电路设计的不同类型的电路器件资源的训练数量的步骤,直到所述第M个训练样本对应的历史上的用于电路设计的不同类型的电路器件资源的标准数量与所述第M个用于电路设计的不同类型的电路器件资源的训练数量之间不存在第二差值,将最终得到的待训练网络确定为所述资源预估模型。
7.根据权利要求1-5任一所述的方法,其特征在于,在所述基于正则化方式统计所述RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征分别对应的特征数量之后,所述方法还包括:
对所述多个维度类型的代码特征分别对应的特征数量进行数据清洗、和/或进行归一化处理、和/或进行标准化处理。
8.一种电路器件资源的预估装置,其特征在于,配置于服务器,所述装置包括:
数据获取单元,用于获取寄存器传输级RTL代码;
特征统计单元,用于响应于接收到的资源预测指令,基于正则化方式统计所述RTL代码中的用于指示逻辑电路特征的多个维度类型的代码特征的特征数量;
特征融合单元,用于对多个所述代码特征的维度类型及对应的特征数量进行融合,得到电路设计特征;
资源预估单元,用于将所述电路设计特征输入到预训练的资源预估模型中,以输出用于电路设计的不同类型的电路器件资源的设计参数,其中,所述资源预估模型是将多个历史路设计特征及对应的历史上的不同类型的电路器件资源的设计参数构成训练样本集输入到待训练网络中得到的。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的电路器件资源的预估方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的电路器件资源的预估方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410179566.9A CN117744547B (zh) | 2024-02-18 | 2024-02-18 | 电路器件资源的预估方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410179566.9A CN117744547B (zh) | 2024-02-18 | 2024-02-18 | 电路器件资源的预估方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117744547A true CN117744547A (zh) | 2024-03-22 |
CN117744547B CN117744547B (zh) | 2024-05-24 |
Family
ID=90253029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410179566.9A Active CN117744547B (zh) | 2024-02-18 | 2024-02-18 | 电路器件资源的预估方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117744547B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028198A1 (en) * | 2005-07-29 | 2007-02-01 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for allocating data paths to minimize unnecessary power consumption in functional units |
US8938704B1 (en) * | 2014-07-28 | 2015-01-20 | Xilinx, Inc. | Circuit module generation for programmable integrated circuits |
US20170074932A1 (en) * | 2014-05-29 | 2017-03-16 | Universiteit Gent | Integrated circuit verification using parameterized configuration |
CN115315702A (zh) * | 2020-03-14 | 2022-11-08 | 美商新思科技有限公司 | 早期阶段电路设计中基于机器学习的度量的预测 |
CN116127913A (zh) * | 2023-01-17 | 2023-05-16 | 海光信息技术股份有限公司 | 用于集成电路芯片的设计的功耗分析方法及装置 |
CN116151175A (zh) * | 2021-11-22 | 2023-05-23 | 复旦大学 | 基于布尔满足的考虑资源共享高层次综合调度方法 |
CN116263858A (zh) * | 2023-03-17 | 2023-06-16 | 山东高云半导体科技有限公司 | 一种生成码流文件的方法、装置、计算机存储介质及终端 |
US20230214564A1 (en) * | 2022-01-03 | 2023-07-06 | International Business Machines Corporation | System for collaborative hardware rtl logic timing debug in integrated circuit designs |
CN117077586A (zh) * | 2023-10-16 | 2023-11-17 | 北京汤谷软件技术有限公司 | 一种电路设计的寄存器传输级资源预测方法、装置及设备 |
CN117077587A (zh) * | 2023-10-16 | 2023-11-17 | 北京汤谷软件技术有限公司 | 一种电路设计的资源预测方法、装置及设备 |
-
2024
- 2024-02-18 CN CN202410179566.9A patent/CN117744547B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028198A1 (en) * | 2005-07-29 | 2007-02-01 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for allocating data paths to minimize unnecessary power consumption in functional units |
US20170074932A1 (en) * | 2014-05-29 | 2017-03-16 | Universiteit Gent | Integrated circuit verification using parameterized configuration |
US8938704B1 (en) * | 2014-07-28 | 2015-01-20 | Xilinx, Inc. | Circuit module generation for programmable integrated circuits |
CN115315702A (zh) * | 2020-03-14 | 2022-11-08 | 美商新思科技有限公司 | 早期阶段电路设计中基于机器学习的度量的预测 |
CN116151175A (zh) * | 2021-11-22 | 2023-05-23 | 复旦大学 | 基于布尔满足的考虑资源共享高层次综合调度方法 |
US20230214564A1 (en) * | 2022-01-03 | 2023-07-06 | International Business Machines Corporation | System for collaborative hardware rtl logic timing debug in integrated circuit designs |
CN116127913A (zh) * | 2023-01-17 | 2023-05-16 | 海光信息技术股份有限公司 | 用于集成电路芯片的设计的功耗分析方法及装置 |
CN116263858A (zh) * | 2023-03-17 | 2023-06-16 | 山东高云半导体科技有限公司 | 一种生成码流文件的方法、装置、计算机存储介质及终端 |
CN117077586A (zh) * | 2023-10-16 | 2023-11-17 | 北京汤谷软件技术有限公司 | 一种电路设计的寄存器传输级资源预测方法、装置及设备 |
CN117077587A (zh) * | 2023-10-16 | 2023-11-17 | 北京汤谷软件技术有限公司 | 一种电路设计的资源预测方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
张曦: "面向高密度 FPGA原型验证系统的资源估算方法研究", 万方数据知识服务平台, 5 May 2023 (2023-05-05), pages 29 - 54 * |
Also Published As
Publication number | Publication date |
---|---|
CN117744547B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11100266B2 (en) | Generating integrated circuit floorplans using neural networks | |
CN107944610B (zh) | 预测事件流行度方法、服务器及计算机可读存储介质 | |
CN110058936B (zh) | 用于确定专用处理资源的资源量的方法、设备和计算机程序产品 | |
CN108805174A (zh) | 聚类方法及装置 | |
CN112700006B (zh) | 网络架构搜索方法、装置、电子设备及介质 | |
CN112181430B (zh) | 代码变更统计方法、装置、电子设备及存储介质 | |
CN114168318A (zh) | 存储释放模型的训练方法、存储释放方法及设备 | |
CN109828859A (zh) | 移动终端内存分析方法、装置、存储介质及电子设备 | |
CN115098257A (zh) | 一种资源调度方法、装置、设备以及存储介质 | |
CN110636522B (zh) | 一种通信网络覆盖质量的确定方法及装置 | |
CN117057290A (zh) | 时序优化方法、装置、电子设备及存储介质 | |
CN108377204A (zh) | 一种用户离网的预测方法及装置 | |
CN112365156B (zh) | 一种数据处理方法、数据处理装置、终端及存储介质 | |
CN117744547B (zh) | 电路器件资源的预估方法、装置、电子设备及存储介质 | |
CN112446501B (zh) | 真实网络环境中缓存分配模型的获取方法、装置及系统 | |
CN116614392B (zh) | 路由开销确定方法、路由开销监控方法及装置 | |
CN110489598B (zh) | 一种用户社团划分方法及装置 | |
CN111935005A (zh) | 数据传输方法、装置、处理设备及介质 | |
CN115203556A (zh) | 一种评分预测模型训练方法、装置、电子设备及存储介质 | |
CN114065947B (zh) | 一种数据访问推测方法、装置、存储介质及电子设备 | |
CN116362894A (zh) | 多目标学习方法、装置、电子设备及计算机可读存储介质 | |
CN111158732A (zh) | 访问数据处理方法、装置、计算机设备及存储介质 | |
CN116011677A (zh) | 时序数据的预测方法、装置、电子设备及存储介质 | |
CN114679335A (zh) | 电力监控系统网络安全风险评估训练、评估方法及设备 | |
CN111079390B (zh) | 一种复选框列表的选择状态确定方法以及装置 |
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 |