基于CPLD技术的FPGA快速加载方案研究

时间:2022-10-23 01:38:30

基于CPLD技术的FPGA快速加载方案研究

摘 要 因为FPGA具有可编程与可升级的具体特点,其已经被广泛地运用在现代化通信系统中。同时其存在着一定程度的易失性缺陷,每次进行上电之后都需要对FPGA进行重新加载。伴随着现代化通信系统复杂程度的不断提升,FPGA配置处理文件愈来愈大,相应的加载时间愈来愈长,这会直接影响到系统的开启时间。为了能够提升FPGA的加载效率,提出一种基于CPLD技术的FPGA快速加载方案,这种方法不但可以提升FPGA的加载效率,同时可以节约CPU与FPGA的GIPO管脚,从而缩减系统的启动执行时间,这可以适用于现代化通信系统中。

【关键词】CPLD FPGA 快速加载

1 引言

在电子设备,特别是有自主知识产权的电子设备中都会使用CPLD和FPGA器件,做相应的固件代码设计和开发。而在研发实施中,固件的开发和软件一样,设计稳定是一个长期并且不断演进的过程,这样中间必然会产生多次加载。对于CPLD,常见的方式是直接运用原厂提供的并口烧写工具,直接用JTAG方式加载。而FPGA则会用并口工具,或者运用昂贵的ROM作为文件数据存储,再由FPGA自己读取更新。在用并口JTAG烧写方法中,通过会遇到几个问题。第一,CPLD所在的PCB单板必须外外露,破坏设备正常运行的机械组成;第二,专业技术人员亲临现场,带上器具,带装有专门软件的PC进行操作,不但过程繁锁,易误操作,而且人力成本增加;第三,并口器件的现场操作易产生接地不良而加载失败,由静电,电源极性反向等原因引起的CPLD芯片,并口工具,PC机,电子设备本身等的物理损坏。在FPGA的加载,现状有很多种方式,通常也会有一些问题。第一,需要用到器具,到现场维护;第二,运用ROM,一次性烧写,成本昂贵;第三,通过CPU系统并行写入浪费FPGA本身的IO资源;第四,通过CPU系统中行写入,速度缓慢,非常不能适用大型FPGA和多FPGA系统。在CPLD和FPGA加载的共同问题是没有解决其设计文件的在线升级问题。或者是根本不支持,或者是支持但是速率非常缓慢,以至于不能使用。

2 FPGA快速加载方案设计

2.1 硬件设计

PS加载方式通常需要使用五根信号线,其分别为nconfig、dclk、data、nstatus与conf_done。传统模式的PS加载方式的工作原理是:首先把FPGA需要进行配置处理的数据置于CPU外挂式的非易失性存储器当中,CPU开始运行后通过GPIO模拟时序的具体方式把需要进行配置处理的数据加载到FPGA当中。CPU通过这种形式所形成的加载时钟仅为kHz,加载一个10MB大小的配置文件只需要耗费100s。通过优化执行指令代码能够缩减加载时间,然而软件无法模拟高频时钟是其本身存在的缺陷问题。CPLD能够使用外部高速时钟用于加载相应的参考时钟,并且因为其具有控制简单与易于扩展的特性,可以在CPU与FPGA之间实现快速加载的运行通道[2]。CPU需要由外挂存储器中读取相应的配置处理文件,然后发送具体的加载任务,CPLD开始进行加载而且通过Local Bus向CPLD发送相应的加载数据。常用形式的Local Bus参考时钟大概为66MHz,加载1B大小的数据需要耗费15ns。CPLD对于外部参考时钟可以通过四分频作用后作为相应的加载时钟,这时钟大概为16.5MHz,其相应的加载效率有所提升。

2.2 CPLD加载模块的设计

CPLD加载模块一般是使用CPLD逻辑代码可以实现PS加载时序功能,从而达到快速加载的直接目的。根据相应的PS加载时序流程,设计通过CPU与CPLD对FPGA实现快速加载方案的具体过程如下:CPLD在接收到CPU所发送出的快速加载运行命令之后,拉低nconfig信号,如果FPGA接收到nconfig低脉冲形式的有效信号之后,会立即清除现阶段的操作程序进入相应的加载状态,拉低nstatus与conf_done信号,在nconfig信号升高500μs之后CPLD能够开始向FPGA发送时钟与数据信息进行加载处理,加载处理执行完之后,FPGA拉高conf_done信号,CPLD再通知CPU完成加载,FPGA进入到初始化的运行阶段。

⑴nconfig信号的时序控制。nconfig信号的时序控制主要是由CPU执行的,在硬件连接过程中,nconfig信号通过外部电阻的作用上拉,软件对于CPLD寄存器内部的configbit先置0,然后置1,中间的延迟时间为10μs,确保nconfig信号的脉宽可以达到芯片的实际标准要求。

⑵dclk的时序控制。Dclk主要是由CPLD的参考时钟clk_ref通过四分频作用产生的。电子器件要求dclk在nconfig信号拉高后至少需要过500μs之后才可以输出,这个具体的时序主要是由CPU进行控制,软件首先拉低nconfig信号10μs,等待FPGA响应的nstatus,如果nstatus高电平到来之后,延迟600μs开始通过Local Bus向CPLD发送需要的数据信息,CPLD通过时钟使能标志位的作用可以触发dclk,从而确保dclk的控制时序。

3 结束语

系统的CPU可以直接对FPGA运行加载的传统模式,加载一个10MB大小的FPGA配置文件一般需要耗费100s,使用CPLD技术对FPGA进行快速加载,只需要大约10s,相应的访问周期大概为200ns,由此可见CPLD技术对FPGA进行快速加载的优点,高效可靠的FPGA快速加载方案作为通信系统的重点环节,从而可以保证通信系统的快速性能。

参考文献

[1]高海霞.基于SRAM技术的现场可编程门阵列器件设计技术研究[D].西安:西安电子科技大学,2005.

[2]葛立明,范多旺,陈光武.基于ARM的FPGA加载配置实现[J].微计算机信息,2007,23(2).

[3]王宇红,侯蕊,陈仕华,等.单片机与CPLD通信系统设计[J].科技资讯,2011(27).

作者单位

浙江网新技术有限公司 浙江省杭州市 310051

上一篇:云技术在企业中的应用研究 下一篇:浅析软件开发的风险分析与控制