当前位置:文档之家› FPGA器件的在线配置方法

FPGA器件的在线配置方法

FPGA器件的在线配置方法
FPGA器件的在线配置方法

摘要:介绍基于sram lut结构的fpga器件的上电配置方式;着重介绍采用计算机串口下载配置数据的方法和at89c2051单片机、串行eeprom组成的串行配置系统的设计方法及实现多任务电路结构中配置的方法,并从系统的复杂度、可靠性和经济性等方面进行比较和分析。关键词:配置可编程逻辑器件 fpga 在线配置引言 在当今变化的市场环境中,产品是否便于现场升级,是否便于灵活使用成为产品能否进入市场的关键因素。在这种背景下,altera公司的基于sram lut结构的fpga器件得到了广泛的应用。虽然这些器件应用广泛,但由于其内部采用sram工艺,它的配置数据存储在sram中。由于sram的易失性,每次系统上电时,必须重新配置数据,即icr(in-circuit reconfigurability),只有在数据配置正确的情况下系统才能正常工作。在线配置方式一般有两类:一是通过下载电缆由计算机直接对其进行配置,二是通过配置芯片对其进行配置。通过pc机对fpga进行在系统重配置,虽然在调试时非常方便,但在应用现场是很不现实的。上电后,自动加载配置对fpga应用来说是必需的。altera公司提供的配置芯片有一次可编程型和可擦除编程型两种:一次可编程型芯片只能写入一次,不适合开发阶段反复调试、修改及产品的方便升级;可擦除编程型价格昂贵,且容量有限,对容量较大的可编程逻辑器件,需要多片配置芯片组成菊花链形进行配置,增加系统设计的难度。为了降低成本,目前在开发阶段多用可擦除型配置芯片;最终产品用不可擦写的配置芯片,但一次简单的代码更换就需要更换一次器件,这在产品升级时很不实用。至今还没有低成本的配置芯片出现,而我们采用的这套配置方案充分考虑了在fpga实际使用中,对设计的保密性和设计的可升级的要求,不但可以实现代替价格昂贵的不可擦写和可擦写配置芯片,而且可以实现多任务电路结构重配置。该方案有pc机控制程序、单片机和外部串行存储器组成,只要通过替换外部串行存储器,就可实现对不同容量的多种配置芯片的代替。pc机是用来将配置数据写入存储器的,在写好数据后该配置系统不再需要pc机的控制,在单片机的控制下实现icr或多任务电路结构重配置。多任务电路结构重配置即将多个配置文件分区存储到外部存储器中,然后由单片机接收不同的命令,以选择读取不同存储器区的数据下载到fpga器件,实现在线配置成多种不同的工作模式。

图1

1 fpga器件的配置方式和配置文件altera公司生产的具有icr功能的fpga器件有flex6000、flex10k、apex和acex等系列。它们的配置方式可分为ps(被动串行)、pps(被动并行同步)、ppa(被动并行异步)、psa(被动串行异步)和jtag(joint test action group)等五种方式。这五种方式都能适用于单片机配置。ps方式因电路简单,对配置时钟的要求相对较低,而被广泛应用。我们的配置方案也采用ps配置方式来实现icr功能,图1是ps配置方式的时序图。被动串行工作过程:当nconfig产生下降沿脉冲时启动配置过程,在dclk上升沿,将数据移入目标芯片。在配置过程中,系统需要实时监测,一旦出现错误,nstatus将被拉低,系统识别到这个信号后,立即重新启动配置过程。配置数据全部正确地移入目标芯片内部后,conf_done信号跳变为高,此后,dclk必须提供几个周期的时钟(具体周期数与dclk的频率有关),确保目标芯片被正确初始化,进入用户工作模式。altera 的max+plus ii或quartus ii开发工具可以生成多种配置或编译文件,用于不同配置方法的配置系统,而对于不同系列的目标器件配置数据的大小也不同,配置文件的大小一般有.rbf 文件决定。.rbf文件即二进制文件。该文件包括所有的配置数据,一个字节的 .rbf文件有8位配置数据,每一字节在配置时最低位最先被装载。微处理器可以读取这个二进制文件,并把它装载到目标器件中。altera提供的软件工具不自动生成 .rbf文件,须按照下面的步骤生成:①在max+plus ii编译状态,选择文件菜单的变换sram目标文件命令;②在变换sram目标文件对话框,指定要转换的文件并且选择输出文件格式为 .rbf(sequential),然后确定。

3.2 icr控制电路软件在图3介绍的icr控制电路中,其存储fpga配置数据的

存储器 at24c256采用i2c串行总线进行数据交换。其数据交换速度较慢,而fpga配置数据又比较大,因此如何提高图3介绍的icr控制电路的配置速度将是软件设计上的一个重点。限制速度的瓶颈主要是从at24c256读取数据和将数据写入fpga器件中。从at24c256读取数据,有读当前地址、随机读和顺序读三种方式。这三种方式中,顺序读最简单、速度最快。因为在同一片at24c256中,仅需要写入一次读命令就可以按顺序从0地址开始直至读完整片at24c256中的全部数据。向fpga器件写数据时,可以使用串行口的移位寄存器工作方式,即方式0。方式0数据的传送以8位为1帧,无论是发送或是接收都是最低有效位居先。这和fpga对数据的要求一致,传送的波特率固定为振荡频率的1/12。本系统只需用到输出方式,串行数据通过rxd端输出,而用txd端输出移位脉冲。当1字节数据写入串行数据缓冲器sbuf时,就开始发送。在此期间,发送控制器送出移位信号,使发送移位寄存器的内容右移1位,直至最高位(d7位)移出后,停止发送数据和移位时钟脉冲。发送完1字节数据后,硬件置发送标志位ti为1,通过判断ti的状态决定是否向sbuf写入数据。采用这种方式比采用普通(i/o)口要快很多。4 结论我们设计的基于微控制器的fpga器件的 icr控制系统,具有线路结构简单、开发容易、体积小、成本低的优点;可以支持3.3v和5v系统的配置;适用于需要icr功能的电子装置中。该icr控制电路是为配置altera公司flex系列的fpga器件而设计的,稍加修改也适用于其它系列的fpga器件。这个配置电路的主要弱点在于配置速率较慢,只能适用于配置速率要求不高的应用。

相关主题
文本预览
相关文档 最新文档