一种数字孪生系统复杂任务可配置高效求解方法和系统与流程

文档序号:19739360发布日期:2020-01-18 04:59阅读:185来源:国知局
一种数字孪生系统复杂任务可配置高效求解方法和系统与流程

本发明属于电子工程和计算机科学领域,具体涉及一种数字孪生系统复杂任务可配置高效求解方法和系统。



背景技术:

数字孪生技术作为能够有力促进智能制造发展的关键使能技术已得到国内外广大学者和企业的关注、研究和应用,基于数字孪生驱动的物理实体仿真预测是数字孪生领域中的研究重点,包括单个设备的仿真预测、整个产线工艺的仿真预测以及整个车间/工厂生产过程的仿真预测。数字孪生系统的仿真预测涉及到单个设备、产线和车间,工艺复杂、设备异构等,可以说数字孪生系统的仿真预测是一个复杂任务。从另一个角度分析,数字孪生系统复杂任务的数学本质可以理解为一个复杂算法,该算法由基本的加、减、乘、除组成,如果能够对这些基本的数学运行进行加速,那么数字孪生系统复杂任务的求解效率将会得到提升;同时算法中参与运算的参数位宽、运算精度各不相同,如果能够对运算操作进行配置将会进一步提升数字孪生系统复杂任务的求解效率。



技术实现要素:

本发明要解决的技术问题为:提供一种数字孪生系统复杂任务可配置高效求解方法和系统,为此,本发明公开了一种数字孪生系统复杂任务可配置高效求解方法,该方法适用于xilinx公司virtex-5系列fpga芯片,可根据需求配置不同的运算求解模式,能够在一定程度上实现数字孪生系统复杂任务的高效求解。该方法涵盖了可配置算子模块设计、任务求解模块设计,可根据需求配置不同的运算求解模式,能够在一定程度上实现数字孪生系统复杂任务的高效求解。

本发明解决其技术问题是采取以下技术方案实现的:一种数字孪生系统复杂任务可配置高效求解方法,包括:

(1)设计可配置算子模块,该模块包括完成数学运算的加、减、乘、除四个运算单元,每个运算单元均支持单、双精度浮点预算,且每个运算单元对外接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,具体实现如下:

①调用fpga自带的原语(primitive)来设计数学运算状态机以实现加、减、乘、除四个运算功能;

②对每个运算功能进行封装以形成彼此独立的运算单元,每个运算单元封装后的接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,其中使能、参数1、参数2、参数位宽、运算精度为输入接口,参数3和忙状态指示为输出接口;

③使能接口的位宽为1bit,当使能接口的输入为二进制'0'时,表示启用该运算单元;当使能接口的输入为二进制'1'时,表示不启用该运算单元

④参数1接口的位宽为32bit或64bit,根据参数位宽接口确定,参数1表示参与运算的第一个参数,如在减法运算中表示被减数、在除法运算中表示被除数;参数1接口的输入必须为符合ieee754标准的浮点数;

⑤参数2接口的位宽为32bit或64bit,根据参数位宽接口确定,参数2表示参与运算的第二个参数,如在减法运算中表示减数、在除法运算中表示除数;参数2接口的输入必须为符合ieee754标准的浮点数;

⑥参数3接口的位宽为32bit或64bit,根据参数位宽接口确定,参数3表示运算结果,其数据类型为符合ieee754标准的浮点数;

⑦参数位宽接口的位宽为1bit,决定着参数1、参数2和参数3接口的位宽,即当参数位宽接口的输入为二进制'0'时,表示参数1、参数2和参数3接口的位宽为32bit;当参数位宽接口的输入为二进制'1'时,表示参数1、参数2和参数3接口的位宽为64bit;

⑧忙状态指示接口的位宽为1bit,当其输出为二进制'0'时,表示该运算单元处于空闲中;当其输出为二进制'1'时,表示该运算单元正在执行运算任务;

⑨运算精度接口的位宽为1bit,当其输入为二进制'0'时,表示该运算单元执行单精度浮点运算;当其输入为二进制'1'时,表示该运算单元执行双精度浮点运算;

(2)设计任务求解模块,该模块首先建立bram接收数字孪生系统发送的数据帧并完成帧格式正确性判断,然后解析数据帧并完成参数1和参数2的浮点转换,最后调用相应的运算单元进行计算,将计算结果重新组帧并发送给数字孪生系统,具体实现如下:

①定义数字孪生系统与任务求解模块之间数据传输的帧格式,具体包括帧头、数据流动方向、参数1、参数2、参数3、参数位宽、运算精度、运算类型、校验、帧尾;

②如①所述的帧格式,其中帧头和帧尾用于标识一个数据帧的起始和结尾,位宽和具体填充内容可自行确定;

③如①所述的帧格式,数据流动方向字段的位宽为1bit,当其为二进制'0'时,表示数据帧由数字孪生系统发往任务求解模块,此时参数3字段填充0;当其为二进制'1'时,表示数据帧由任务求解模块回传给数字孪生系统,此时参数1字段和参数2字段填充0;

④如①所述的帧格式,参数1、参数2、参数3、参数位宽、运算精度字段分别与(1)中运算单元接口中的参数1、参数2、参数3、参数位宽、运算精度接口的位宽和功能一致;

⑤如①所述的帧格式,运算类型字段的位宽为2bit,当其输入为十六进制00时,表示执行加运算;当其输入为十六进制01时,表示执行减运算;当其输入为十六进制02时,表示执行乘运算;当其输入为十六进制03时,表示执行除运算;

⑥如①所述的帧格式,校验字段目的是验证数据帧的完整性,确保接收数据的正确性,具体校验方式和位宽可自行确定;

⑦建立bram1接收数字孪生系统发送过来的数据帧,并完成帧格式正确性判断,如果帧格式正确性判断不通过,则直接丢弃该数据帧;可根据⑥中自行确定的校验方式完成帧格式的正确性判断;

⑧解析bram1中数据帧并得到参数1、参数2、参数位宽、运算精度、运算类型;如果参数1和参数2不符合ieee754浮点数标准,则需要首先完成参数1和参数2的基于ieee754标准的浮点数转换;

⑨根据运算类型调用相应的运算单元执行运算任务,如果该运算单元的忙状态指示接口输出为二进制'0',则将该运算单元的使能接口赋予二进制'0'以启用该运算单元,否则,运算任务处于等待中;

⑩建立bram2接收运算单元反馈的运算结果,按照①中定义的帧格式将运算结果填充到参数3字段中并重新组帧返回给数字孪生系统。

本发明设计的一种数字孪生系统复杂任务可配置高效求解方法,该方法适用于xilinx公司virtex-5系列fpga芯片。

本发明还提出一种数字孪生系统复杂任务可配置高效求解系统,包括:可配置算子模块和任务求解模块;其中:

可配置算子模块,包括完成数学运算的加、减、乘、除四个运算单元,每个运算单元均支持单、双精度浮点预算,且每个运算单元对外接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,具体实现如下:

①调用fpga自带的原语(primitive)来设计数学运算状态机以实现加、减、乘、除四个运算功能;

②对每个运算功能进行封装以形成彼此独立的运算单元,每个运算单元封装后的接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,其中使能、参数1、参数2、参数位宽、运算精度为输入接口,参数3和忙状态指示为输出接口;

③使能接口的位宽为1bit,当使能接口的输入为二进制'0'时,表示启用该运算单元;当使能接口的输入为二进制'1'时,表示不启用该运算单元;

④参数1接口的位宽为32bit或64bit,根据参数位宽接口确定,参数1表示参与运算的第一个参数,在减法运算中表示被减数、在除法运算中表示被除数;参数1接口的输入必须为符合ieee754标准的浮点数;

⑤参数2接口的位宽为32bit或64bit,根据参数位宽接口确定,参数2表示参与运算的第二个参数,在减法运算中表示减数、在除法运算中表示除数;参数2接口的输入必须为符合ieee754标准的浮点数;

⑥参数3接口的位宽为32bit或64bit,根据参数位宽接口确定,参数3表示运算结果,其数据类型为符合ieee754标准的浮点数;

⑦参数位宽接口的位宽为1bit,决定着参数1、参数2和参数3接口的位宽,即当参数位宽接口的输入为二进制'0'时,表示参数1、参数2和参数3接口的位宽为32bit;当参数位宽接口的输入为二进制'1'时,表示参数1、参数2和参数3接口的位宽为64bit;

⑧忙状态指示接口的位宽为1bit,当其输出为二进制'0'时,表示该运算单元处于空闲中;当其输出为二进制'1'时,表示该运算单元正在执行运算任务;

⑨运算精度接口的位宽为1bit,当其输入为二进制'0'时,表示该运算单元执行单精度浮点运算;当其输入为二进制'1'时,表示该运算单元执行双精度浮点运算;

任务求解模块,首先建立bram接收数字孪生系统发送的数据帧并完成帧格式正确性判断,然后解析数据帧并完成参数1和参数2的浮点转换,最后调用相应的运算单元进行计算,将计算结果重新组帧并发送给数字孪生系统,具体实现如下:

①定义数字孪生系统与任务求解模块之间数据传输的帧格式,具体包括帧头、数据流动方向、参数1、参数2、参数3、参数位宽、运算精度、运算类型、校验、帧尾;

②根据所述的帧格式,其中帧头和帧尾用于标识一个数据帧的起始和结尾,位宽和具体填充内容自行确定;

③根据所述的帧格式,数据流动方向字段的位宽为1bit,当其为二进制'0'时,表示数据帧由数字孪生系统发往任务求解模块,此时参数3字段填充0;当其为二进制'1'时,表示数据帧由任务求解模块回传给数字孪生系统,此时参数1字段和参数2字段填充0;

④根据所述的帧格式,参数1、参数2、参数3、参数位宽、运算精度字段分别与(1)中运算单元接口中的参数1、参数2、参数3、参数位宽、运算精度接口的位宽和功能一致;

⑤根据所述的帧格式,运算类型字段的位宽为2bit,当其输入为十六进制00时,表示执行加运算;当其输入为十六进制01时,表示执行减运算;当其输入为十六进制02时,表示执行乘运算;当其输入为十六进制03时,表示执行除运算;

⑥根据所述的帧格式,校验字段目的是验证数据帧的完整性,确保接收数据的正确性,具体校验方式和位宽可自行确定;

⑦建立bram1接收数字孪生系统发送过来的数据帧,并完成帧格式正确性判断,如果帧格式正确性判断不通过,则直接丢弃该数据帧;根据⑥中自行确定的校验方式完成帧格式的正确性判断;

⑧解析bram1中数据帧并得到参数1、参数2、参数位宽、运算精度、运算类型;如果参数1和参数2不符合ieee754浮点数标准,则需要首先完成参数1和参数2的基于ieee754标准的浮点数转换;

⑨根据运算类型调用相应的运算单元执行运算任务,如果该运算单元的忙状态指示接口输出为二进制'0',则将该运算单元的使能接口赋予二进制'0'以启用该运算单元,否则,运算任务处于等待中;

⑩建立bram2接收运算单元反馈的运算结果,按照帧格式将运算结果填充到参数3字段中并重新组帧返回给数字孪生系统。

有益效果:

本发明与现有技术相比的优点在于:

(1)从数学角度出发,将数字孪生系统复杂任务理解为一个复杂算法,进而从基本的加、减、乘、除数学运算的fpga加速角度提升整体任务的执行效率;

(2)从参与运算的参数位宽、运算精度等的可配置设计出发,实现了可根据需求配置不同运算求解模式的功能。

附图说明

图1为本发明的系统结构框图;

图2为本发明的方法流程框图。

具体实施方式

下面结合附图对本发明做进一步详细的描述。

本发明涉及一种数字孪生系统复杂任务可配置高效求解方法,适用于fpga可编程逻辑芯片,例如xilinx公司virtex-5系列fpga芯片。数字孪生系统的仿真预测涉及到单个设备、产线和车间,工艺复杂、设备异构等,可以说数字孪生系统的仿真预测是一个复杂任务。从另一个角度分析,数字孪生系统复杂任务的数学本质可以理解为一个复杂算法,该算法由基本的加、减、乘、除组成,如果能够对这些基本的数学运行进行加速,那么数字孪生系统复杂任务的求解效率将会得到提升;同时算法中参与运算的参数位宽、运算精度各不相同,如果能够对运算操作进行配置将会进一步提升数字孪生系统复杂任务的求解效率。本发明公开的方法包括可配置算子模块设计和任务求解模块设计,可根据需求配置不同的运算求解模式,能够在一定程度上实现数字孪生系统复杂任务的高效求解。

本发明的系统结构框图如图1所示,并且参见图2,具体实施方式如下:

(1)图1中的1表示可配置算子模块,该模块包括完成数学运算的加、减、乘、除四个运算单元,每个运算单元均支持单、双精度浮点预算,且每个运算单元对外接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,具体实现如下:

①调用fpga自带的原语(primitive)来设计数学运算状态机以实现加、减、乘、除四个运算功能;

②对每个运算功能进行封装以形成彼此独立的运算单元,每个运算单元封装后的接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,其中使能、参数1、参数2、参数位宽、运算精度为输入接口,参数3和忙状态指示为输出接口;

③使能接口的位宽为1bit,当使能接口的输入为二进制'0'时,表示启用该运算单元;当使能接口的输入为二进制'1'时,表示不启用该运算单元;

④参数1接口的位宽为32bit或64bit,根据参数位宽接口确定,参数1表示参与运算的第一个参数,如在减法运算中表示被减数、在除法运算中表示被除数;参数1接口的输入必须为符合ieee754标准的浮点数;

⑤参数2接口的位宽为32bit或64bit,根据参数位宽接口确定,参数2表示参与运算的第二个参数,如在减法运算中表示减数、在除法运算中表示除数;参数2接口的输入必须为符合ieee754标准的浮点数;

⑥参数3接口的位宽为32bit或64bit,根据参数位宽接口确定,参数3表示运算结果,其数据类型为符合ieee754标准的浮点数;

⑦参数位宽接口的位宽为1bit,决定着参数1、参数2和参数3接口的位宽,即当参数位宽接口的输入为二进制'0'时,表示参数1、参数2和参数3接口的位宽为32bit;当参数位宽接口的输入为二进制'1'时,表示参数1、参数2和参数3接口的位宽为64bit;

⑧忙状态指示接口的位宽为1bit,当其输出为二进制'0'时,表示该运算单元处于空闲中;当其输出为二进制'1'时,表示该运算单元正在执行运算任务;

⑨运算精度接口的位宽为1bit,当其输入为二进制'0'时,表示该运算单元执行单精度浮点运算;当其输入为二进制'1'时,表示该运算单元执行双精度浮点运算;

(2)图1中的2表示任务求解模块,参见图2,该模块首先建立bram(blockrandomaccessmemory,块随机存取存储器)接收数字孪生系统发送的数据帧并完成帧格式正确性判断,然后解析数据帧并完成参数1和参数2的浮点转换,最后调用相应的运算单元进行计算,将计算结果重新组帧并发送给数字孪生系统,具体实现如下:

①定义数字孪生系统与任务求解模块之间数据传输的帧格式,具体包括帧头、数据流动方向、参数1、参数2、参数3、参数位宽、运算精度、运算类型、校验、帧尾;

②如①所述的帧格式,其中帧头和帧尾用于标识一个数据帧的起始和结尾,位宽和具体填充内容可自行确定;

③如①所述的帧格式,数据流动方向字段的位宽为1bit,当其为二进制'0'时,表示数据帧由数字孪生系统发往任务求解模块,此时参数3字段填充0;当其为二进制'1'时,表示数据帧由任务求解模块回传给数字孪生系统,此时参数1字段和参数2字段填充0;

④如①所述的帧格式,参数1、参数2、参数3、参数位宽、运算精度字段分别与(1)中运算单元接口中的参数1、参数2、参数3、参数位宽、运算精度接口的位宽和功能一致;

⑤如①所述的帧格式,运算类型字段的位宽为2bit,当其输入为十六进制00时,表示执行加运算;当其输入为十六进制01时,表示执行减运算;当其输入为十六进制02时,表示执行乘运算;当其输入为十六进制03时,表示执行除运算;

⑥如①所述的帧格式,校验字段目的是验证数据帧的完整性,确保接收数据的正确性,具体校验方式和位宽可自行确定;

⑦建立bram1接收数字孪生系统发送过来的数据帧,并完成帧格式正确性判断,如果帧格式正确性判断不通过,则直接丢弃该数据帧;可根据⑥中自行确定的校验方式完成帧格式的正确性判断;

⑧解析bram1中数据帧并得到参数1、参数2、参数位宽、运算精度、运算类型;如果参数1和参数2不符合ieee754浮点数标准,则需要首先完成参数1和参数2的基于ieee754标准的浮点数转换;

⑨根据运算类型调用相应的运算单元执行运算任务,如果该运算单元的忙状态指示接口输出为二进制'0',则将该运算单元的使能接口赋予二进制'0'以启用该运算单元,否则,运算任务处于等待中;

⑩建立bram2接收运算单元反馈的运算结果,按照①中定义的帧格式将运算结果填充到参数3字段中并重新组帧返回给数字孪生系统。

综上所述,本发明公开了一种数字孪生系统复杂任务可配置高效求解方法和系统,包括可配置算子模块设计、任务求解模块设计,可根据需求配置不同的运算求解模式,能够在一定程度上实现数字孪生系统复杂任务的高效求解。

本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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