CN106815046A - 基于域存储的算法执行方法 - Google Patents

基于域存储的算法执行方法 Download PDF

Info

Publication number
CN106815046A
CN106815046A CN201611186502.3A CN201611186502A CN106815046A CN 106815046 A CN106815046 A CN 106815046A CN 201611186502 A CN201611186502 A CN 201611186502A CN 106815046 A CN106815046 A CN 106815046A
Authority
CN
China
Prior art keywords
data
algorithm performs
algorithm
algoritic module
floating
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.)
Pending
Application number
CN201611186502.3A
Other languages
English (en)
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.)
Center Control Systems Engineering (cse) Co Ltd
Original Assignee
Center Control Systems Engineering (cse) 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 Center Control Systems Engineering (cse) Co Ltd filed Critical Center Control Systems Engineering (cse) Co Ltd
Priority to CN201611186502.3A priority Critical patent/CN106815046A/zh
Publication of CN106815046A publication Critical patent/CN106815046A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices

Abstract

本发明涉及一种基于域存储的算法执行方法,具有可靠性高、算法执行效率高等特点,包含以下步骤:(1)算法执行器启动前进行初始化工作,等待算法执行开始的触发信号;(2)刷新输入数据到双口RAM内,包括输入缓冲区数据、参数变量数据,刷新完成后将输入数据搬运到内部存储器当中;(3)执行算法组态代码,算法模块库包含浮点计算器;(4)刷新输出数据,将输出数据从内部存储器搬运到双口RAM内;(5)计算输出数据的CRC,将CRC值写入双口RAM内。本发明的显著效果在于采用FPGA芯片实现算法组态功能,运算速度快、运行可靠性高。

Description

基于域存储的算法执行方法
技术领域
本发明涉及工业级控制系统中的组态功能领域,具体涉及一种基于域存储的算法执行方法。
背景技术
数字化仪控系统控制着核电站300多个系统近万套设备,是核电站的控制中枢,核电站数字化仪控系统由于安全性、可靠性要求极高,是核电装备国产化最重要、最困难的部分。
组态算法的执行是DCS实现组态功能的重要组成部分,具有运算数据量大、逻辑功能复杂、算法种类多等特点,包含逻辑运算、浮点数学运算、时间运算等基础运算,以及工程应用类如PID控制、RTD温度计算等复杂运算,是DCS系统中的核心部分。
目前组态算法的实现主要分为两种:
第一种为基于嵌入式软件的实现方式,工程师站完成图形化的组态编程后,下装到控制器模块内,受限于控制器芯片如ARM、PowerPC等,每次只能执行组态的一个算法块,算法执行效率低,每周期运算时间不确定等诸多缺点。
第二种为基于FPGA的实现方式,根据不同的工程应用领域,进行不同算法组态程序编写后烧写到FPGA芯片当中。但是每次针对不同的应用需要烧写不同的程序,并且DCS系统的代码验证工作流程复杂且时间较长,增加不必要的工作量。
发明内容
本发明的目的在于提供一种基于域存储的算法执行方法,具有可靠性高、算法执行效率高、应用灵活等特点,克服了传统DCS系统算法执行过程中的缺点,可完成复杂的组态功能计算,提高DCS系统的响应速度。
本发明的技术方案如下:
一种基于域存储的算法执行方法,所有过程均在FPGA内部实现,包含以下步骤:
第一步:算法执行器启动前进行初始化工作,等待算法执行开始的触发信号;
第二步:刷新输入数据到FPGA内部双口RAM内,包括输入缓冲区数据、参数变量数据,刷新完成后将输入数据搬运到内部存储器当中;
第三步:执行算法组态代码,算法模块库包含浮点计算器;
第四步:刷新输出数据,将输出数据从内部存储器搬运到FPGA内部双口RAM内;
第五步:计算输出数据的CRC,将CRC值写入FPGA内部双口RAM内。
第一步中所述的初始化工作包括检查数据区各部分数据的一致性,伪代码下装。
第三步中所述的浮点计算器包含2-4个浮点计算单元。
第三步中所述的执行算法组态代码的具体方式为:
当某一算法模块被调用,算法执行器将必要的数据写入寄存器,将系统总线的读写权及算法模块库内部总线的读写权赋予该算法模块,然后启动该算法模块;该算法模块根据寄存器当中的数据进行运算,若需要浮点计算,通过浮点计算单元总线调用上述的浮点计算器。
本发明的显著效果在于:
(1)采用FPGA芯片实现算法组态功能,运算速度快、运行可靠性高。
(2)算法组态可以在线配置,无需重新下载FPGA,灵活性高。
(3)伪代码、各个数据缓冲区均保存在不同的存储域当中,通过算法执行器的调度,实现伪代码与算法库的链接,完成算法组态功能。
附图说明
图1为本发明所述的基于域存储的算法执行方法的流程图。
具体实施方式
下面结合附图及具体实施例对本发明所述的基于域存储的算法执行方法作进一步详细说明。
如图1所示,一种基于域存储的算法执行方法,包含以下步骤:
第一步:算法执行器启动前进行一系列初始化工作,包括检查数据区各部分的数据一致性,伪代码下装;执行完成上述步骤后,等待算法执行开始的触发信号;
第二步:刷新输入数据到FPGA内部双口RAM内,包括输入缓冲区数据、参数变量数据,刷新完成后将输入数据搬运到内部存储器当中;
第三步:执行算法组态代码,算法模块库包含浮点计算器,所述的浮点计算器包含2-4个浮点计算单元;
当某一算法模块被调用,算法执行器将必要的数据写入寄存器,将系统总线的读写权及算法模块库内部总线的读写权赋予该算法模块,然后启动该算法模块;该算法模块根据寄存器当中的数据进行运算,若需要浮点计算,通过浮点计算单元总线调用上述的浮点计算器。
第四步:刷新输出数据,将输出数据从内部存储器搬运到FPGA内部双口RAM内;
第五步:计算输出数据的CRC,将CRC值写入FPGA内部双口RAM内,该周期执行完成。

Claims (4)

1.一种基于域存储的算法执行方法,所有过程均在FPGA内部实现,其特征在于:包含以下步骤:
第一步:算法执行器启动前进行初始化工作,等待算法执行开始的触发信号;
第二步:刷新输入数据到FPGA内部双口RAM内,所述输入数据包括输入缓冲区数据和参数变量数据,刷新完成后将输入数据搬运到内部存储器当中;
第三步:执行算法组态代码,算法模块库包含浮点计算器;
第四步:刷新输出数据,将输出数据从内部存储器搬运到FPGA内部双口RAM内;
第五步:计算输出数据的CRC,将CRC值写入FPGA内部双口RAM内。
2.如权利要求1所述的一种基于域存储的算法执行方法,其特征在于:第一步中所述的初始化工作包括检查数据区各部分数据的一致性和下装伪代码。
3.如权利要求1所述的一种基于域存储的算法执行方法,其特征在于:第三步中所述的浮点计算器包含2-4个浮点计算单元。
4.如权利要求1所述的一种基于域存储的算法执行方法,其特征在于:第三步中所述的执行算法组态代码的具体方式为:
当某一算法模块被调用,算法执行器将必要的数据写入寄存器,将系统总线的读写权及算法模块库内部总线的读写权赋予该算法模块,然后启动该算法模块;该算法模块根据寄存器当中的数据进行运算,若需要浮点计算,通过浮点计算单元总线调用上述的浮点计算器。
CN201611186502.3A 2016-12-20 2016-12-20 基于域存储的算法执行方法 Pending CN106815046A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611186502.3A CN106815046A (zh) 2016-12-20 2016-12-20 基于域存储的算法执行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611186502.3A CN106815046A (zh) 2016-12-20 2016-12-20 基于域存储的算法执行方法

Publications (1)

Publication Number Publication Date
CN106815046A true CN106815046A (zh) 2017-06-09

Family

ID=59110436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611186502.3A Pending CN106815046A (zh) 2016-12-20 2016-12-20 基于域存储的算法执行方法

Country Status (1)

Country Link
CN (1) CN106815046A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750127A (zh) * 2012-06-12 2012-10-24 清华大学 一种协处理器
CN103678257A (zh) * 2013-12-20 2014-03-26 上海交通大学 基于fpga的正定矩阵浮点求逆器及其求逆方法
CN105068955A (zh) * 2015-07-20 2015-11-18 北京广利核系统工程有限公司 一种局部总线结构及数据交互方法
CN105425662A (zh) * 2015-11-06 2016-03-23 北京广利核系统工程有限公司 基于fpga的集散控制系统中的主处理器及其控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750127A (zh) * 2012-06-12 2012-10-24 清华大学 一种协处理器
CN103678257A (zh) * 2013-12-20 2014-03-26 上海交通大学 基于fpga的正定矩阵浮点求逆器及其求逆方法
CN105068955A (zh) * 2015-07-20 2015-11-18 北京广利核系统工程有限公司 一种局部总线结构及数据交互方法
CN105425662A (zh) * 2015-11-06 2016-03-23 北京广利核系统工程有限公司 基于fpga的集散控制系统中的主处理器及其控制方法

Similar Documents

Publication Publication Date Title
CN104915322B (zh) 一种卷积神经网络硬件加速方法
CN104484238B (zh) 一种用于sram型fpga配置刷新的crc校验方法
CN103677208A (zh) 利用3d工作量执行动态电压和频率缩放策略的半导体器件
US11475193B2 (en) Control path verification of hardware design for pipelined process
CN103984560A (zh) 基于大规模粗粒度嵌入式可重构系统及其处理方法
US8918747B2 (en) Formal verification of a logic design
CN105550443A (zh) 一种基于SystemC周期精确的统一染色器阵列TLM模型
US8140314B2 (en) Optimal bus operation performance in a logic simulation environment
CN111124360B (zh) 一种可配置矩阵乘法的加速器
CN203250306U (zh) 一种高效硬件crc校验装置
CN206696842U (zh) 一种raid校验生成装置
CN106815046A (zh) 基于域存储的算法执行方法
CN103677742B (zh) 多浮点操作数加/减运算控制器
CN104461798A (zh) 一种用于处理器算术逻辑单元指令的随机数验证方法
CN102722341B (zh) 存储载入单元投机执行控制装置
CN111651118B (zh) 存储器系统、控制方法和控制装置
CN205193787U (zh) 一种双模冗余流水线的故障检测及回退装置
CN203689501U (zh) 多浮点操作数加/减运算控制器
CN103645880B (zh) 双指令多浮点操作数加/减运算控制器
CN111651119B (zh) 获取存储器中目标数据的方法、装置和电路
CN111625368A (zh) 一种分布式计算系统、方法及电子设备
CN109933948A (zh) 一种形式验证方法、装置、形式验证平台及可读存储介质
CN111506384B (zh) 模拟运算方法和模拟器
CN103645878B (zh) 多操作数四则混合定点算术运算控制器
JPS60237503A (ja) シ−ケンスコントロ−ラの高速処理方式

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170609

RJ01 Rejection of invention patent application after publication