cyclone fpga在as模式下,如果epcs里面有有多个文件,fpga如何选择加载读取哪

cyclone fpga在as模式下,如果epcs里面有有多个文件,fpga如何选择加载读取哪,第1张

FPGA程序固化(转) 主配置式(AS)配置式(PS)用(JTAG)配置式:

AS由FPGA器件引导配置 *** 作程控制着外部存储器初始化程EPCS系列.EPCS1,EPCS4配置器件专供AS模式目前支持 Cyclone系列使用Altera串行配置器件完Cyclone期间处于主位配置期间处于属位配置数据通DATA0引脚送入 FPGA配置数据同步DCLK输入1钟周期传送1位数据

PS则由外部计算机或控制器控制配置程通加强型配置器件(EPC16EPC8EPC4)等配置器件完PS配置期间配置数据外部储存部件通DATA0引脚送入FPGA配置数据DCLK升沿锁存1钟周期传送1位数据

JTAG接口业界标准,主要用于芯片测试等功能,使用IEEE Std .1联合边界扫描接口引脚支持JAM STAPL标准使用Altera载电缆或主控器完

AS PS JTAG区别:

AS模式: 烧FPGA配置芯片保存FPGA器件每电作控制器配置器件EPCS主发读取数据EPCS数据读入FPGA实现FPGA编程

PS模式:EPCS作控制器件FPGA做存储器数据写FPGA实现FPGA编程该模式实现FPGA线编程

JTAG:直接烧FPGA面由于SRAM断电要重烧

.pof文件通AS式载(保证byteblasterII/u blaster连接确)

.sof文件或者转换.jic通JTAG式载

FPGA工作配置数据存储SRAM加电须重新载实验系统通用计算机或控制器进行调试使用PS实用系统数情况必须由FPGA主引导配置 *** 作程FPGA主专用存储芯片获配置数据芯片fpga配置信息用普通编程器设计所pof格式文件烧录进

专用配置器件:epc型存储器

用配置器件:epc2,epc1,epc4,epc8,epc(现象已经逐步淘汰)等

于cyclone cycloneII系列器件,ALTERA提供针AS式配置器件,EPCS系列.EPCS1,EPCS4配置器件串行配置.注意,适用于cyclone系列.

除ASPS等单BIT配置外现些器件已经支持PPSFPS等些并行配置式提升配置配置速度所外挂电路PS些区别处理器配置比JRUNNER 等等需要再baidu吧至少十种比Altera配置式主要Passive Serial(PS),Active Serial(AS),Fast Passive Parallel(FPP),Passive Parallel Synchronous(PPS),Passive Parallel Asynchronous(PPA),Passive Serial Asynchronous(PSA),JTAG等七种配置式其Cyclone支持配置式PSASJTAG三种.

般做FPGA实验板,(cyclone系列)候,用AS+JTAG式,用JTAG式调试,程序已经调试误,再用 AS模式程序烧配置芯片,

关于工程同缀名文件适用范围:

sof(SRAM Object File)直接用PS模式配置数据FPGA用,USB BLASTER,MASTERBLASER,BBII,BBM适用,uartusII自,所其配置文件都由sof.

pof(Programmer Object File)由uartusII自,BBII适用,AS模式配置数据配置芯片

rbf(Raw Binary File)用于微处理器二进制文件.PS,FPP,PPS,PPA配置用处

rpd(Raw Programing Data File)包含bitstream二进制文件,用AS模式配置,能由pof文件

hex(hexadecil file)说,单片机

ttf(Tabular Text File)适用于FPP,PPS,PPA,bit-wide PS配置式

f(Serial Bitstream File)用PS模式配置Flex 10kFlex

Reset Vector——复位向量

Exception Vector——执行向量

首先说明两个向量地址都存储着程序。下面分别进行解释。

                                        Reset Vector——复位向量

当FPGA进行复位时,FPGA就重新开始执行重新,这是就需要从EPCS中读取程序。由于FPGA的程序存放在EPCS中,所以Reset Vector为EPCS。

                                        Exception Vector——执行向量

在FPGA运行时,首先需要将程序从EPCS中读取,存放在SDRAM中,之后才进行运作。

以上原理和51单片机执行原理一样。

这样通过arm更新fpga固件

1、将一块已经用下载器烧录fpga程序的epcs4与ARM连接,arm读出epcs4所有扇区数据保存到NandFlash中,然后拷贝到电脑备份。

2、用另一块待烧录的fpga与arm连接,将刚读出的数据烧写进去,读取的数据是最终执行的二进制Bin文件,因为Altera开发环境所生成的jic、pof与最终epcs4内的内容不一样。之所以读取所有扇区数据是因为不知道实际Bin文件大小,干脆全部读出。EPCS4存储空间是512KB。IO模拟SPI时序的方式速度有限,读/写512KB各需要40S,用SPI总线速度会快不少。该方法已经在2块FPGA里运行没问题,证明Bin文件并没有在烧写过程中绑定FPGA芯片序列号。

3、启动后按5进入EPCS4测试代码。

4、按N将Bin文件从Nand拷贝到SDRAM的0x30200000,长度512KB。

5、按W将0x30200000的数据烧录到epcs4中,写入后计算写入前数据校验码得0x00000039,然后再读出EPCS4中所有数据,计算读出内容的校验码也是0x00000039,比较校验移植返回Success!!!,否则返回ChecksumError!!!。

6、升级过程中fpga需要掉电,或者将fpga与EPCSxx连接的引脚断开,否则3个设备连接到共用信号线无法通信,完成这些后即可更新好fpga固件。fpga是在pal可编程阵列逻辑、gal通用阵列逻辑等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11769839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存