0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA从并加载解决方案的介绍

电子设计 作者:电子设计 2018-10-30 08:58 次阅读

现场可编程门阵列(FPGA)作为专用集成电路ASIC)领域的一种半定制电路,可以根据设计的需要灵活实现各种接口或者总线的输出,在设备端的通信产品中已得到越来越广泛的使用。FPGA 是基于静态随机存储器(SRAM) 结构的,断电后程序丢失后的每次上电都需要重新加载程序。且随着FPGA 规模的升级,加载程序的容量也越来越大,如Xilinx 公司的Spartan - 6 系列中的6SLX150T,其加载容量最大可以达到4.125 MB。

1 FPGA 常用配置方式

FPGA 的配置数据通常存放在系统中的存储器件中,上电后控制器读取存储器中的bit 文件并加载到FPGA 中,配置方式有JTAG、从并、从串、主从4 种,不同厂家叫法不同,但实现方式基本都是一样的。

(1)边界扫描JTAG 方式。单板调试阶段常用JTAG 模式,该方式需要控制器,FPGA 等芯片JTAG 接口构成菊花链,且在该模式下,控制器其他功能不能使用。

(2)从串方式。从串加载方式占用资源少,主要是和FPGA 相连的I/O接口较少,但是一个配置时钟只能传输一个bit 数据,速度相对较低。

(3)主从方式。该方式最主要的缺点是配套使用的FLASH 存储器必须是FPGA 厂家指定的型号,且这个FLASH 容量不大,不能和控制器的FLASH 共用,使用这种方式,单板上就会有两个FLASH,增加产品成本,因此该方案使用较少。

(4)从并方式。即文章中探讨的FPGA 加载方案。

2 从并加载方式的实现

以Xilinx 公司Spartan - 6 系列FPGA 为例,与从并加载相关的管脚如表1 所示。

FPGA从并加载解决方案的介绍

表1 从并加载管脚名称

由表1 可以看出,从并加载接口占用的管脚资源是比较多的,即使加载数据总线使用8 位,也要14 个管脚,CPU 一般没有这么多通用输入/输出(GPIO)口,因此从并加载一般和CPLD 配套使用。其加载流程如图1所示。

FPGA从并加载解决方案的介绍

图1 SPARTAN-6 从并加载流程

3 基于CPLD 的FPGA 加载方案

3.1 方案介绍

在 设备端通信产品中,基于CPLD 的FPGA 从并加载框如图2 所示,配置数据存储在FLASH 中,且在加载数据之前,CPU 通过局部总线和双倍速内存(DDR)接口,将配置数据从FLASH 中搬移到DDR 颗粒;真正需要加载时,再通过DDR2 接口将配置数据搬移到CPU 的缓存中,DDR2接口速度很快,其时钟频率可以达到266 MHz,因此①、②两步加载时间可以忽略不计。

FPGA从并加载解决方案的介绍

图2 基于CPLD 的FPGA 从并加载框

之 后CPU 通过和CPLD 的接口③——8 位的局部总线接口,将配置数据逐字节的写入CPLD 的寄存器中。以MIPS 系列CPU XLS408 为例,XLS408 工作时钟频率为66.7 MHz,写总线周期最快需要10 个工作时钟周期,即6.67 MHz,这一步受局部总线速度限制。

数据写入到CPLD 后,再通过接口④ ——CPLD 与FPGA 之间的从并接口,将数据加载到FPGA,从并接口是同步总线,加载时间受限于总线时钟CCLK 频率。

本方案的优点为:① 、② 两条路径可以在加载之前处理,且运行速度快,不占用加载时间。加载时间只受③ 、④ 的限制,而③ 受限于写总线周期间隔,④受限于从并接口的时钟。

3.2 程序实现

CPLD 从并程序采用verilog 语言实现,该加载模块接口定义如下:

FPGA从并加载解决方案的介绍

FPGA从并加载解决方案的介绍

程序实现流如图3 所示。

FPGA从并加载解决方案的介绍

FPGA从并加载解决方案的介绍

图3 基于CPLD 从并加载FPGA的程序流程

FPGA 加载片选和写信号产生部分代码如下:

FPGA从并加载解决方案的介绍

4 仿真及加载结果分析

基于modelsim 6.5SE 仿真波形可以看出CPU 每加载1 字节数据需要向CPLD 写1 次加载数据,这共需花费一个局部总线周期,局部总线频率最快为6.67 MHz。因此CPU 加载4.125 MB 数据到CPLD 共需时间为:

FPGA从并加载解决方案的介绍

CPLD 需要1 个CCLK 周期写1 字节数据到 FPGA,CCLK 则是利用CPU局部总线的写信号产生,可以实现CCLK 和数据的同步,因此CCLK 时钟速率为6.67 MHz,因此加载4.125 MB数据到FPGA,共需时间为:

FPGA从并加载解决方案的介绍

FPGA 上电需要1 ms,因此当FPGA 使用SPARTAN-6 系列最高端的6SLX150T 时,采用基于CPLD 的从并加载方式,共需要的加载时间为1.221 s,满足通信产品FPGA 加载时间小于2 s 的要求。而如果采用从串等加载方式,使用ARM7 处理器作为控制器,对于CycloneII 系列中的EP2C35,配置文件大小1.16 MB,加载时间需要1.30 min;采用基于CPLD的从串加载方式,加载同样4.125 MB的FPGA 数据,CPLD 加载时钟33MHz,则加载时间需要3.8 s,FPGA加载时间过长,则会影响系统的启动时间。

表2 是常用加载方式加载6SLX150T 型号FPGA 芯片数据所需时间比较。

FPGA从并加载解决方案的介绍

表2 FPGA 加载时间对比

从上述分析可以得出结论,如果提高CPU 的局部总线写速度,加载FPGA 的时间就会更快。

5 结束语

使用基于CPLD 的FPGA 从并加载方案,相对于其它几种加载方式,虽然加载管脚增多,但加载时间大大缩短,并且如果提高CPU 局部总线的写速度,加载速度有进一步提高空间,满足通信系统快速启动的要求,具有很高的实用价值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593155
  • 集成电路
    +关注

    关注

    5320

    文章

    10732

    浏览量

    353351
  • cpld
    +关注

    关注

    32

    文章

    1243

    浏览量

    168288
收藏 人收藏

    评论

    相关推荐

    #硬声创作季 #FPGA Xilinx入门-16 亚稳态现象原理与解决方案-1

    fpgaXilinx解决方案
    水管工
    发布于 :2022年10月09日 01:44:30

    #硬声创作季 #FPGA Xilinx入门-16 亚稳态现象原理与解决方案-2

    fpgaXilinx解决方案
    水管工
    发布于 :2022年10月09日 01:45:00

    #硬声创作季 #FPGA Xilinx入门-16 亚稳态现象原理与解决方案-3

    fpgaXilinx解决方案
    水管工
    发布于 :2022年10月09日 01:45:22

    #硬声创作季 #FPGA Xilinx入门-16 亚稳态现象原理与解决方案-4

    fpgaXilinx解决方案
    水管工
    发布于 :2022年10月09日 01:45:54

    #硬声创作季 #FPGA Xilinx入门-16 亚稳态现象原理与解决方案-5

    fpgaXilinx解决方案
    水管工
    发布于 :2022年10月09日 01:46:24

    #硬声创作季 #FPGA FPGA-17-02 按键抖动现象介绍解决方案分析-1

    fpga解决方案
    水管工
    发布于 :2022年10月29日 02:13:54

    #硬声创作季 #FPGA FPGA-17-02 按键抖动现象介绍解决方案分析-2

    fpga解决方案
    水管工
    发布于 :2022年10月29日 02:14:15

    #硬声创作季 #FPGA FPGA-17-02 按键抖动现象介绍解决方案分析-3

    fpga解决方案
    水管工
    发布于 :2022年10月29日 02:14:41

    怎样SPI FLASH加载FPGA程序

    需要将FPGA程序通过I2C或者RS232加载FPGA内部,然后通过FPGA存储到SPI FLASH中,再次上电后SPI FLASH
    发表于 04-29 14:46

    FPGA加载解决方案的实现

    1 SPARTAN-6 加载流程3]4]5 结束语使用基于CPLD 的FPGA
    发表于 06-14 06:00

    FPGA加载解决方案

    使用的FLASH](4)方式。即文章中探讨的FPGA 加载方案。2]以Xilinx 公司Spartan - 6 系列
    发表于 07-12 07:00

    简化FPGA的电源解决方案

    我不得不承认,随着时间的推移为 FPGA 供电变得越来越复杂,本文提供一些建议,希望可以帮助简化 FPGA 的电源解决方案,使用户能够创建出快速便捷的解决方案。在为
    发表于 11-23 07:14

    基于多片FPGA自动加载系统的设计

    介绍了一种基于SRAM技术的FPGA可编程逻辑器件的编程方法,能在系统复位或上电时自动对器件编程。有效地解决了基于SRAM的FPGA器件掉电易失性问题,针对当前系统规模的日益增大,本文提出了一种用单片机对多片
    发表于 03-15 16:41 21次下载

    FPGA的配置/加载方式

    FPGA有多种配置/加载方式。粗略可以分为主动和被动两种。主动加载是指由FPGA控制配置流程,被动加载是指
    的头像 发表于 10-05 10:12 1.7w次阅读

    集成电源解决方案-Altera FPGA应用介绍

    电子发烧友网站提供《集成电源解决方案-Altera FPGA应用介绍.pdf》资料免费下载
    发表于 11-28 09:21 0次下载
    集成电源<b class='flag-5'>解决方案</b>-Altera <b class='flag-5'>FPGA</b>应用<b class='flag-5'>介绍</b>