基于FPGA的混沌信号发生器的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Design and implementation of chaotic signal generator based on FPGA
LIU Yu-min1, ZHANG Yu-hong2, YAO Ming-lin1 (1. Department of Information Engineering, Tangshan College, Tangshan 063000, China; 2. Department of Computer Science and Technology, Tangshan College, Tangshan 063000, China)
为减少了 FPGA 芯片逻辑资源的使用量,同时也降低芯 片 的 功 耗 ,本 设 计 采 用 了 基 于 数 据 选 择 器 的 面 积 优 化 方 法 。其 主 要 思 想 是 利 用 速 度 的 优 势 换 取 面 积 的 节 约 ,在 系 统 工 作 频 率 允 许 的 情 况 下 ,针 对 数 据 通 路 中 耗 费 逻 辑 资 源 比 较 多 的 模 块 ,通 过 多 路 选 择 的 方 法 进 行 复 用 ,以 减 少 该 模 块 的 使 用 个 数 ,达 到 减 少 资 源 使 用 ,优 化 面 积 的 目 的 。
Abstract:An improved approach for the design of chaotic signal generator based on FPGA is proposed. Firstly, using Euler algorithm, the continuous chaotic systems can be converted to discrete chaotic systems. Secondly, according to IEEE-754 standard and modulebased design idea, chaotic system is designed by the way of VHDL and logic diagram based on Quartus II software. Finally, chaotic signals are output through FPGA experimental setup and can be observed by the oscillograph. During the design process, several data selectors are used to share float-operating module which occupy lots of logic elements, as result logic elements reduced greatly due to area optimization. Experimental result verify its effectiveness and universlity. Key words:chaos; field programmable gate array; IEEE-754 standard; area optimization; floating-point multiplier
新方法 。 [6] 基于 FPGA 的方法具有通用性强的优点,并且从根本上
解 决 了 时 序 控 制 问 题 。 但 该 方 法 中 ,浮 点 运 算 器 模 块 的 编 程 难度较高而且混沌系统占用 FPGA 逻辑资源较多。本文在文 献[6]的基础上做了两点改进:①利用 QuartusⅡ提供的浮点乘 法 器 和 加 / 减 法 器 的 兆 功 能 函 数 ,自 定 制 出 满 足 设 计 要 求 的 浮 点 运 算 器 模 块 ,无 需 编 程 ,减 低 了 设 计 难 度 ,提 高 了 设 计 效 率 ;② 采 用 了 基 于 数 据 选 择 器 的 面 积 优 化 方 法 ,复 用 耗 费 逻 辑 资源较多的浮点运算模块,基于 Altera EP1C3T144C8 芯片(仅 含有 2910 个逻辑单元) 成功设计并实现了 Lorenz、Chen、蔡氏 混沌信号发生器。方便起见,本文以 Lorenz 混沌信号发生器 设计和实现为例进行说明。
0引言
用分立元件的模拟电子电路产生混沌信号是目前最常用 的方法 ,但 [1-2] 元器件容易老化,系统改变不灵活,因此人们考 虑能否使用数字器件 (如 FPGA) 代替模拟元件完成相应的功 能,以提高混沌保密通信系统设计的灵活性、系统的安全性和 实用性。Aseeri, M.A.等人提出用 FPGA 技术实现 Lorenz 混沌 系统的方法 。 [3] 张钰等人提出用 FPGA 技术产生多涡卷超混 沌吸引子的新方法 。 [4] 王忠林等人提出了一种基于 FPGA 平 台和 EDA 开发工具实现混沌吸引子的方法[5]。文献[3-5]所采 用的均是 DSP Builder 技术,而不是根据 IEEE-754 标准用硬件 描 述 语 言 来 实 现 的 ,其 主 要 缺 点 是 不 能 从 根 本 上 解 决 时 序 控 制等问题,在混沌同步及其在保密通信中的应用受到了限制。 周武杰等人提出了基于 IEEE-754 标准的现场可编程门阵列 (FPGA)通用混沌与超混沌信号产生器设计与硬件实现的一种
式 (3) 中常数的十进制格式与 IEEE-754 单精度格式之间 的对应关系如表 1 所示。
表 1 系统参数的十进制格式与单精度格式的对应关系
十进制 0.99 0.01 0.028
单精度 3F7D70A3 3C23D70A 3CE56041
十进制 0.999 0.001 0.9973333
单精度 3F7FBE76 3A83126E 3F7F513C
时序控制模块为浮点乘法器、浮点加/减法器、数据选择器、 数据分配器等模块提供时序控制信号,以协调各模块有序工作。
时序控制模块采用有限状态机编程实现,由 13 个状态组 成,为保证有足够的时间完成浮点运算,每个状态保持时间为 11 个 clk 周期。编程时,最好采用将状态寄存器、次态逻辑和 输 出 逻 辑 在 一 个 进 程 里 描 述 的 单 进 程 状 态 机 ,这 样 输 出 信 号 被 锁 存 后 由 时 序 器 件 同 步 输 出 ,能 够 很 好 地 改 善 毛 刺 现 象 。
由式(3)可知,欲实现 Lorenz 混沌系统,离不开浮点乘法器 和浮点加/减法器。利用 QuartusⅡ提供的浮点乘法器和加/减 法器的兆功能函数,可自定制出满足设计要求的浮点运算器模 块 ,无 需 编 程 ,简 单 易 行 ,减 低 了 设 计 难 度 ,提 高 了 设 计 效 率 。
2 IEEE-754 单精度浮点数格式
IEEE-754 单精度浮点数格式为ຫໍສະໝຸດ Baidu32 位[7],如图 1 所示。
31 30 S
23 22
0
E
F
图 1 单精度浮点数格式
第 31 位是符号位 (S),第 30 至 23 位是 8 位的阶码 (E),第 22 至 0 位是 23 位的尾数 (F),偏移值为 127,尾数有一位隐藏 位。对于规格化数,0<E<255,值 V = ( 1)S× 2 × E-127 1.F。
3972 2010,31 (18)
计 算 机计工算机程工与程设与计设计ComCpoumtepruEtenrgEinegeinrienegrianngdaDndesDigensign
嵌入式系统工程
基于 FPGA 的混沌信号发生器的设计与实现
刘玉民 1, 张雨虹 2, 姚明林 1 (1. 唐山学院 信息工程系,河北 唐山 063000;2. 唐山学院 计算机科学与技术系,河北 唐山 063000)
3.2 数 据 选 择 器 由式(3)可知,进行一次完整的迭代计算,需做 8 次浮点乘
法运算 (因为 0.001x(n 1) 只需计算一次) 以及 4 次浮点加法或 减法运算。此外,因为 Lorenz 混沌系统的变量 x∈ ( 20,20), 需将其加上某个常数(如 20)变为非负数,以便于单极性 DA 转 换 器 输 出 模 拟 信 号 ,所 以 还 需 做 一 次 加 法 运 算 。显 然 ,若 不 经 优化,仅浮点运算器将占用 1399× 8+697× 5 = 14677 个逻辑单元。
1 混沌系统的数学模型
Lorenz 混沌系统的数学模型如下
收稿日期:2009-10-15;修订日期:2009-12-16。 基金项目:唐山市科学技术研究与发展计划基金项目 (07160203B-3)。 作者简介:刘玉民 (1975-),男,河北唐山人,硕士,讲师,研究方向为预测控制、混沌控制和信息安全; 张雨虹 (1978-),女,河北唐山 人,硕士,讲师,研究方向为预测控制、混沌优化、信息安全; 姚明林 (1973-),女,河北唐山人,硕士,副教授,研究方向为过程控制、传 感器、EDA 技术。E-mail:ym_liu_ts@163.com
本设计正是基于上述面积优化思想,采用了 4 个 32 位 8 选 1 数据选择器来复用浮点乘法器和浮点加/减法器各一个, 最终基于 Altera EP1C3T144C8 芯片(仅含 2910 个逻辑单元)成 功实现了 Lorenz 混沌系统。 3.3 数 据 分 配 器
数 据 分 配 器 与 数 据 选 择 器 的 功 能 正 好 相 反 ,它 用 于 对 浮 点 乘 法 、浮 点 加 / 减 法 运 算 结 果 进 行 分 配 ,使 其 分 配 到 相 应 的 数据寄存器进行寄存。虽然 QuartusⅡ软件没有现成的数据分 配器模块,但是可以通过 VHDL 编程自行设计实现。 3.4 时 序 控 制 模 块
{ +1 = 1 +1 =
+ +1
(2)
+1 =
+1
当 T 足够小,例如取 T = 0.001S,上面两个系统具有相
同 的 动 态 特 性 ,此 时 式 (2) 对 应 的 离 散 方 程 为
{ +1 = 0.99 +0.01 +1 = 0.028 0.001
+0.999
(3)
+1 = 0.001
+0.9973333
时序控制模块的时序仿真结果如图 2 所示。
3 基本单元模块的 FPGA 设计
根据式 (3),用 FPGA 技术设计 Lorenz 混沌系统的主要设 计 理 念 在 于 将 整 个 系 统 划 分 为 若 干 个 基 本 功 能 模 块 ,主 要 包 括 浮 点 乘 法 器 、浮 点 加 / 减 法 器 、数 据 选 择 器 、数 据 分 配 器 、时 序 控 制 模 块 和 数 值 转 换 模 块 等 主 要 模 块 。现 对 其 作 简 要 分 析 。 3.1 浮 点 乘 法 器 和 浮点 加 / 减 法 器
刘玉民,张雨虹,姚明林:基于 FPGA 的混沌信号发生器的设计与实现
2010,31 (18) 3973
{= =
(1)
=
式中:A = 10,B = 28,C = 8/3 为典型参数。
为便于用 FPGA 实现连续混沌系统,可以采用 Euler 算法
对 式 (1) 进 行 离 散 化 处 理 ,得 到 如 下 离 散 化 方 程
摘 要:提出了基于 FPGA 设计混沌 信号发生器的改 进方法。采用 Euler 算法将连续混 沌系统转换为离 散混沌系统; 基于 IEEE-754 单精度 浮点数标准和模 块化设计理念,使用 Quartus II 软件,采用 VHDL 和原理 图相结合的方式 设计混沌信号 发生 器。最后,在 FPGA 实验系统 上进行实验,在 示波器上显示了 混沌吸引子的 相图及时域混沌 信号。由于采 用了基于数据 选择 器的 面积优化方法,复用耗费逻辑资 源较多的浮点运 算模块,大大减 少了混沌信号发 生器所占用的 FPGA 逻 辑资源。实 验结 果表明了该方法的有效性和通用性。 关键 词:混沌; 现场 可编程门阵列 ; IEEE-754 标准; 面积优化 ; 浮点乘法器 中图 法分类号:TN431.2; TN918 文献 标识码:A 文章编号:1000-7024 (2010) 18-3972-03
相关文档
最新文档