一种基于CPLD的FPGA动态重配置方法

上传人:杨*** 文档编号:319083149 上传时间:2022-06-28 格式:DOCX 页数:8 大小:91.99KB
返回 下载 相关 举报
一种基于CPLD的FPGA动态重配置方法_第1页
第1页 / 共8页
一种基于CPLD的FPGA动态重配置方法_第2页
第2页 / 共8页
一种基于CPLD的FPGA动态重配置方法_第3页
第3页 / 共8页
一种基于CPLD的FPGA动态重配置方法_第4页
第4页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一种基于CPLD的FPGA动态重配置方法》由会员分享,可在线阅读,更多相关《一种基于CPLD的FPGA动态重配置方法(8页珍藏版)》请在金锄头文库上搜索。

1、 一种基于CPLD的FPGA动态重配置方法 武健+杨媛媛+刘陈Summary:针对FPGA动态重配置速率低,PROM容量受限等问题,设计了一种基于CPLD的FPGA动态重配置方法。详细介绍了该方法的硬件架构,CPLD程序设计和FPGA程序维护方法,实验证明该方法稳定可靠,简单易行,具有较为广阔的应用前景。Key:FPGA;动态重配置;CPLD:TP393 :A :1009-3044(2015)10-0056-03随着FC网络在机载通信领域的广泛应用,作为接口设备的FC节点机需要满足多种主机接口和功能要求,一种支持多主机接口、动态可配置的FC通用节点机应运而生。该通用节点机可根据任务需求,选择和

2、设置主机接口及设备加载程序来完成参数迥异的通信任务,其应用也大幅减少备品备件等后勤维护压力。可编程逻辑器件功能和软件的动态重配置是FC通用节点机遇到的最大瓶颈。已有的重配置方法是在同一个逻辑代码中实现多种主机接口的通信程序,但存在如占用大量的FPGA逻辑资源,逻辑文件大,系统启动慢等多种问题1-2。文章通过设计一种基于CPLD的FPGA动态重配置方法,实现了多种FPGA程序的快速灵活加载。1 典型的动态重配置技术分析1.1 利用FPGA自身实现重配置功能以Xilinx公司的Virtex-5系列芯片为例,该芯片增加了专用的内部加载逻辑(IPROG)用于实现多页FPGA程序的加载功能1,IPROG

3、指令具有与PROGRAM_B类似的功能,不同的是IPROG不会复位FPGA内部重配置专用逻辑。用户可以通过FPGA内部配置访问端口(ICAP)或者使用比特流的方式发送IPROG指令,FPGA根据以上指令,自动从热启动地址寄存器(WBSTAR)处进行数据加载,实现FPGA重配置功能。图1所示的是该方法的配置原理框图。这个方法加载速度快,硬件电路简单,但FPGA配置文件的大小非常依赖于PROM的容量。对于实现接口协议转换等功能的机载通信设备来说,FPGA程序规模往往会大于16MB,而目前Xilinx公司主流大容量PROM型号为XCF128X,容量仅为32MB,无法满足多个配置文件的加载。因此,利用

4、FPGA自身实现重配置功能的方法不适用于机载通信设备。1.2 利用通用大容量FLASH和CPLD实现重配置功能该方法是将FPGA配置文件固化在通用FLASH中,CPU根据不同的应用场景选择相应的FPGA程序,完成配置过程的控制。CPLD完成FPGA的专用配置接口时序,将配置数据加载到FPGA中。配置原理框图如图2所示2。这种方法使用通用FLASH,可以存储多达十几个版本的FPGA程序,解决了PROM容量受限的问题,但加载速度慢,大型的FPGA程序加载时间甚至会达到秒级。对于设备启动要求几百毫秒的机载通信系统来说,该方法也不适用。2 新型动态加载配置方法以上两种重配置技术都无法解决机载系统中大规

5、模FPGA程序的快速重配置问题。主要局限在存储容量受限和配置时间较长。针对这两点,文章设计了一种新型动态重配置方法。该方法通过CPLD芯片使FPGA与多个PROM连接,通过处理单元对CPLD的控制,选择存放不同逻辑文件的PROM,即可以完成不同功能的FPGA程序选择。PROM到FPGA的加载方式使用Slave SelectMap模式13,满足了系统对加载时间的要求,不同PROM间的切换解决了对加载容量的要求。具体实现方法如下。2.1 硬件平台硬件平台框图如图3所示。主要是针对Xilinx公司的Virtex-5系列FPGA进行配置,其中CPLD选用CoolRunner-II系列的XC2C384,

6、三片PROM均选用Xilinx的XCF128XF。CPLD芯片主要用于对加载初始阶段处理单元发起的操作进行响应,实现PROM选择,并控制FPGA重新发起加载流程。在硬件电路设计中应注意以下几点,可在实现功能的同时,简化PCB走线,并满足时间指标要求:1)将FPGA程序加载的数据线、地址线、读写等控制信号全部引入CPLD,由CPLD连接各个PROM,简化PCB走线,防止由于信号反射引入的信号完整性问题。2)FPGA和PROM时钟统一由外部时钟源提供,严格按照数据手册进行布局布线,确保高速加载可靠性;3)PROM选择电路中,PROM控制信号的端接必须在从FPGA进入CPLD前完成处理,确保上电工作

7、状态的稳定和可控。2.2 FPGA程序动态配置设计与实现在文章描述的方法中,CPLD通过和处理单元相连的加载控制接口完成控制和选择,加载控制接口共3位,其中两位加载选择离散量组合对应最多四个不同的逻辑版本状态,一位加载控制离散量用于指示逻辑重加载,由处理单元控制,时序如图4所示。加载控制信号与加载选择信号由处理单元发出,加载控制信号低电平有效,加载选择信号要求在加载控制信号有效期间保持稳定。加载完成信号是FPGA程序加载完成后,FPGA释放DONE信号,由外部上拉电阻置高电平。控制流程如下:1)CPLD中设计默认状态选择PROM1,CPLD上电后固定加载PROM1中的FPGA程序;2)处理单元

8、启动后,根据系统要求,设置加载选择信号,以选择需要加载的FPGA程序,之后处理单元设置加载控制信号为低,启动重加载;3)CPLD周期性判断加载控制信号和加载选择信号,当加载控制信号出现下降沿时,CPLD读取加载选择信号,对FPGA的PROGRAM_B和PROM的/RP管脚输出低电平,持续时间不少于50ns,同时CPLD内部将FPGA与所选PROM的数据线、地址线连通;4)FPGA完成程序加载后,将DONE信号置为高,主机检测到该信号后,发起FPGA复位操作,复位结束后,将加载控制信号置高,以便再次对FPGA程序重新配置。 实际应用中,系统在复位或上电后可根据设计选择默认逻辑完成加载,也可由处理

9、单元完成对FPGA加载逻辑状态的选择,实现可编程逻辑的动态选择加载。通过该方式,可以使用单一硬件兼容三种系统应用,而无需设计三种模块,在技术状态的管理上,也可以做到明确、清晰,和当前的系统应用具有良好的延续性。2.3 FPGA程序维护和升级在系统实际使用中,如果需要对FPGA程序进行维护操作,可以使用以下两种方式完成:1)在有处理单元的平台上,通过处理单元完成对PROM的选择,之后使用JTAG接口完成FPGA程序升级维护操作,进行烧写、擦除、读取、校验等操作;2)在没有处理单元的平台上,加载控制接口可以使用外部离散量控制板,通过跳线方式,选择对应的PROM,之后使用JTAG接口完成FPGA程序

10、升级维护操作。以上两种方式,虽然相比典型的FPGA程序升级操作维护步骤略有增加,但是考虑到模块技术状态稳定后,升级维护操作并不频繁,且增加的操作步骤简单易行,技术状态稳定后,并不会对模块的可维护性产生大的影响,相比模块种类增加所带来的设计、控制等一系列成本,该方式的优势更为明显。3 实验与验证对文章提出的方法进行功能和性能验证,根据图3搭建了系统验证平台。对Xilinx公司生产的Virtex-5系列芯片进行动态配置,选用的配置时钟CCLK为40MHz,选择PROM1为默认PROM,待处理单元启动后,通过加载控制接口选择PROM2进行重配置,重配置可以在200ms内完成。表示文章所提出的方法可以

11、实现FPGA程序的重配置。4 结束语经过工程应用验证,使用该方法的硬件平台工作稳定可靠、简单易行使用灵活。该方法对于使用可编程逻辑实现主要功能,且FPGA外部电路一致的模块有着较好的借鉴作用,可以在具备该条件的模块设计中进行推广,既可以满足用户的需求,也能够有效减少模块种类,具有较为广阔的应用前景。Reference:1 Xilinx, Virtex-5 FPGA Configuration User GuideR. USA: Xilinx, 2009.2 陈静,曹芳菊. FPGA动态高速加载设计与实现J.计算机与网络,2011(5).3 李吉锋,杨刚,王戈,等. 星载环境FPGA软件在轨重加载的一种方法J, 现代电子技术,2012(5). 电脑知识与技术2015年10期电脑知识与技术的其它文章Android中的BroadcastReceiver注册方式研究中职学校程序设计课堂教学的有效途径基于关联规则的图书馆书目序列模式挖掘机载加卸载设备电源设计与实现基于移动终端的手术作业管理系统功能设计及实现基于局域网的计算机机房管理维护的探讨 -全文完-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号