【FPGA混沌】基于FPGA的混沌系统verilog实现
时间:2022-08-28 22:30:01
1.软件版本
Quartusii12.1
2.本算法fpga实现过程
我们在这里使用的主要公式是:
首先,我们使用它MATLAB仿真,得到以下结果:
然后,我们使用它FPGA进行实现
此时,式中A=10,B=28,C=8/3是典型参数。
为便于用FPGA可采用连续混沌系统Euler离散处理算法,得到以下离散方程:
当△T足够小,比如拿△T =0.001S,上述两个系统具有相同的动态特性,对应的离散方程为:
本系统我们采用IEEE表示754单精度表示方法,可得到以下结果。
0.99:3F7D70A3
0.999:3F7FBE76
0.01:3C23D70A
0.001:3A83126E
0.028:3CE56041
0.9973333:3F7F513C
2.1浮点乘法器
我们采用这种乘法器IP核来完成。
图1 乘法器IP核生成步骤1
图2 乘法器IP核生成步骤2
图3乘法器IP核生成步骤3
保持后面的默认设置。
完成后,模拟核,模拟结果如下:
图4乘法器IP核仿真
2.2浮点加/减法器
图5加法器IP核生成
其余的保持默认,完成加法器IP核的设置。
仿真结果如下:
图6加法器IP核仿真
2.3延迟模块设计
因为公式中存在n 1.因此,与n之间存在延迟关系。我们可以通过触发器实现延迟。模拟结果如下:
图7延迟模块仿真结果
3 系统整体模块设计
只要我们延迟每个级别的输出,我们就可以得到公式右侧x(n),y(n),z(n)。
原理图如下:
图8 的原理图
所有顶层原理图如下:
图11系统顶层原理图
综合系统,得到以下结果:
图12系统综合资源占用图
从上面可以看出,整个系统占用的资源较少,主要用于大量乘法器。
模拟系统的功能:得到以下结果:
图13 整个系统模拟结果
3.参考文献
[1]谢国波, 陈平华, 蔡兆波. 二次三项通用FPGA设计混沌生产器[J]. 微计算机信息, 2009.A07-03