fpga有多种配置模式:并行主模式为一片fpga加一片eprom的方式;主从模式可以支持一片prom编程多片fpga;串行模式可以采用串行prom编程fpga;外设模式可以将fpga作为微处理器的外设,由微处理器对其编程。
如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低fpga与pcb并行设计的复杂性等问题,一直是采用fpga的系统设计工程师需要考虑的关键问题。如今,随着fpga向更高密度、更大容量、更低功耗和集成更多ip的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于fpga前所未有的性能和能力水平而带来的新的设计挑战。
在很多项目设计中采用altera 公司基于sram架构cyclone系列器件。cyclone器件与其他fpga器件一样是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。这些配置数据可通过多种模式加载到fpga内部的sram中,由于sram的易失性,每次上电时,都必须对fpga进行重新配置。
1 cyclone fpga 配置模式
cyclone系列fpga器件配置方案主要有三种,包括使用低成本配置芯片的主动串行(as)配置、被动串行(ps)配置以及基于jtag配置,实际应用时可以使用其中的一种方案配置cyclone系列fpga器件,来实现用户编程所要实现的功能。
cyclone系列fpga器件是用sram单元配置数据的。由于sram掉电后容易丢失数据,配置数据必须即时地下载到上电的cyclone器件中。不同的配置模式可采用不同的专用配置芯片或数据源
这三种配置模式是由cyclone器件的模式选择引脚 msel1和 msel0的高低电平来决定的,如果你的实际应用只要求单一的配置模式,可以把模式选择引脚连接到vcc端或接地端在切换引脚的过程中,器件的运行状态不会被影响。不管怎样,在重新配置之前,必须保障模式选择引脚的电平是有效的。
2 配置芯片的主动串行(as)配置
在as配置模式中,利用了新型低成本器件(如epcs1、epcs4),这种专用配置芯片是带有永久性存储器和四个引脚简单接口的串行配置器件,由于它的成本较低,可以解决配置器件成本高的问题。串行配置芯片提供一个串行接口去存取数据。在配置期间,cyclone fpga通过串行接口读取数据,如果有需要的话,对数据进行解压以及配置fpga的sram单元。此模式是由fpga去控制配置接口的,这种方案称为主动串行配置,简称as配置。采用as模式配置一个cyclone fpga器件的原理图
专用串行配置芯片可选用epcs1或epcs4,其中epcs1的存储空间是1mbits, epcs4存储空间是4mbits ,设计者可根据配置文件的大小进行选择。主动串行配置芯片的主要配置引脚
dclk,串行时钟输入端,来自cyclone fpga器件,提供串行接口时钟;data,串行数据输出端,在dclk下降沿读出数据;asdi,控制信号输入端,在dclk上升沿锁存数据;ncs,使能输入端,低电平有效。
在系统上电期间,两芯片进入到上电复位阶段。当一旦进入上电复位,nstatus端为低电平,正在复位;同时conf_done端为低电平,芯片还没有被配置。复位后,延迟100ms,fpga释放nstatus端,由于上拉电阻的作用,该端变为高电平,此时进入到配置状态。一旦退出复位,所有用户i/o端进入三态状态。时钟信号dclk是由fpga内部产生的,用来控制整个配置循环以及为配置芯片串口电路提供时钟,时钟信号的频率范围在14mhz至20mhz之间。当dclk下降沿到来时,使fpga输出控制信号以及使配置芯片输出配置数据;当dclk上升沿到来时,使fpga锁存配置数据以及使配置芯片锁存控制信号。在所有配置数据被接收后,fpga释放conf_done端,通过10k的上拉电阻置为高电平,开始进入初始化阶段。cyclone fpga器件需要136个时钟周期严格地进行初始化。然后开始进入用户状态,这时init_done引脚跳变到高电平。
3 基于单片机的被动串行(ps)配置
采用微处理器的cyclone fpga被动串行配置方案的简化电路图。单片机配置过程很简单,单片机只需用5个i/o口与fpga相连这5根信号线分别是:data0、dclk、nconfig、nstatus和conf_done。
具体配置过程如下:①nconfig=0 、dclk=0,保持2us以上;②检测nstatus,若为0表明fpga已响应配置要求,可开始进行配置,否则报错。正常情况下,nconfig=0后1us内nstatus将为0;③nconfig=0,并等待5us;④data0上放置数据,dclk=1,延时;⑤dclk=0,检测nstatus,若为0,则报错并重新开始;⑥准备下一位数据,并重复执行(4)、(5),直到所有数据送出为止;⑦此时conf_done应变为1,表明fpga的配置已完成。若所有数据送出后,conf_done不为1,必须重新配置;⑧配置完成后,则送出若干个周期的dclk,以使fpga完成初始化。
值得注意的是,用max+plusⅱ或quartusⅱ生成的sof或pof文件不能直接用于单片机配置fpga,需要进行数据转换才能得到可用的配置数据。在max+plusⅱ或quartusⅱ中,都有数据转换选项,将.sof文件转换为.rbf文件,然后再将.rbf文件直接写入单片机系统的某一rom或flash区域,这段数据的起始地址和长度都是已知的,按以上过程编写相应软件即可。
4 配置数据压缩方法
cyclone器件是一种支持解压配置数据的fpga器件,允许存储在配置芯片或其他存储器的配置数据是经压缩处理的数据,在配置期间,这此压缩数据发送到cyclone器件中即时被解压并对sram单元进行编程。as配置模式和ps配置模式都可支持压缩方式,但基于jtag配置模式却不支持压缩方式。初步数据表明压缩可减少35﹪至60﹪的配置数据位流,可减少数据的存储空间和传输速度以及配置设备的成本。
quartusⅱ能生成带压缩的配置文件,可减少配置芯片和flash闪存空间及位流的传送时间。下面以quartusⅱ5.1版为例介绍两种压缩配置文件的操作方法。
4.1 方法一:设计程序编写前在项目程序设置中激活压缩。
首先在assignments菜单下点击device项,弹出settings窗口, 然后在family选项中选择cyclone器件,点击下面的device&pin options弹出窗口,再选择configuration窗口点击generate compressed bitstreams选项,最后按确定键结束设置。
4.2 方法二:设计程序编写后从convert programming files窗口创建程序文件激活压缩。
首先下拉file 菜单,点击convert programming files 弹出窗口,选择文件类型programming file type(pof,sram hexout,rbf,orttf),然后为pof output files,选择配置器件,再选择add file 添加一个cyclone sof 文件,选择文件名加入到sof data 区,单击properties选项,再确定,最后按generate键生成。
5 结束语
串行配置方法的硬件电路简单、配置过程软件实现比较容易、工程应用方便。cyclone 系列的fpga器件逻辑资源、芯片速度等技术参数能够达到项目要求,性价比高,而且还有一定的扩充性。此种fpga 的配置实现方法也适用于和其它cpu结合,应用于其它场合,只要严格按照软硬件的配置要求即可,因此在实际应用中具有参考价值。如今,cpld/fpga 已经成为数字系统开发的平台,并且以后将朝着高集成度、大容量、低成本、低电压、低功耗、资源多样化、适用于片上系统(soc)、深亚微米工艺、各种软硬ip 库、动态可重构技术实用化等方面不断完善和提高。
基于ARM和GPRS的无线传输与接收设计
高通苹果陷入“专利流氓”怪圈,急需一个平衡点
阿里旗下半导体公司发布玄铁910嵌入式处理器
48V至5V DC-DC转换器采用MAX638开关降压型稳压器从电话线借电
德州仪器成功入选2015年教育部产学合作育人项目
FPGA配置模式
变频器进出线接反了会怎样 变频器相序接反有什么影响
两款微流控试剂盒进入商务部出口“白名单”
小米10至尊纪念版得到MIUI12稳定版固件更新
柯达宣布将图像传感器业务出售给Platinum Equity
【免费指南】如何应对2022年Windows DCOM安全更新?
语音交互的智能电子屏让我们的生活不再枯燥
石墨烯产业锦上添花,产业增长将迎来爆发
高压探头NorthStar北极星产品特性及其应用
热箔供热的低成本微流控平台用于原位变温光谱的研究
可编程逻辑器件和ASIC对比介绍
智能电表设计:热分配表扮演一个什么样的角色?
IHS:平板电脑显示屏出货量今年同比增56%
基于化妆品行业的RFID资产管理系统优点是什么
如何将电路设计软件用于PCB?