CN202395792U - 基于fpga的双精度混沌信号发生器 - Google Patents
基于fpga的双精度混沌信号发生器 Download PDFInfo
- Publication number
- CN202395792U CN202395792U CN2012200139862U CN201220013986U CN202395792U CN 202395792 U CN202395792 U CN 202395792U CN 2012200139862 U CN2012200139862 U CN 2012200139862U CN 201220013986 U CN201220013986 U CN 201220013986U CN 202395792 U CN202395792 U CN 202395792U
- Authority
- CN
- China
- Prior art keywords
- floating
- floating number
- unit
- data
- signal generator
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
基于FPGA的双精度混沌信号发生器,包括时序控制单元、数据选择单元、数据存储单元和两个浮点数运算单元,两个浮点数运算单元构成两条并行的运算支路,数据选择单元分别与两个浮点数运算单元的输入端连接,两个浮点数运算单元的输出端连接至数据存储单元,数据存储单元的输出端连接至数据选择单元的输入端;每个浮点数运算单元中都设有一个数据分配单元、一个浮点数加法器、一个浮点数乘法器和一个具有数据分配的功能的存储单元,数据分配单元分别与浮点数加法器和浮点数乘法器连接,浮点数加法器和浮点数乘法器的输出端连接至存储单元。在大幅减少芯片使用面积的同时,明显提高了工作频率。
Description
技术领域
本实用新型涉及高精度数字信号处理与数字图像加密领域,具体说来就是一种符合IEEE-754标准的、利用现场可编程门阵列(FPGA)设计的具有双精度浮点数的Lorenz双涡卷混沌信号发生器。
背景技术
信息安全技术是一门综合的学科,它涉及信息论、计算机科学、密码学和数学等多方面知识,它的主要任务是研究计算机系统和通信网络内的信息保护方法以实现系统内信息交流的安全、保密、真实和完整。其核心问题之一其实就是密码学理论,而密码学已经成为信息安全方面的一个难点也是热点课题。密码学可以说是一门比较古老但又拥有年轻血液的学科,早在几千年前它就用于国家之间机密信息的交流。从古至今,密码学随着科技手段的发展都保持着蓬勃的生机,在信息爆炸的当今社会,加密技术的研究显得尤为重要。
混沌系统是一种非线性的确定性系统,由于系统内部非线性相互作用而表现出了非周期的行为。混沌的许多特性恰好能够满足密码学的基本要求:混沌动力学方程的确定性保证了通信双方在收发过程和解密过程中的可靠性;混沌轨道的发散特性及对初始条件的敏感性正好满足密码系统设计的扩散原则;混沌吸引子的拓扑传递性与混合性正好满足混淆原则;混沌输出信号的宽带功率谱和快速衰减的自相关性是对抗频谱分析的有利保障。因此混沌理论能够直接用于设计密码算法,这为信息安全理论和加密技术的发展提供了新的研究方向,如何实现混沌系统、产生可控制的混沌信号成为人们研究的热点。
近年来,随着各种技术手段的发展,人们由最初的模拟电子电路转向利用数字器件实现混沌信号以提高系统构建的灵活性,各种数字化的技术手段层出不穷。
Lorenz混沌信号发生器是一种基于最经典的双涡卷混沌吸引子系统—Lorenz混沌吸引子系统的混沌信号发生装置。该混沌吸引子系统是由美国气象学家Lorenz于1963年提出的,其动力学系统方程如下所示:
显然,(1)式是一个连续性的系统方程,为了将该连续系统应用于数字系统中,就必须对系统进行离散化处理。常用的方法是Euler算法,也可以采用Runge-Kutta算法。相比较而言,Euler 算法的实现比较简便。离散化后的系统能够很好的反映原系统的动力学特性,其系统方程如下所示:
其中增益系数为:G1= ,G2= ,G3= ,G4= ,G5= ,G6= ,G7= 。取0.001,根据奈奎斯特采样定理,采样频率一定要大于混沌信号截止频率的2倍,所以一定要小于某一个特定的阈值。取得越小,离散系统就越能精确反映连续系统的混沌动态特性。如果取得太大,将无法得到正确的仿真结果。
此外,混沌系统需要选定初始值,混沌电路就像一个振荡器,在有一点“扰动”的前提下,才会“起振”,最终才会进入持续的混沌运动状态。在这里选取=15,=18,=31。根据学者们的研究以及实验,还有多组典型的参数和初始值可以选取,这里不再一一列举。
文献[1]【Mohammed A.Aseeri, Mohamed I.Sobhy. Lorenz chaotic model using filed programmable gate array (FPGA). 45th Midwest Symposium on Circuits and Systems,2002.】最早提出了利用FPGA技术实现Lorenz混沌系统的方法,文献[2]【张钰,禹思敏,刘明华.用 FPGA 技术产生多涡卷超混沌吸引子的研究[J].电路与系统学报,2007,12(1):39-43】等采用DSP Builder技术以实现各种多涡卷超混沌吸引子,图1就是采用DSP Builder技术在Simulink中建立的26位精度的Lorenz双涡卷混沌吸引子的模型。
DSP Builder是Altera公司和Mathworks公司合作开发的一款FPGA设计工具,该工具可以将系统表示成一个高度抽象的模块,并自动将系统映射为一个基于FPGA的硬件方案。DSP Builder是内嵌在MATLAB的Simulink中进行工作的,它以一个被称为ALTERA DSP Builder块包含在Simulink库里,可以把它看成是Simulink的一个工具包,也就是说,可以在Simulink建模仿真工具中调用Altera公司的DSP Builder模块并根据需要修改模块参数,进行系统的建模和仿真。除了图形化的系统建模外,DSP Builder还可以通过使用Signal Compiler模块自动生成VHDL代码,自动完成大部分的设计过程和仿真,直至把设计文件下载至FPGA开发板上。
采用DSP Builder技术具有直观、方便快捷的优点,能够节省大量人力,缩短研发周期,但是其主要缺点是不能从根本上解决时序控制的问题,难以实现混沌同步,这就限制了其在保密通信领域的应用。于是,就有学者回到直接利用FPGA技术实现混沌系统的道路上。
文献[3]【周武杰,禹思敏. 基于IEEE-754标准和现场可编程门阵列技术的混沌产生器的设计与实现. 物理学报,2008,57(8):4738-4747】提出了基于IEEE-754标准的混沌信号发生器的设计与实现方法。利用 FPGA 技术设计 Lorenz 混沌系统的主要设计理念在于将整个系统划分为若干个基本功能模块,主要包括浮点数乘法器、浮点数加/减法器、数据选择器等主要模块。这种方法具有很强的通用性,可以用于各类高精度数字信号处理系统的设计。图2为利用该方法搭建的双精度Lorenz混沌信号发生器在Alrera公司的Quartus II工具中建立的模型,图中数据选择器通过输入端SEL对初始值进行选择,浮点数加法器和浮点数乘法器级联得到一次迭代运算结果。
这种利用FPGA 技术设计混沌信号发生器的方法能够很好的解决时序控制问题,为混沌同步的应用扫清了障碍,但是该方法占用FPGA逻辑资源较多,这就使得其在有限芯片面积上无法集成更多功能,限制了设计的应用范围,同时提高了实际工程应用的成本。
针对上述缺陷,文献[4]【刘玉民, 张雨虹, 姚明林, 基于FPGA的混沌信号发生器的设计与实现. 计算机工程与设计,2010,31(18):3972-3974】提出了一种采用面积优化思想,复用耗费逻辑资源较多的浮点运算模块的方案,基于 Altera EP1C3T144C8 芯片(仅含有 2910 个逻辑单元)成功设计并实现了单精度Lorenz混沌信号发生器。该方案将整个系统划分为若干个基本功能模块,主要包括浮点乘法器、浮点加/减法器、数据选择器、数据分配器、时序控制模块和数值转换模块等主要模块。采用数据选择器来复用浮点数运算器,采用数据分配器对浮点乘法、浮点加/减法运算结果进行分配,使其分配到相应的数据寄存器进行寄存。采用利用状态机编写的时序控制模块为浮点乘法器、浮点加/减法器、数据选择器、数据分配器等模块提供时序控制信号,根据所进行的13次浮点数运算,将系统划分为13个工作周期也即是13个状态,以协调各模块有序工作。该方案的系统架构原理如图3所示,其中Ini_X、Ini_Y、Ini_Z,分别代表混沌系统“起振”所需的初始值,MUX为数据选择单元,用于初始值的选择及其对浮点数运算器的复用,ADD与MULTI分别代表浮点数加法器与浮点数乘法器,DEMUTI为数据分配单元,对浮点数运算器运算所得的结果分配到存储器中,RAM为存储单元,能够进行数据的读写操作。
实用新型内容
本实用新型所要解决的技术问题是提供一种兼顾节约芯片面积与提高系统的工作频率两方面因素的基于FPGA的双精度混沌信号发生器。
本实用新型为解决上述技术问题所采用的技术方案是:基于FPGA的双精度混沌信号发生器,信号发生器包括时序控制单元、数据选择单元、数据存储单元和两个浮点数运算单元,两个浮点数运算单元构成两条并行的运算支路,时序控制单元为各单元模块提供状态控制信号;数据选择单元分别与两个浮点数运算单元的输入端连接,两个浮点数运算单元的输出端连接至数据存储单元,数据存储单元的输出端连接至数据选择单元的输入端;每个浮点数运算单元中都设有一个数据分配单元、一个浮点数加法器、一个浮点数乘法器和一个具有数据分配的功能的存储单元,数据分配单元分别与浮点数加法器和浮点数乘法器连接,浮点数加法器和浮点数乘法器的输出端连接至存储单元。
本实用新型的技术方案是这样形成的:
(1)离散化后的Lorenz系统方程如下:
文献[4]中运用了面积优化的思想,相当于将Lorenz系统的x, y, z三路信号放入一条线路中进行传输,也就是说,该条传输线路分时段进行工作,就相当于是将这条线路的使用时间进行分段,不同时间单独地用于单一信号的运算,并将结果暂存,最后再统一输出。这就相当于将完整的一份工作划分为三部分,由一个人去完成,当每一部分都完成的时候,这份工作才算结束,这样由单人完成这份工作显然是很费时的,体现在系统中,就是硬件的工作速度不高。通过运用流水线技术的原理,联系到Lorenz系统是由x, y, z三相信号构成,并且在一次完整的混沌迭代运算中互不影响的特点,本实用新型将系统架构由单条信号通路改为多条并行支路的结构,将完整的工作划分为几块,交给多个人去完成,这就节省了时间,也就是提高了系统的工作速度。
(2)通过比较x, y, z每一路信号所进行的浮点运算次数发现,x分量进行了三次浮点运算,y分量进行了六次浮点运算,z分量进行了四次浮点运算。如果直接按照形式上有三种信号就将系统划分为三条并行支路的话,就会产生这样的结果:x支路和z支路由于进行的浮点运算次数远少于y支路(3<6,4<6),所以,当x支路和z支路的运算结果得出以后,y支路还没有运算完成,y支路的工作周期远多于x支路和z支路,这就相当于同样的条件下分给每个人的工作份额不均衡。反映在硬件系统上,就是说x支路和z支路上的逻辑单元在y支路还在工作着的时候就被闲置了,这从时间的角度上造成了芯片面积的浪费。又进一步考虑到3+4=7,进行七次浮点运算与进行六次浮点运算相差的工作周期并不多,于是,本实用新型参考时分复用原理采取了将x支路与z支路进行合并的策略,这样就将系统改为两条并行支路的架构。
本实用新型的有益效果是:首先,相比较文献[3],本方案由于仅采用2个浮点数加法器和2个浮点数乘法器,控制部分与RAM占用逻辑单元很少,所以最多能节约7个浮点数乘法器和2个浮点数加法器的逻辑单元(文献[3]中仅9个浮点数加法器器和4个浮点数乘法器就占用1399×8+697×5=16076个逻辑单元),大大减少了实现相同功能所占用的芯片面积。其次,与文献[4]中仅考虑面积优化的方案不同,虽然本方案相比多使用了一个浮点数加法器和一个浮点数乘法器,但是通过合理使用流水线技术,在工作频率方面,经初步估算,本方案设计的混沌信号发生器能够达到文献[4]中的2倍左右,拉近了与文献[3]中系统工作频率的距离(按照工作周期部分浮点数运算所用的周期算本方案工作频率大概在文献[3]的1/7左右,高于文献[4]的1/13)。
附图说明
图1是现有技术中利用DSP Builder技术设计Lorenz混沌信号发生器的系统模型。
图2是现有技术中利用FPGA技术设计Lorenz混沌信号发生器的系统结构模块图。
图3是现有技术中基于面积优化思想的Lorenz混沌信号发生器原理框架。
图4是本实用新型双精度Lorenz混沌信号发生器系统的原理框架。
图5是本实用新型浮点数运算单元内部原理框架。
图6是本实用新型双精度Lorenz混沌信号发生器的系统结构模块图。
图7是本实用新型双精度Lorenz混沌信号发生器内部浮点运算单元模块图。
图8是浮点数运算单元工作时序状态图。
具体实施方式
为使本实用新型实现的技术手段、创作特征、达成目的与功效易于明白了解,下面附图,进一步阐明本实用新型。
本实用新型的原理框图如图4所示,Ini_X、Ini_Y、Ini_Z,分别代表混沌系统“起振”所需的初始值;MUX为数据选择单元,用于初始值的选择及其对两路并行支路中的复用;FPU为浮点数运算单元;RAM1为数据存储单元,能够进行数据的读写操作。其中两个浮点数运算单元FPU构成两条并行的运算支路。采用利用状态机编写的时序控制单元为各单元模块提供状态控制信号。数据选择单元MUX分别与两个浮点数运算单元FPU的输入端连接,两个浮点数运算单元FPU的输出端连接至数据存储单元RAM1,数据存储单元RAM1的输出端连接至数据选择单元MUX的输入端。
本实用新型采用两条并行的运算支路完成X、Y、Z三路信号的运算,其中一条支路以分时段工作的方式完成X、Z两路信号的运算,即X/Z支路。另一条支路完成另一路信号Y的运算,即Y支路。三路信号的初始值Ini_X、Ini_Y、Ini_Z输入数据选择单元MUX,数据存储单元RAM1输出三路信号的运算结果X(n+1)、Y(n+1)、Z(n+1),并将运算结果反馈至数据选择单元MUX,数据选择单元MUX用于将三路信号的初始值以及由数据存储单元RAM1反馈的三路信号运算结果分配至两个浮点数运算单元FPU。
浮点数运算单元并非简单的进行浮点运算,每个浮点数运算单元中都设有一个数据分配单元、一个浮点数加法器、一个浮点数乘法器和一个具有数据分配的功能的存储单元。数据分配单元DEMUTI分别与浮点数加法器ADD和浮点数乘法器MULTI连接,浮点数加法器ADD和浮点数乘法器MULTI的输出端连接至存储单元RAM2。其内部原理框架如图5所示,其中,DEMUTI为数据分配单元,根据当前状态选择将信号分配到ADD与MULTI中,ADD与MULTI分别代表浮点数加法器与浮点数乘法器,采用浮点数运算的标准算法进行编写,也可以采用新的改进算法以提高浮点数运算器的工作速度,还可以使用Quartus II工具中的MegaFunction功能进行定制,自动生成代码以缩短开发周期。此处的RAM2不同于图4中的RAM1,它能够根据当前状态完成将ADD与MULTI的运算结果分配到相应的地址进行暂存或者从相应地址读出数据传回DEMUTI的操作,也就是说相当于集成了数据分配的功能。工作时序状态如图8所示。
如图6所示,其为按照原理图4在Quarrus II软件中生成的模块图,通过输入端SEL控制对“起振”初始值的选择,输入端RST进行复位,输入端CLK外接晶振,作为系统时钟。运算结果通过输出端X(n+1)、Y(n+1)、Z(n+1)送入DAC芯片中,最后得到双涡卷吸引子的相图。图中fp_mux模块、fpu模块、ram模块与原理图4中MUX、FPU、RAM1模块一一对应,实现技术方案中所述功能。图7为浮点运算单元的模块图,其中demuti、add、multi、dmram模块分别对应原理图5所示的DEMUTI、ADD、MULTI、RAM2模块。
Claims (1)
1.基于FPGA的双精度混沌信号发生器,其特征在于:信号发生器包括时序控制单元、数据选择单元(MUX)、数据存储单元(RAM1)和两个浮点数运算单元(FPU),两个浮点数运算单元(FPU)构成两条并行的运算支路,时序控制单元为各单元模块提供状态控制信号;数据选择单元(MUX)分别与两个浮点数运算单元(FPU)的输入端连接,两个浮点数运算单元(FPU)的输出端连接至数据存储单元(RAM1),数据存储单元(RAM1)的输出端连接至数据选择单元(MUX)的输入端;每个浮点数运算单元(FPU)中都设有一个数据分配单元(DEMUTI)、一个浮点数加法器(ADD)、一个浮点数乘法器(MULTI)和一个具有数据分配的功能的存储单元(RAM2),数据分配单元(DEMUTI)分别与浮点数加法器(ADD)和浮点数乘法器(MULTI)连接,浮点数加法器(ADD)和浮点数乘法器(MULTI)的输出端连接至存储单元(RAM2)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012200139862U CN202395792U (zh) | 2012-01-13 | 2012-01-13 | 基于fpga的双精度混沌信号发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012200139862U CN202395792U (zh) | 2012-01-13 | 2012-01-13 | 基于fpga的双精度混沌信号发生器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN202395792U true CN202395792U (zh) | 2012-08-22 |
Family
ID=46670691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012200139862U Expired - Fee Related CN202395792U (zh) | 2012-01-13 | 2012-01-13 | 基于fpga的双精度混沌信号发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN202395792U (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106230579A (zh) * | 2016-09-18 | 2016-12-14 | 广东省自动化研究所 | 一种基于混沌的伪随机信号发生方法及发生器 |
WO2017113358A1 (zh) * | 2015-12-31 | 2017-07-06 | 京微雅格(北京)科技有限公司 | 一种可编程逻辑块阵列边沿的通用接口及芯片 |
CN108365946A (zh) * | 2018-01-31 | 2018-08-03 | 国网河南省电力公司潢川县供电公司 | 一种基于混沌系统阵列的能源互联网通信安全系统与方法 |
EP4120591A1 (en) * | 2021-07-13 | 2023-01-18 | Northrop Grumman Systems Corporation | High instantaneous bandwidth auto-indexing parallelized chaotic waveform data modulator and demodulator with temporal automatic gain control, increased path diversity and sequence lock up prevention |
-
2012
- 2012-01-13 CN CN2012200139862U patent/CN202395792U/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017113358A1 (zh) * | 2015-12-31 | 2017-07-06 | 京微雅格(北京)科技有限公司 | 一种可编程逻辑块阵列边沿的通用接口及芯片 |
CN106230579A (zh) * | 2016-09-18 | 2016-12-14 | 广东省自动化研究所 | 一种基于混沌的伪随机信号发生方法及发生器 |
CN106230579B (zh) * | 2016-09-18 | 2019-08-06 | 广东省智能制造研究所 | 一种基于混沌的伪随机信号发生方法及发生器 |
CN108365946A (zh) * | 2018-01-31 | 2018-08-03 | 国网河南省电力公司潢川县供电公司 | 一种基于混沌系统阵列的能源互联网通信安全系统与方法 |
CN108365946B (zh) * | 2018-01-31 | 2023-04-11 | 国网河南省电力公司潢川县供电公司 | 一种基于混沌系统阵列的能源互联网通信安全系统与方法 |
EP4120591A1 (en) * | 2021-07-13 | 2023-01-18 | Northrop Grumman Systems Corporation | High instantaneous bandwidth auto-indexing parallelized chaotic waveform data modulator and demodulator with temporal automatic gain control, increased path diversity and sequence lock up prevention |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jasmin et al. | Design of power aware on chip embedded memory based FSM encoding in FPGA | |
Zeebaree et al. | Design and simulation of high-speed parallel/sequential simplified DES code breaking based on FPGA | |
CN103793562B (zh) | 基于fpga的有源配电网暂态实时仿真系统设计方法 | |
US7906987B2 (en) | Semiconductor integrated circuit, program transformation apparatus, and mapping apparatus | |
CN103078729B (zh) | 基于fpga的双精度混沌信号发生器 | |
CN107430586B (zh) | 自适应芯片和配置方法 | |
CN102799563B (zh) | 一种可重构计算阵列及构建方法 | |
CN102081359B (zh) | 基于DSP Builder的变时滞超混沌数字电路设计方法及电路 | |
CN202395792U (zh) | 基于fpga的双精度混沌信号发生器 | |
CN103310228A (zh) | 基于归一化相关系数的模板匹配高速并行实现方法和装置 | |
CN105426918B (zh) | 归一化相关图像模板匹配高效实现方法 | |
Li et al. | System level synthesis of hardware for DSP applications using pre-characterized function implementations | |
CN106250614A (zh) | 适用于fpga平台电磁暂态实时仿真的数据处理方法 | |
Bhakthavatchalu et al. | A comparison of pipelined parallel and iterative CORDIC design on FPGA | |
CN100535868C (zh) | 一种实时位真仿真开发系统及其方法 | |
Huang et al. | A high performance multi-bit-width booth vector systolic accelerator for NAS optimized deep learning neural networks | |
Astarloa et al. | FPGA technology for multi-axis control systems | |
CN111047034A (zh) | 一种基于乘加器单元的现场可编程神经网络阵列 | |
CN106326084A (zh) | 一种用于粗粒度可重构阵列的系统级功耗建模方法 | |
CN107092462B (zh) | 一种基于fpga的64位异步乘法器 | |
Wang et al. | TCPM: A reconfigurable and efficient Toom-Cook-based polynomial multiplier over rings using a novel compressed postprocessing algorithm | |
Kobayashi et al. | Towards a low-power accelerator of many FPGAs for stencil computations | |
CN106385311A (zh) | 一种基于fpga的复混沌简化系统的混沌信号发生器 | |
Shrivastava et al. | Implementation and Analysis on 4x4 Multiplier using Genesys FPGA Board | |
Roozmeh et al. | Design space exploration of multi-core RTL via high level synthesis from OpenCL models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120822 Termination date: 20130113 |
|
CF01 | Termination of patent right due to non-payment of annual fee |