论文部分内容阅读
FDTD算法即时域有限差分算法如今被广泛地应用在电磁分析领域,它是求解Maxwell微分方程的直接时域方法,通过对电场量、磁场量在空间和时间上采取交替抽样的离散方式,将麦克斯韦方程组的微分形式进行差分离散化,将传播区域划分成一个个的网格,通过空间域上网格点之间的反复迭代,时间域上的不断更新来达到数值计算的目的,也可以模拟波的传播过程。但是在计算过程中,由于当计算区域较大,即空间差分产生较多网格时,需要耗费大量的计算资源与时间,用软件执行的话,计算效率不是很理想。FPGA的发展为解决这类大规模计算问题提供了一种新途径。FDTD计算的特点是在固定的一个空间网格中进行重复的算术运算,数据流规则,控制流较为简单,因此可利用FPGA可编程的特点,设计专门的算术运算电路,实现FDTD的计算。一块FPGA芯片可同时实现多个乘法器、加法器,轻易实现并行运算。这样针对FDTD算法专门设计的运算电路,可大大提高计算速度。本文以FDTD算法的二维形式为例,用Verilog HDL语言实现FDTD算法,在硬件设计中加入了流水线技术和并行计算用来加快算法运行速度,并用双端口RAM作为数据储存器,提高了数据的读写速度。设计中采用的数据格式是符合IEEE-754标准的32位单精度浮点数,保证了计算的精度要求。设计的目标芯片是Altera公司Cyclone III系列中的EP3C55F484C6。在进行二维情形模拟时,网格的大小设定为60×60,在中心位置添加一个高斯脉冲作为激励源,经过60个时间步的计算后,用ModelSim输出此时电场的更新值,并用MATLAB对结果进行数据处理,观察整个波的传播情况。将仿真结果与C语言软件计算结果相比较,两者的误差不超过0.11%。当FPGA工作频率在10MHZ时,整个算法速率比而C程序在主频2.2GHZ的个人电脑上运行快了22倍。