CN112434479B - 一种高速算法接口电路结构及其控制方法 - Google Patents
一种高速算法接口电路结构及其控制方法 Download PDFInfo
- Publication number
- CN112434479B CN112434479B CN202011317256.7A CN202011317256A CN112434479B CN 112434479 B CN112434479 B CN 112434479B CN 202011317256 A CN202011317256 A CN 202011317256A CN 112434479 B CN112434479 B CN 112434479B
- Authority
- CN
- China
- Prior art keywords
- signal
- module
- input
- algorithm
- control flow
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及一种高速算法接口电路结构及其控制方法,其包括:输入数据帧解析模块、输入控制流缓冲模块、输入数据流缓冲模块、算法模块和输出缓冲模块;输入数据帧解析模块对信号A进行帧结构解析,脱去数据安全防护,生成控制流信号B和数据流信号D;输入控制流缓冲模块和输入数据流缓冲模块分别暂存控制流信号B和数据流信号D,并根据先入先出原则分别弹出信号C和信号E;算法模块根据信号C和信号E启动运算,得到运算结果信号F;输出缓冲模块暂存信号F,并根据先入先出原则弹出信号G。本发明分别设置控制流和数据流缓冲,可灵活配置控制流与数据流信号,适用于具有高速算法吞吐率和算法运算配置实时改变需求的应用场景。
Description
技术领域
本发明属于集成电路设计领域中高速算法的接口电路设计,具体涉及一种高速算法接口电路结构及其控制方法。
背景技术
随着物联网、车联网、5G等新基建浪潮的兴起,集成电路中高性能算法的实现需求愈发迫切。
高性能算法实现的性能分为模块级性能和系统级性能,模块级性能提升主要依赖于算法方案、算法实现结构的改进,很多专家、学者都对此做了探索,取得显著成效;系统级性能是产品实际使用时直接感受到的算法性能,需要在算法模块实现的基础上协同接口、存储器等资源才能发挥,由于存在通信、接口处理等开销,系统性能总是小于等于模块级性能。
结合应用特性合理设计高速算法接口电路结构,能够使系统性能逼近甚至等于模块级性能,充分发挥算法模块的性能极限。本发明公开一种高速算法接口电路结构及其控制方法,具有高速数据吞吐、灵活算法配置、安全数据传输的特点,适用于具有高速算法吞吐率和算法运算配置实时改变需求的应用场景。
发明内容
本发明提供一种高速算法接口电路结构,通过在算法模块外部封装帧解析模块和高速缓冲模块,实现算法运算的输入输出数据高速吞吐,支持算法运算过程中配置参数的灵活改变,帧解析模块所具备的安全数据解扰功能还可以支持输入数据的安全加载,抵抗模板攻击。
本发明提供一种高速算法接口电路结构的控制方法,实现算法运算数据的高速吞吐调度、算法运算配置更改和算法输入数据的安全加载。
本发明提供一种高速算法接口电路结构,由输入数据帧解析模块(100)、输入控制流缓冲模块(101)、输入数据流缓冲模块(102)、算法模块(103)和输出缓冲模块(104);输入数据帧解析模块(100)对输入信号A进行帧结构解析和数据安全防护解扰,生成控制流信号B和数据流信号D;输入控制流缓冲模块(101)暂存当前输入的控制流信号B,并根据先入先出原则弹出控制流信号C;输入数据流缓冲模块(102)暂存当前输入的数据流信号D,并根据先入先出原则弹出数据流信号E;算法模块(103)根据控制流信号C和数据流信号E启动运算,得到运算结果数据流信号F;输出缓冲模块(104)暂存数据流信号F,并根据先入先出原则弹出输出信号G。
在一种高速算法接口电路结构中,输入数据帧解析模块(100)具有帧格式解析功能,根据帧头信息对输入信号A进行数据流和控制流信号定位。
在一种高速算法接口电路结构中,输入数据帧解析模块(100)具有数据安全防护解扰功能,根据帧头信息对输入信号A进行数据流和控制流信号的解扰,解扰方式包括但不限于随机乱序解扰、固定乱序解扰。
在一种高速算法接口电路结构中,输入控制流缓冲模块(101)是具有先入先出特征的缓存,所述缓存可以是FIFO或乒乓Buffer。
在一种高速算法接口电路结构中,输入数据流缓冲模块(102)是具有先入先出特征的缓存,所述缓存可以是FIFO或乒乓Buffer,数据流信号D位宽为M,数据流信号E数据位宽为N,满足N=k*M,k为正整数。
在一种高速算法接口电路结构中,算法模块(103)执行算法运算功能。
在一种高速算法接口电路结构中,输出缓冲模块(104)是具有先入先出特征的缓存,所述缓存可以是FIFO或乒乓Buffer,数据流信号F位宽为M,输出信号G位宽为N,满足N=k*M,k为正整数。
根据本发明的另一方面,一种高速算法接口电路结构的控制方法如图2所示。
步骤S1:产生待进行算法运算的输入信号A;
步骤S2:调用输入数据帧解析模块,生成控制流信号B和数据流信号D;
步骤S3:判断输入控制流缓冲模块是否溢出,是则执行步骤S4,否则跳转至步骤S5;
步骤S4:等待新算法运算启动,输入控制流缓冲模块缓存空间释放;
步骤S5:存储控制流信号B至输入控制流缓冲模块;
步骤S6:存储数据流信号D至输入数据流缓冲模块;
步骤S7:读取当前算法运算所需的控制流信号C和数据流信号E;
步骤S8:根据控制流信号C启动算法模块;
步骤S9:存储算法运算结果数据流信号F至输出缓冲模块;
步骤S10:从输出缓冲模块读取算法运算结果信号G。
附图说明
图1高速算法接口电路结构示意图。
图2高速算法接口电路结构控制方法流程示意图。
具体实施方式
为了更清楚地描述本发明的技术方案,以下结合附图和具体实施例对本发明进行详细的说明。
如图1所示,一种高速算法接口电路结构,由输入数据帧解析模块(100)、输入控制流缓冲模块(101)、输入数据流缓冲模块(102)、算法模块(103)和输出缓冲模块(104);输入数据帧解析模块(100)对输入信号A进行帧结构解析和数据安全防护解扰,生成控制流信号B和数据流信号D;输入控制流缓冲模块(101)暂存当前输入的控制流信号B,并根据先入先出原则弹出控制流信号C;输入数据流缓冲模块(102)暂存当前输入的数据流信号D,并根据先入先出原则弹出数据流信号E;算法模块(103)根据控制流信号C和数据流信号E启动运算,得到运算结果数据流信号F;输出缓冲模块(104)暂存数据流信号F,并根据先入先出原则弹出输出信号G。
本发明在高速密码算法实现上进行应用,以国密分组密码算法SM4实现为例,更具体地介绍高速算法接口电路结构的应用细节。
步骤S1:产生待进行算法运算的输入信号A,信号A由加解密模式、密码操作模式、明文/密文、密钥等数据加扰封帧后构成。
步骤S2:调用输入数据帧解析模块,生成控制流信号B和数据流信号D,其中控制流信号B为解扰后的加解密模式、密码操作模式数据,数据流信号D为解扰后的明文/密文、密钥数据构成。
步骤S3:读取输入控制缓冲模块的状态标识,判断输入控制流缓冲模块是否溢出,是则执行步骤S4,否则跳转至步骤S5。
步骤S4:等待SM4算法的新一组数据的运算启动,输入控制流缓冲模块缓存空间释放。
步骤S5、S6:存储控制流信号B至输入控制流缓冲模块,存储数据流信号D至输入数据流缓冲模块。
步骤S7:读取当前算法运算所需的控制流信号C和数据流信号E,其中控制流信号C为32bit位宽的加解密模式和密码操作模式配置参数,数据流信号E为128bit位宽的明文/密文、128bit位宽的密钥数据。
步骤S8:根据控制流信号C启动算法模块,执行ECB/CBC/CFB/OFB/CTR等密码操作模式和加密/解密等运算模式。
步骤S9:存储算法运算结果数据流信号F至输出缓冲模块,其中信号F为128bit位宽的密文/明文数据。
步骤S10:从输出缓冲模块依次读取32bit算法运算结果信号G至AHB数据总线上。
Claims (7)
1.一种高速算法接口电路结构,其特征在于,包括:输入数据帧解析模块(100)、输入控制流缓冲模块(101)、输入数据流缓冲模块(102)、算法模块(103)和输出缓冲模块(104);输入数据帧解析模块(100)对输入信号A进行帧结构解析和数据安全防护解扰,生成控制流信号B和数据流信号D;输入控制流缓冲模块(101)暂存当前输入的控制流信号B,并根据先入先出原则弹出控制流信号C;输入数据流缓冲模块(102)暂存当前输入的数据流信号D,并根据先入先出原则弹出数据流信号E;算法模块(103)根据控制流信号C和数据流信号E启动运算,得到运算结果数据流信号F;输出缓冲模块(104)暂存数据流信号F,并根据先入先出原则弹出输出信号G。
2.根据权利要求1所述的一种高速算法接口电路结构,其特征在于所述输入数据帧解析模块(100)具有帧格式解析功能,根据帧头信息对输入信号A进行数据流和控制流信号定位。
3.根据权利要求1所述的一种高速算法接口电路结构,其特征在于所述输入数据帧解析模块(100)具有数据安全防护解扰功能,根据帧头信息对输入信号A进行数据流和控制流信号的解扰,解扰方式包括随机乱序解扰、固定乱序解扰。
4.根据权利要求1所述的一种高速算法接口电路结构,其特征在于所述输入控制流缓冲模块(101)是具有先入先出特征的缓存,所述缓存可以是FIFO或乒乓Buffer。
5.根据权利要求1所述的一种高速算法接口电路结构,其特征在于所述输入数据流缓冲模块(102)是具有先入先出特征的缓存,所述缓存可以是FIFO或乒乓Buffer,数据流信号D位宽为M,数据流信号E数据位宽为N,满足N=k*M,k为正整数。
6.根据权利要求1所述的一种高速算法接口电路结构,其特征在于所述输出缓冲模块(104)是具有先入先出特征的缓存,所述缓存可以是FIFO或乒乓Buffer,数据流信号F位宽为M,输出信号G位宽为N,满足N=k*M,k为正整数。
7.一种高速算法接口电路结构的控制方法,基于权利要求1所述的一种高速算法接口电路结构,其特征在于,所述控制方法步骤包括:
步骤S1:产生待进行算法运算的输入信号A;
步骤S2:调用输入数据帧解析模块(100),生成控制流信号B和数据流信号D;
步骤S3:判断输入控制流缓冲模块(101)是否溢出,是则执行步骤S4,否则跳转至步骤S5;
步骤S4:等待新算法运算启动,输入控制流缓冲模块(101)缓存空间释放;
步骤S5:存储控制流信号B至输入控制流缓冲模块(101);
步骤S6:存储数据流信号D至输入数据流缓冲模块(102);
步骤S7:读取当前算法运算所需的控制流信号C和数据流信号E;
步骤S8:根据控制流信号C启动算法模块(103);
步骤S9:存储算法运算结果数据流信号F至输出缓冲模块(104);
步骤S10:从输出缓冲模块(104)读取算法运算结果信号G。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011317256.7A CN112434479B (zh) | 2020-11-23 | 2020-11-23 | 一种高速算法接口电路结构及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011317256.7A CN112434479B (zh) | 2020-11-23 | 2020-11-23 | 一种高速算法接口电路结构及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112434479A CN112434479A (zh) | 2021-03-02 |
CN112434479B true CN112434479B (zh) | 2023-09-08 |
Family
ID=74693470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011317256.7A Active CN112434479B (zh) | 2020-11-23 | 2020-11-23 | 一种高速算法接口电路结构及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112434479B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859275A (zh) * | 2005-07-27 | 2006-11-08 | 华为技术有限公司 | 多端口以太网交换装置及数据传输方法 |
WO2017088458A1 (zh) * | 2015-11-24 | 2017-06-01 | 中国科学院计算技术研究所 | 流水级运算装置、数据处理方法及片上网络芯片 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI617187B (zh) * | 2016-08-15 | 2018-03-01 | 晨星半導體股份有限公司 | 多媒體處理系統與其控制方法 |
-
2020
- 2020-11-23 CN CN202011317256.7A patent/CN112434479B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859275A (zh) * | 2005-07-27 | 2006-11-08 | 华为技术有限公司 | 多端口以太网交换装置及数据传输方法 |
WO2017088458A1 (zh) * | 2015-11-24 | 2017-06-01 | 中国科学院计算技术研究所 | 流水级运算装置、数据处理方法及片上网络芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN112434479A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7200226B2 (en) | Cipher block chaining decryption | |
TW490968B (en) | Apparatus for encrypting data and cipher system | |
EP1689113B1 (en) | Block cipher apparatus using auxiliary transformation | |
US5809147A (en) | Device for cryptographically processing data packets and method of generating cryptographic processing data | |
CN101114903B (zh) | 一种吉比特无源光网络系统中高级加密标准加密装置及其实现方法 | |
US20030039354A1 (en) | FIFO architecture with in-place cryptographic service | |
EP2048810B1 (en) | AES encryption/decryption circuit | |
US20040146158A1 (en) | Cryptographic systems and methods supporting multiple modes | |
US20060188098A1 (en) | Encryption/decryption device, communication controller, and electronic instrument | |
CN100521599C (zh) | 加密解密装置、加密装置以及解密装置 | |
WO2008049046A2 (en) | Method for securely extending key stream to encrypt high-entropy data | |
CN101626293B (zh) | 一种数据加密保护及解密方法 | |
CN106992852B (zh) | 应用于AES与Camellia密码算法的可重构S盒电路结构 | |
CN107181586B (zh) | 可重构s盒电路结构 | |
CN112740217B (zh) | 密码系统 | |
CN112434479B (zh) | 一种高速算法接口电路结构及其控制方法 | |
CN105429748A (zh) | 一种数据加密方法和系统 | |
CN111832051B (zh) | 一种基于fpga的对称加解密方法及系统 | |
CN101515853B (zh) | 信息终端及其信息安全装置 | |
Oukili et al. | High throughput FPGA implementation of Advanced Encryption Standard algorithm | |
CN103532706B (zh) | 数据加解密方法、装置和移动终端 | |
Mondal et al. | Efficient architecture design for the AES-128 algorithm on embedded systems | |
KR20190037980A (ko) | 퍼베이시브 컴퓨팅을 위한 효과적인 초경량 블록 암호 시스템 | |
Illy et al. | An improvement of the AES protocol to optimize energy consumption in IoT | |
US20090041245A1 (en) | Confidential information processing device,confidential information processing apparatus, and confidential information processing method |
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 |