打印
[FPGA]

概述FPGA烧写JIC文件到底是个怎样的过程

[复制链接]
1022|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zgmxs|  楼主 | 2020-2-6 21:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
烧写JIC的过程实际分为两步
        第一步,使用JTAG模式烧写一个FLASH Loader固件到FPGA中;
        第二步,使用该FLASH Loader固件将JTAG传输的FPGA的配置文件写入到EPCS FLASH中。

  要想通过JTAG直接将数据写入到EPCS FLASH中是不那么方便的,所以Altera采用了FPGA转发的方式,在生成JIC文件时,有一个设置是在Flash Loader选项下选择被配置的FPGA器件,然后才是添加一个SOF Data,如下图所示。那么这个Flash Loader,通俗一点理解,就是Altera预先设计好的一段逻辑,从效果上等同于用户自己设计一个接受JTAG的数据并写入SPI FLASH的逻辑。所以,合成JIC文件时,就在JIC文件的某个位置插入了该逻辑的配置文件(相当于sof),然后,才是加上了用户自己设计好的逻辑的配置文件。

所以,当用户希望将自己的FPGA配置文件固化到EPCS存储器中时,当转换得到JIC文件后,在Quartus Programmer软件中添加好该JIC文件之后,可以看到软件检测出来了两个文件,第一个文件名为Factory default enhanced SFL image,第二个才是用户自己的设计文件,如下图所示:

所以烧写的时候大家应该也能够看到,实际上烧写一般会有三次进度条,第一次速度最快,那就是在下载这个FLASH Loader文件,当该文件下载进入FPGA之后,FPGA就变成可一个能够接受JTAG数据并按照SPI FLASH的接口协议将数据写入到FLASH中的烧写器。第二次更新进度条,则是对EPCS FLASH进行擦除操作,当EPCS FLASH擦除之后,最后才是耗时最长的一次进度条更新,这一次才是将用户设计烧写到EPCS FLASH中。
                所以,有用户希望直接使用JIC文件来,通过其他方式,如FLASH离线烧录器等方式来批量烧写FPGA固件到EPCS中是行不通的。因为这个文件不纯洁,要纯洁的文件,可以考虑rbf文件。



使用特权

评论回复

相关帖子

沙发
FAQ| | 2020-2-7 15:08 | 只看该作者
讲的很好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

104

主题

104

帖子

3

粉丝