- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGAFDTD计算系统设计
基于FPGAFDTD计算系统设计 摘 要: FDTD是电磁计算的重要方法,但对电大尺寸问题,FDTD仿真效率低的问题一直是限制其在电磁计算应用中的主要瓶颈。在FPGA中实现FDTD的硬件计算,并通过USB接口完成FDTD算法模块与系统主机间的双向数据传输。通过实验测试,发现计算结果正确,并且计算速度得到明显提升。
关键词: FDTD;硬件加速计算;FPGA
0 引言
在电磁计算方法中,FDTD[1](Finite-Difference Time-Domain)即时域有限差分算法被广泛使用。FDTD实际是在空间域内对电场值和磁场值进行交替计算,而在时间域上对FDTD算法公式进行迭代更新的一种计算方法。但对电大尺寸问题,FDTD仿真效率低的问题一直是限制其在电磁计算应用中的主要瓶颈。因此,研究如何缩短FDTD计算的时间具有重大实践意义。
对于提升FDTD的计算速度,人们已尝试通过各种方法[2][3],例如大型工作站、并行计算网络、或使用C++以及OpenGL
在GPU上编写FDTD算法等等,但是仍然无法满足某些电磁工程问题对FDTD提出高效计算的要求,于是从硬件方面加速FDTD计算的研究也开始受到人们的关注。
FPGA具有许多硬件加速的优点[4],例如可重构性、流水线设计、并行计算方式、内嵌的专用集成电路模块和存储模块等等。本文介绍了我们在Altera Cyclone II的 FPGA(EP2C35F672C6)上实现的二维FDTD计算,系统通过USB通信接口实现FDTD算法模块与系统主机间的双向数据传输,计算模块可在VC++ 6.0中被直接调用。
1 FDTD算法
2 FDTD计算的FPGA实现
2.1 系统整体方案
本文中的FDTD计算系统硬件结构如图2所示,主要由FDTD算法模块、USB通信接口模块、异步FIFO模块以及系统主机(即PC机)四部分组成。系统主机通过USB接口将算法的输入参数、激励源数据以及控制命令发送到FDTD算法模块中,然后FDTD算法模块将计算结果写入FPGA的异步FIFO中,同时系统主机通过USB接口将异步FIFO中数据读回以便显示和分析。
2.3 USB通信接口设计
本文采用Cypress公司的FX2LP系列的CY7C68013A[9]作为USB通信接口芯片,使其工作在Slave FIFO模式,并采用批量传输方式。在Slave FIFO模式下,CY7C68013A与FPGA的接口引脚连接如图5所示,包括接口时钟引脚IFCLK、双向数据总线FD引脚、FIFO标志引脚FLAGx、端点FIFOs的选择引脚FIFOADR[1:0]、输出使能引脚SLOE、读引脚SLRD、写引脚SLWR等。本设计在CY7C68013A的固件程序中配置IFCLK引脚采用外部FPGA输出的时钟,且IFCLK信号不翻转,Slave FIFO操作与FPGA同步;配置FD引脚的线宽为16位;配置FIFO标志引脚为固定模式,FLAGC为EP2EF、FLAGA为EP4EF、FLAGB为EP6FF、FLAGD为保留状态;配置端点2和端点4均为输出端点、双重缓冲类型且缓冲区大小为512字节,端点6为输入端点、四重缓冲类型且缓冲区大小为512字节、AUTOIN包长度为512字节。其中端点2用于发送算法的输入参数如时间步数等和启动命令,端点4用于发送算法的激励源数据,端点6用于接收FDTD算法模块的输出数据。此外,驱动程序直接采用Cypress公司为用户提供的CyUSB.sys,即可建立起系统主机端与USB设备端之间的联系。
2.4 异步FIFO模块设计
本文中的异步FIFO模块主要用于解决跨时钟域的数据传输问题。FDTD算法模块的工作时钟频率是50MHz,而USB通信接口模块的工作时钟是由FDTD算法模块的5分频后得到的。除此之外,FDTD算法模块输出的数据量比较大,而USB通信接口模块只能逐个将数据取走,因此这二者中间需要一个缓存作为衔接的桥梁。为了解决上述问题,我们在FPGA中定制LPM_FIFO来暂存FDTD计算的结果,同时USB通信接口模块从LPM_FIFO中将计算结果读取出来以发送回系统主机上进行处理。
3 系统设计与实现
本文中的系统软件设计主要在VC++ 6.0软件开发环境中完成,其主机用户程序的设计主要使用Cypress公司提供的CyAPI控制函数类。CyAPI控制函数类为系统主机读写USB设备提供了一个简单、强大的C++编程接口[10]。当在系统主机上安装完CyUSB.sys设备驱动程序之后,就可以在主机用户程序中通过添加头文件CyAPI.h和库文件CyAPI.lib而直接调用该C++类库。用户可在主机上输入网格大小、算法的时间步数
您可能关注的文档
最近下载
- 企业工会助推企业高质量发展.docx VIP
- 斜井压力钢管安装工法实操指南.docx
- 河北省唐山市路北区2023-2024学年七年级上学期11月期中语文试题(含答案).pdf VIP
- 2025年公安辅警综合基础知识题库及答案解析.docx VIP
- 十年(2016-2025)高考数学真题分类汇编(全国通用)-专题10 数列解答题综合一(等差、等比通项公式及数列求和,46题).docx VIP
- 标准图集-06D401-1 吊车供电线路安装.pdf
- 王正龙先生的灸法直论.doc VIP
- 【各类建筑及案例分析】快题课-05 泡泡图 图书馆类建筑 DaveChen.ppt VIP
- 【各类建筑及案例分析】快题课-07 泡泡图 文化馆类建筑 davechen.ppt VIP
- 【各类建筑及案例分析】快题课-03 泡泡图 旅馆类建筑 DaveChen.ppt VIP
文档评论(0)