CN110705117A - 一种数字孪生系统复杂任务可配置高效求解方法和系统 - Google Patents
一种数字孪生系统复杂任务可配置高效求解方法和系统 Download PDFInfo
- Publication number
- CN110705117A CN110705117A CN201910966582.1A CN201910966582A CN110705117A CN 110705117 A CN110705117 A CN 110705117A CN 201910966582 A CN201910966582 A CN 201910966582A CN 110705117 A CN110705117 A CN 110705117A
- Authority
- CN
- China
- Prior art keywords
- parameter
- bit width
- interface
- precision
- digital twin
- 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
Images
Landscapes
- Logic Circuits (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种数字孪生系统复杂任务可配置高效求解方法和系统,该方法适用于Xilinx公司Virtex‑5系列FPGA芯片,包括:设计可配置算子模块,该模块包括完成数学运算的加、减、乘、除四个运算单元,每个运算单元均支持单、双精度浮点预算,且每个运算单元对外接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度;设计任务求解模块,该模块首先建立BRAM接收数字孪生系统发送的数据帧并完成帧格式正确性判断,然后解析数据帧并完成参数1和参数2的浮点转换,最后调用相应的运算单元进行计算,将计算结果重新组帧并发送给数字孪生系统。本发明可根据需求配置不同的运算求解模式,能够在一定程度上实现数字孪生系统复杂任务的高效求解。
Description
技术领域
本发明属于电子工程和计算机科学领域,具体涉及一种数字孪生系统复杂任务可配置高效求解方法和系统。
背景技术
数字孪生技术作为能够有力促进智能制造发展的关键使能技术已得到国内外广大学者和企业的关注、研究和应用,基于数字孪生驱动的物理实体仿真预测是数字孪生领域中的研究重点,包括单个设备的仿真预测、整个产线工艺的仿真预测以及整个车间/工厂生产过程的仿真预测。数字孪生系统的仿真预测涉及到单个设备、产线和车间,工艺复杂、设备异构等,可以说数字孪生系统的仿真预测是一个复杂任务。从另一个角度分析,数字孪生系统复杂任务的数学本质可以理解为一个复杂算法,该算法由基本的加、减、乘、除组成,如果能够对这些基本的数学运行进行加速,那么数字孪生系统复杂任务的求解效率将会得到提升;同时算法中参与运算的参数位宽、运算精度各不相同,如果能够对运算操作进行配置将会进一步提升数字孪生系统复杂任务的求解效率。
发明内容
本发明要解决的技术问题为:提供一种数字孪生系统复杂任务可配置高效求解方法和系统,为此,本发明公开了一种数字孪生系统复杂任务可配置高效求解方法,该方法适用于Xilinx公司Virtex-5系列FPGA芯片,可根据需求配置不同的运算求解模式,能够在一定程度上实现数字孪生系统复杂任务的高效求解。该方法涵盖了可配置算子模块设计、任务求解模块设计,可根据需求配置不同的运算求解模式,能够在一定程度上实现数字孪生系统复杂任务的高效求解。
本发明解决其技术问题是采取以下技术方案实现的:一种数字孪生系统复杂任务可配置高效求解方法,包括:
(1)设计可配置算子模块,该模块包括完成数学运算的加、减、乘、除四个运算单元,每个运算单元均支持单、双精度浮点预算,且每个运算单元对外接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,具体实现如下:
①调用FPGA自带的原语(primitive)来设计数学运算状态机以实现加、减、乘、除四个运算功能;
②对每个运算功能进行封装以形成彼此独立的运算单元,每个运算单元封装后的接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,其中使能、参数1、参数2、参数位宽、运算精度为输入接口,参数3和忙状态指示为输出接口;
③使能接口的位宽为1bit,当使能接口的输入为二进制'0'时,表示启用该运算单元;当使能接口的输入为二进制'1'时,表示不启用该运算单元
④参数1接口的位宽为32bit或64bit,根据参数位宽接口确定,参数1表示参与运算的第一个参数,如在减法运算中表示被减数、在除法运算中表示被除数;参数1接口的输入必须为符合IEEE 754标准的浮点数;
⑤参数2接口的位宽为32bit或64bit,根据参数位宽接口确定,参数2表示参与运算的第二个参数,如在减法运算中表示减数、在除法运算中表示除数;参数2接口的输入必须为符合IEEE 754标准的浮点数;
⑥参数3接口的位宽为32bit或64bit,根据参数位宽接口确定,参数3表示运算结果,其数据类型为符合IEEE 754标准的浮点数;
⑦参数位宽接口的位宽为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不符合IEEE 754浮点数标准,则需要首先完成参数1和参数2的基于IEEE 754标准的浮点数转换;
⑨根据运算类型调用相应的运算单元执行运算任务,如果该运算单元的忙状态指示接口输出为二进制'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接口的输入必须为符合IEEE 754标准的浮点数;
⑤参数2接口的位宽为32bit或64bit,根据参数位宽接口确定,参数2表示参与运算的第二个参数,在减法运算中表示减数、在除法运算中表示除数;参数2接口的输入必须为符合IEEE 754标准的浮点数;
⑥参数3接口的位宽为32bit或64bit,根据参数位宽接口确定,参数3表示运算结果,其数据类型为符合IEEE 754标准的浮点数;
⑦参数位宽接口的位宽为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不符合IEEE 754浮点数标准,则需要首先完成参数1和参数2的基于IEEE 754标准的浮点数转换;
⑨根据运算类型调用相应的运算单元执行运算任务,如果该运算单元的忙状态指示接口输出为二进制'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接口的输入必须为符合IEEE 754标准的浮点数;
⑤参数2接口的位宽为32bit或64bit,根据参数位宽接口确定,参数2表示参与运算的第二个参数,如在减法运算中表示减数、在除法运算中表示除数;参数2接口的输入必须为符合IEEE 754标准的浮点数;
⑥参数3接口的位宽为32bit或64bit,根据参数位宽接口确定,参数3表示运算结果,其数据类型为符合IEEE 754标准的浮点数;
⑦参数位宽接口的位宽为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(Block RandomAccess Memory,块随机存取存储器)接收数字孪生系统发送的数据帧并完成帧格式正确性判断,然后解析数据帧并完成参数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不符合IEEE 754浮点数标准,则需要首先完成参数1和参数2的基于IEEE 754标准的浮点数转换;
⑨根据运算类型调用相应的运算单元执行运算任务,如果该运算单元的忙状态指示接口输出为二进制'0',则将该运算单元的使能接口赋予二进制'0'以启用该运算单元,否则,运算任务处于等待中;
⑩建立BRAM2接收运算单元反馈的运算结果,按照①中定义的帧格式将运算结果填充到参数3字段中并重新组帧返回给数字孪生系统。
综上所述,本发明公开了一种数字孪生系统复杂任务可配置高效求解方法和系统,包括可配置算子模块设计、任务求解模块设计,可根据需求配置不同的运算求解模式,能够在一定程度上实现数字孪生系统复杂任务的高效求解。
本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种数字孪生系统复杂任务可配置高效求解方法,其特征在于,包括:
步骤(1)、设计可配置算子模块,该模块包括完成数学运算的加、减、乘、除四个运算单元,每个运算单元均支持单、双精度浮点预算,且每个运算单元对外接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,具体实现如下:
①调用FPGA自带的原语(primitive)来设计数学运算状态机以实现加、减、乘、除四个运算功能;
②对每个运算功能进行封装以形成彼此独立的运算单元,每个运算单元封装后的接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,其中使能、参数1、参数2、参数位宽、运算精度为输入接口,参数3和忙状态指示为输出接口;
③使能接口的位宽为1bit,当使能接口的输入为二进制'0'时,表示启用该运算单元;当使能接口的输入为二进制'1'时,表示不启用该运算单元;
④参数1接口的位宽为32bit或64bit,根据参数位宽接口确定,参数1表示参与运算的第一个参数,在减法运算中表示被减数、在除法运算中表示被除数;参数1接口的输入必须为符合IEEE 754标准的浮点数;
⑤参数2接口的位宽为32bit或64bit,根据参数位宽接口确定,参数2表示参与运算的第二个参数,在减法运算中表示减数、在除法运算中表示除数;参数2接口的输入必须为符合IEEE 754标准的浮点数;
⑥参数3接口的位宽为32bit或64bit,根据参数位宽接口确定,参数3表示运算结果,其数据类型为符合IEEE 754标准的浮点数;
⑦参数位宽接口的位宽为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不符合IEEE 754浮点数标准,则需要首先完成参数1和参数2的基于IEEE754标准的浮点数转换;
⑨根据运算类型调用相应的运算单元执行运算任务,如果该运算单元的忙状态指示接口输出为二进制'0',则将该运算单元的使能接口赋予二进制'0'以启用该运算单元,否则,运算任务处于等待中;
⑩建立BRAM2接收运算单元反馈的运算结果,按照①中定义的帧格式将运算结果填充到参数3字段中并重新组帧返回给数字孪生系统。
2.如权利要求1所述的一种数字孪生系统复杂任务可配置高效求解方法,其特征在于,该方法适用于Xilinx公司Virtex-5系列FPGA芯片。
3.一种数字孪生系统复杂任务可配置高效求解系统,其特征在于,包括:可配置算子模块和任务求解模块;其中:
可配置算子模块,包括完成数学运算的加、减、乘、除四个运算单元,每个运算单元均支持单、双精度浮点预算,且每个运算单元对外接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,具体实现如下:
①调用FPGA自带的原语(primitive)来设计数学运算状态机以实现加、减、乘、除四个运算功能;
②对每个运算功能进行封装以形成彼此独立的运算单元,每个运算单元封装后的接口均包括使能、参数1、参数2、参数3、参数位宽、忙状态指示、运算精度,其中使能、参数1、参数2、参数位宽、运算精度为输入接口,参数3和忙状态指示为输出接口;
③使能接口的位宽为1bit,当使能接口的输入为二进制'0'时,表示启用该运算单元;当使能接口的输入为二进制'1'时,表示不启用该运算单元;
④参数1接口的位宽为32bit或64bit,根据参数位宽接口确定,参数1表示参与运算的第一个参数,在减法运算中表示被减数、在除法运算中表示被除数;参数1接口的输入必须为符合IEEE 754标准的浮点数;
⑤参数2接口的位宽为32bit或64bit,根据参数位宽接口确定,参数2表示参与运算的第二个参数,在减法运算中表示减数、在除法运算中表示除数;参数2接口的输入必须为符合IEEE 754标准的浮点数;
⑥参数3接口的位宽为32bit或64bit,根据参数位宽接口确定,参数3表示运算结果,其数据类型为符合IEEE 754标准的浮点数;
⑦参数位宽接口的位宽为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不符合IEEE 754浮点数标准,则需要首先完成参数1和参数2的基于IEEE754标准的浮点数转换;
⑨根据运算类型调用相应的运算单元执行运算任务,如果该运算单元的忙状态指示接口输出为二进制'0',则将该运算单元的使能接口赋予二进制'0'以启用该运算单元,否则,运算任务处于等待中;
⑩建立BRAM2接收运算单元反馈的运算结果,按照帧格式将运算结果填充到参数3字段中并重新组帧返回给数字孪生系统。
4.如权利要求3所述的一种数字孪生系统复杂任务可配置高效求解系统,其特征在于,该系统适用于Xilinx公司Virtex-5系列FPGA芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910966582.1A CN110705117B (zh) | 2019-10-12 | 2019-10-12 | 一种数字孪生系统复杂任务可配置高效求解方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910966582.1A CN110705117B (zh) | 2019-10-12 | 2019-10-12 | 一种数字孪生系统复杂任务可配置高效求解方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110705117A true CN110705117A (zh) | 2020-01-17 |
CN110705117B CN110705117B (zh) | 2020-10-09 |
Family
ID=69198502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910966582.1A Active CN110705117B (zh) | 2019-10-12 | 2019-10-12 | 一种数字孪生系统复杂任务可配置高效求解方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110705117B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400897A (zh) * | 2020-03-12 | 2020-07-10 | 广东工业大学 | 一种基于车间数字孪生模型的泛化封装方法和系统 |
CN113111201A (zh) * | 2021-04-19 | 2021-07-13 | 北京航空航天大学 | 一种数字孪生模型轻量化方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677740A (zh) * | 2013-12-13 | 2014-03-26 | 广西科技大学 | 浮点数加/减、乘、除运算执行控制器 |
CN109828744A (zh) * | 2019-01-18 | 2019-05-31 | 东北师范大学 | 一种基于fpga的可配置浮点向量乘法ip核 |
CN109873185A (zh) * | 2017-12-04 | 2019-06-11 | 通用电气公司 | 基于数字孪生体的管理系统和方法及基于数字孪生体的燃料电池管理系统和方法 |
-
2019
- 2019-10-12 CN CN201910966582.1A patent/CN110705117B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677740A (zh) * | 2013-12-13 | 2014-03-26 | 广西科技大学 | 浮点数加/减、乘、除运算执行控制器 |
CN109873185A (zh) * | 2017-12-04 | 2019-06-11 | 通用电气公司 | 基于数字孪生体的管理系统和方法及基于数字孪生体的燃料电池管理系统和方法 |
CN109828744A (zh) * | 2019-01-18 | 2019-05-31 | 东北师范大学 | 一种基于fpga的可配置浮点向量乘法ip核 |
Non-Patent Citations (2)
Title |
---|
FEI TAO 等: "Digital Twin in Industry: State-of-the-Art", 《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》 * |
李浩 等: "基于数字孪生的复杂产品设计制造一体化开发框架与关键技术", 《计算机集成制造系统》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400897A (zh) * | 2020-03-12 | 2020-07-10 | 广东工业大学 | 一种基于车间数字孪生模型的泛化封装方法和系统 |
CN113111201A (zh) * | 2021-04-19 | 2021-07-13 | 北京航空航天大学 | 一种数字孪生模型轻量化方法和系统 |
CN113111201B (zh) * | 2021-04-19 | 2022-02-11 | 北京航空航天大学 | 一种数字孪生模型轻量化方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110705117B (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102629189B (zh) | 基于fpga的流水浮点乘累加方法 | |
CN110705117B (zh) | 一种数字孪生系统复杂任务可配置高效求解方法和系统 | |
CN104579656A (zh) | 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器 | |
CN101625705B (zh) | 验证环境系统及其搭建方法 | |
CN108829382B (zh) | 一种用Python建立参考模型提高自动化验证平台效率的方法 | |
CN112990850A (zh) | 一种基于规则引擎的流程实现方法及系统 | |
CN101656535A (zh) | 针对多模式逻辑单元可编程门阵列的工艺映射方法 | |
CN104123400A (zh) | 基于力法的Global-Local细节有限元分析方法 | |
CN103279323A (zh) | 一种加法器 | |
CN102215026B (zh) | 基于dsp与fpga的高压变频器中性点偏移技术的控制装置 | |
CN101827044B (zh) | 一种基于混合qr分解的最小二乘fpga求解装置 | |
CN102183896B (zh) | 一种利用Matlab测试核电站保护逻辑的系统 | |
CN102831230B (zh) | 一种混合动力总成的部件选型方法及系统 | |
CN202395792U (zh) | 基于fpga的双精度混沌信号发生器 | |
CN104536893A (zh) | 一种批量处理程序容报错处理方法及装置 | |
CN104182201A (zh) | 尤其在模型计算单元中纯基于硬件计算函数模型的fma单元 | |
CN111142840B (zh) | 基于fpga的数据计算方法和装置 | |
CN102226885A (zh) | 一种模2n-2k-1加法器及设计方法 | |
EP2735963A1 (en) | Galois field inversion device | |
CN108255463A (zh) | 一种数字逻辑运算方法、电路和fpga芯片 | |
CN115686439A (zh) | 一种车辆的电子电气架构变型管理方法及装置 | |
CN111190571B (zh) | 一种基于二元扩域的模乘电路及其控制方法 | |
CN106777641A (zh) | 一种带倒直角的加强板快速建模方法 | |
CN106126193A (zh) | 基于Zynq的椭圆曲线点加运算加速器及加速方法 | |
CN111783313A (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 |