Quartus sof、pof、jic的特点、区别及其转换

文章介绍了在Quartus中编译工程后生成的SOF、POF和JIC三种文件的特性。SOF是SRAM对象文件,直接下载到FPGARAM但易丢失;POF适用于ASP接口,直接下载到配置芯片;JIC通过JTAG间接配置,适用于没有ASP接口的情况。生成这些文件需要不同设置,例如SOF在编译时自动产生,PFO和JIC则需从SOF转换。文件大小与FPGA型号或配置芯片大小相关。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Quartus里编译工程完成后,我们可以生成sof、pof、jic文件下载到FPGA,简单学习一下这三种文件的特点、区别以及得到它们的方法,各种情况不一样,选合适的来用即可。

  1. sof、pof、jic特点总结

  2. 如何生成三种文件

  3. 文件大小与什么相关


1. sof、pof、jic特点总结

全称分别为.sof (SRAM Object File)、.pof (Programmer Object File)、.jic (JTAG Indirect Configuration File)

文件类型需要什么配置方式如何获得
sof.binJTAGJTAG编译好自己生成
pof.binASP端口、配置芯片AS需转换
jic.binJTAG、配置芯片AS需转换

        配置芯片一般是Flash,画了小图直观一点:

 

                sof                                                pof                                              jic

       对于右边两张图,黄色箭头是下载文件过程,蓝色箭头是FPGA读取。

       由图可知:

  1.  sof可以直接下载到FPGA的RAM,但掉电即失,而pof及jic要下载到Flash后,再从Flash烧到FPGA的RAM。
  2.  pof是需要ASP接口的,可以直接下载到Flash。而jic下载到Flash需要经过FPGA桥接,但jic可以通过JTAG,不需要额外的ASP接口。
  3. 另jic虽然是通过JTAG桥接,但其配置方式实则是AS,并不是JTAG,只是经过JTAG把JTAG信号变成SPI信号(配置芯片一般用SPI接口)。JTAG配置方式纯指把程序下载到SRAM里,如果jic文件选了JTAG配置方式(配置MSEL信号),会报错。

2. 如何生成三种文件

        --sof:编译时勾选Assembler,在综合和Fitter后,编译成功就会自己生成sof文件,用sof是比较方便,自己上板调试时可以用,但再就不太行,要扯JTAG线。

        --pof:点击File -> convert programming files 可以选择将sof转为pof格式,同时还要把配置芯片型号之类的信息选好,如EPCS串行配置系列。

        --jic:从sof转换来的,步骤同转换pof 

3. 文件大小与什么相关

        sof大小和FPGA型号相关

        pof及jic都和它对应的配置芯片大小相关

文件分成两个版本, “合并sof和elf生产jic文件脚本.rar”为EP4CE10+EPCS16的版本,适用于小梅哥所有以EP4CE6、EP4CE10 FPGA芯片开发FPGA开发板。如AC620、AC601、Starter等等 “合并sof和elf生产jic文件脚本 - 4ce30.rar”为EP4CE30+EPCS64的版本,适用于小梅哥所有以EP4CE30、EP4CE40 FPGA芯片开发FPGA开发板。如AC6102 工具说明 本工具实现将Quartus ii编译产生的sof文件和NIOS II EDS编译产生的elf文件合并为jic文件,以方便烧写。 根据测试,本工具使用需要具备以下条件: 1、quartus ii软件版本在13.0及以上 2、quartus ii编译生成的sof文件输出目录为根目录下的output_files文件夹下。很多从老版本修改过来工程sof输出目录在工程根目录,因此需要用户自行修改脚本和cof文件 3、nios ii的软件工程路径为quartus 工程根目录下的software文件夹下(一般都能满足) 使用方法 1、将generate_jic.tcl、generate_jic.sh、generate_jic.cof文件拷贝到你的nios ii软件工程下。 2、在eclipse中选中应用工程,注意是应用工程,不是BSP工程,右键->NIOS II->NIOS command shell。 3、NIOS command shell中输入"./generate_jic.sh"。 (运行完成后,会在Quartus II工程根目录下生成一个myoutput_files的文件夹,同时将generate_jic.tcl、generate_jic.cof文件拷贝到工程根目录下。) 4、在quartus ii中点击Tools -> Tcl Scripts,选中generate_jic.tcl,点击run, (运行成功,会在myoutput_files目录下生成名叫hs_combined.jic文件) 5、烧写hs_combined.jicFPGA中,对板卡断电重新上电,新固件就可以开始运行了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值