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

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

3天内不再提示

在微处理器系统里实现两种简单的FPGA配置方式

FPGA设计论坛 来源:未知 2023-05-30 11:00 次阅读

编程逻辑器件(PLD)广泛应用在各种电路设计中。基于查找表技术、SRAM工艺的大规模PLD/FPGA,密度高且触发器多,适用于复杂的时序逻辑,如数字信号处理和各种算法的设计。类器件使用SRAM单元存储配置数据。配置数据决定了PLD内部互连和功能,改变配置数据,也就改变了器件的逻辑功能。SRAM编程时间短,为系统动态改变PLD的逻辑功能创造了条件。但由于SRAM的数据易失的,配置数据必须保存在PLD器件以外的非易失存储器内,才能实现在线可重配置(ICR)。
1 、在应用配置(动态配置)
同一设备在实现不同的应用时,要求FPGA实现不同的功能。如手持多媒体设备,可拍摄分辨率较高的静止图像照,采用JPEG2000压缩,也可传送活动图像,采用H.263,H.264/AVC等。单纯使用软件实现速度慢,需要对算法进行精细的优化;而使用硬件实现则速度快,但灵活性差。为此,采用
微处理器和FPGA相结合来实现手持多媒体终端,微处理器实现程序控制,FPGA实现大量的规则运算。此外,手持设备的某些应用(如静止图像和活动视频压缩)可能并不同时实现。若在一片FPGA同时实现这些功能,不仅布线复杂,功能难以实现,而且需要更大规模的FPGA。若使用不同的配置数据进行配置,使FPGA在不同时刻实现不同的功能,则FPGA的容量可以显著降低,从而降低设备的体积、功耗及成本。、


图 1 APEX FPGA的主动串行(PS)配置时序图
使用在应用配置时,首先把应用分集,可能同时运行的应用分成一组,耗时的规则运算由FPGA实现,其它由微处理器实现。把一个FPGA芯片的多个配置文件连续地存放在系统存储器中,在程序执行时,微处理器把对应特定应用的配置数据装载到FPGA中并完成初始化,在FPGA进入用户模式后就能实现特定的功能了。这种方法可以采用更小规模的FPGA,不必使用专用的昂贵配置芯片(如ALTERA的EPC1、EPC2等)来存储配置数据,因而可显着地节省系统成本。
ALTERA SRAM工艺的FPGA配置方式主要分为两大类:主动配置和被动配置。主动配置方式由PLD器件引导配置操作过程,它控制着外部存储器和初始化过程;而被动配置方式则由外部计算机或控制器控制配置过程。根据数据线的多少又可以将PLD器件配置方式分为并行配置和串行配置两大类。下面以ALTERA APEX20KC系列器件为例,介绍两种在微处理器系统里连接简单且使用方便的配置方式:被动串行配置和被动并行异步配置。
2、 被动串行配置(PS)
被动串行配置的主要配置引脚如下:
nSTATUS:命令状态下为器件的状态输出。加电后,FPGA立即驱动该引脚到低电位,然后在5μs内释放它。NSTATUS经过10kΩ电阻上拉到Vcc,如果配置中发生错误,FPGA将其拉低。在配置或者初始化时,若配置电路将nSTATUS拉低,FPGA进入错误状态。
NCONFIG:配置控制输入。低电位使器件复位,由低到高的电位跳变启动配置。
CONF_DONF:双向漏极开路;在配置前和配置期间为状态输出,FPGA将其驱动为低。所有配置数据无错误接收并且初始化时钟周期开始后,FPGA将其置为三态,由于有上拉电阻,所以将其变为高电平,表示配置成功。在配置结束且初始化开始时,CONF_DONE为状态输入:若配置电路驱动该管脚到低,则推迟初始化工作;输入高电位则引导器件执行初始化过程并进入用户状态。
DCLK:时钟输入,为外部数据源提供时钟。
nCE:FPGA器件使能输入。nCE为低时,使能配置过程。单片配置时,nCE必须始终为低。
nCEO:输出(专用于多片器件)。FPGA配置完成后,输出为低。在多片级联配置时,驱动下一片的nCE端。
DATA0:数据输入,在DATA0引脚上的一位配置数据。
PORSEL:专用输入,用来设置上电复位(POR)的延时时间。


图 2 使用微处理器的被动串行配置方案
nIO_PULLUP:输入。低电平时,在配置前和配置期间使能内部弱的上拉电阻,将用户管脚拉至VCCIO。
几乎所有ALTERA FPGA器件都支持被动串行配置。被动串行配置的是序图如图1所示,在这种配置方式中没有握手信号,配置时钟的工作频率必须在器件允许的范围,频率没有限制。为了开始配置,配置管脚和JTAG管脚所在的bank的VCCINT、VCCIO必需供电。FPGA上电后进入复位状态。nCONFIG被置为低电平,使FPGA进入复位状态;nCONFIG由低到高的电位跳变启动配置过程。整个配置包括三个阶段:复位、配置和初始化。当nSTATUS或者nCONFIG为低电平时,器件脱离复位状态,并且释放漏极开路的nSTATUS管脚。在nSTATUS释放后,被外部电阻拉高,这时nSTATUS和nCONFIG同时为高电平,FPGA准备接收配置数据,配置阶段开始。在串行配置过程中,FPGA在DCLK上升沿锁存DATA0引脚上的数据。成功接收到所有数据后,释放CONF_DONE引脚,并被外部电阻拉高。CONF_DONE由低到高的转变标志配置结束,初始化开始。此后,DCLK必须提供几个周期的时钟(具体周期数据与DCLK的频率有关),确保目标芯片被正确初始化。初始化完成后,FPGA进入用户工作模式。如果使用了可选的INIT_DONE信号,在初始化结束后,INIT_DONE被释放,且被外部电阻拉高,这时进入用户模式。DCLK、DATA、DATA0配置后不能三态,可置高或者置低。
在配置过程中,一旦出现错误,FPGA将nSTATUS拉低。系统可以实时监测,当识别到这个信号后,重新启动配置过程。NCONFIG由高变低,再变高可以重新进行配置。一旦nCONFIG被置低,nSTATUS和CONF_DONE也将被FPGA置低。当nSTATUS和nCONFIG同时为高电平时,配置开始。


图 3 使用微处理器的被动并行异步配置电路
3、 被动并行异步配置
如同被动串行配置一样,被动并行异步配置也包括三个阶段:复位、配置和初始化。被动并行异步配置电路图如图3所示。当nSTATUS或者nCONFIG为低电平时,器件处于复位状态。微处理器在nCONFIG管脚产生一个由低到高的跳变启动FPGA的配置。当nCONFIG变高后,器件脱离复位状态,并且释放漏极开路的nSTATUS管脚,FPGA准备接收配置数据,配置阶段开始。在配置阶段,微处理器FPGA当作存储器,进行写操作,即微处理器先使片选有效,然后把8比特数据送到Data[0:7]管脚上,并配置管脚RDYnBSY到低电平,表示FPGA正忙于处理配置数据,微处理器可执行其它功能。在RDYnBSY低电平期间,FPGA使用内部
振荡器时钟处理配置数据。当FPGA准备接收下一字节的配置数据时,它驱动RDYnBSY到高电平。微处理器检测到这一高电平,便送下一字节数据到配置管脚。为了节省一根用来检测RDYnBSY的I/O线,可采用读存储器的方法读FPGA,其中nRS为存储器读信号,在nRS有效期间,RDYnBSY信号被送到数据线D7上。也可以不检测RDYnBSY,也不读FPGA,简单地等待延时tBUSY(max)+tRDY2WS+tW2SB之后就写下一个配置数据字节。FPGA每处理一字节配置数据后,若发现错误就会将nSTATUS拉低,暗示配置出错。微处理器可以检测这一错误,并重新进行配置。如同被动串行配置一样,FPGA在正确接收所有配置数据后,将释放CONF_DONE信号,于是该管脚被外部上拉电阻拉高,表示配置结束,初始化开始。
4 、配置数据文件的生成
Altera的MAX+PLUS II或Quartus II
开发工具可以生成多种格式的配置文件,用于不同配置方法。不同目标器件,配置数据的大小不同。配置文件的大小一般由二进制文件(扩展名为.rbf)决定。Altera提供的软件工具不自动生成.rbf文件,需要按照下面的步骤生成:①在MAX+PLUS II编译状态,选择文件菜单中的变换SRAM目标文件命令;②在变换SRAM目标文件对话框,指定要转换的文件并且选择输出文件格式为.rbf(Sequential),然后予以确定。



扫描二维码获取

更多精彩

FPGA设计论坛







精彩推荐




至芯科技-FPGA就业培训来袭!你的选择开启你的高薪之路!5月30号西安中心开课、欢迎咨询!
简谈FPGA verilog中的repeat和while用法与例子
简谈CPUMCU、FPGA、SoC这些芯片异同之处
FPGA复位设计的常见问题






欢迎关注至芯科技

至芯官网:www.zxopen.com

至芯科技技术论坛:www.fpgaw.com

至芯科技淘宝网址:

https://zxopen.taobao.com

至芯科技FPGA初级课程(B站):

https://space.bilibili.com/521850676

至芯科技FPGA在线课程(腾讯课堂):

https://zxopenbj.ke.qq.com/

至芯科技-FPGA 交流群(QQ):282124839


扫码加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个


在看

你最好看






原文标题:在微处理器系统里实现两种简单的FPGA配置方式

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

    关注

    1599

    文章

    21276

    浏览量

    592837
收藏 人收藏

    评论

    相关推荐

    嵌入式微处理器和单片机的区别

    在电子工程的世界里,嵌入式微处理器和单片机(MCU)是两种常用的核心处理元件。
    的头像 发表于 04-07 17:11 349次阅读

    什么是嵌入式微处理器?嵌入式微处理器有哪些?

    嵌入式微处理器是指嵌入到特定应用系统中的微处理器,它是整个嵌入式系统的核心,由通用处理器演变而来,具有体积小、重量轻、成本低、可靠性高等优点
    的头像 发表于 03-29 11:39 267次阅读

    嵌入式微处理器的历史和发展

    嵌入式微处理器的诞生可以追溯到20世纪70年代末。在这一时期,随着集成电路技术的发展,微处理器开始出现并逐渐应用于嵌入式系统中。这些早期的嵌入式微处理器主要基于SCM(单片微型计算机)
    的头像 发表于 03-29 11:38 243次阅读

    嵌入式微处理器的原理和应用

    嵌入式微处理器是专为嵌入式系统设计的微处理器,它们是嵌入式系统的核心组件,负责执行程序指令、处理数据和控制其他硬件设备。与通用
    的头像 发表于 03-28 15:51 183次阅读

    微处理器由什么组成 微处理器和cpu的关系

    微处理器由以下几个主要组成部分构成:控制单元、算术逻辑单元、寄存器组和高速缓存。 控制单元:控制单元是微处理器的核心组成部分,负责协调和控制整个微处理器的运作。它包括指令译码器、时钟发生器和程序
    的头像 发表于 02-22 10:40 984次阅读

    #芯圣车规级触摸微处理器 HC8AT3541系列!

    微处理器
    上海芯圣电子股份有限公司
    发布于 :2024年01月16日 10:14:09

    青稞处理器资料分享

    )、精简的线和单线调试接口、“WFE”指令、物理内存保护(PMP)等特色功能,详细说明可参考青稞微处理器手册。 特色功能 1.硬件压栈(HPE) 稞处理器开启硬件压栈后,当发生中断,硬件自动将
    发表于 10-11 10:42

    基于FPGA计算的理论与实践

    简单的存储,任何可能有五个或六个输入的布尔组合函数可以每个逻辑块中实现。通用路由结构允许任意布线,因此可以以期望的方式连接逻辑元件。 由
    发表于 09-21 06:04

    MA35D1系列微处理器的实时处理器( RTP) 的自测试库分享

    应用程序: 此示例代码是MA35D1系列微处理器的实时处理器( RTP) 的自测试库。 此库执行芯片的自测试功能, 以满足市场要求的安全要求。 当芯片出现错误时, 可以实时检测, 系统可以保持功能
    发表于 08-29 07:04

    新唐NuMicro Arm9微处理器介绍

    新唐作为微控制微处理器的领导厂商之一,除了微控制系列有上百款的产品可供选择,微处理器
    发表于 08-25 07:32

    ARM920T处理器技术参考手册

    简单的总线接口,允许您围绕它设计自己的缓存和内存系统。ARM9TDMI系列微处理器支持32位ARM和16位Thumb指令集,允许您在高性能和高代码密度之间进行权衡。ARM920T处理器
    发表于 08-02 13:05

    基于S3C4510B型微处理器的最小系统设计

    介绍S3C4510B型ARM微处理器和基于该处理器设计的最小系统,概述该系统外围应用电路的选型,以便使用者自行设计开发。
    的头像 发表于 07-23 15:17 536次阅读
    基于S3C4510B型<b class='flag-5'>微处理器</b>的最小<b class='flag-5'>系统</b>设计

    微处理器的GPIO通信的基本操作

    最低的IC。本文解释了I²C系统实现中的权衡取舍,并描述了来自微处理器的GPIO通信的基本操作。提供了指向教程信息的链接以供进一步阅读。
    的头像 发表于 06-10 10:15 906次阅读
    <b class='flag-5'>微处理器</b>的GPIO通信的基本操作

    微处理器系统实现两种简单FPGA配置方式

    存储配置数据。配置数据决定了PLD内部互连和功能,改变配置数据,也就改变了器件的逻辑功能。SRAM编程时间短,为系统动态改变PLD的逻辑功能创造了条件。但由于SRAM的数据易失的,
    的头像 发表于 05-30 10:59 478次阅读
    在<b class='flag-5'>微处理器</b><b class='flag-5'>系统</b>里<b class='flag-5'>实现</b><b class='flag-5'>两种</b><b class='flag-5'>简单</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b><b class='flag-5'>方式</b>

    今日说“法”:FPGA的三配置方式

    (Programmer Object File)也是由quartusII自动生成的,BBII适用,AS模式下将配置数据下到配置芯片中 rbf(Raw Binary File)用于微处理器的二进制文件。
    发表于 04-24 15:34