当前位置: 首页 > news >正文

Quartus生成烧录到FPGA板载Flash的jic文件

简要说明:

Altera的FPGA芯片有两种基本分类,一类是纯FPGA,另一类是FPGA+Soc(System on chip),也就是FPGA+HPS(Hard Processor System,硬核处理器),对应两种Flash烧录方式(文件格式均为jic),分别是Convert Programming Files与Programming File Generator。

打开方式:

        在Quartus中单击File -》在弹出窗口中选择:Convert Programming Files或者Programming File Generator。

一、Convert Programming Files

1.1 资料准备:

        Quartus首先编译生成一份sof文件;

将sof文件转换为jic文件,用于下载到板载flash中,下载的sof 文件存于FPGA内部ram资源中,断电即消失。

1.2 生成jic文件:

FPGA器件有三类配置下载方式:

    1、AS模式(active serial configuration mode,主动串行配置模式):

        FPGA每次上电时作为控制器,由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,向配置器件主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程配置数据通过FPGA_DATA0引脚送入FPGA,配置数据被同步在FPGA_DCLK上,1个时钟传送1位数据。

   2、PS模式(passive serial configuration mode,被动串行配置模式):

        由外部计算机或者控制器控制配置过程,通过加强型配置器件(EPC16, EPC8)等配置器件来完成,EPCS作为控制器件,把FPGA当作存储器,把数据写入到FPGA中,实现对FPGA的编程,该模式可以实现对FPGA在线可编程。
    3、JTAG模式(Joint Test Action Group,联合测试组):

        JTAG是直接烧到FPGA里面的,由于是烧写到SRAM中,因此断电后要重烧,AS是烧到FPGA的配置芯片里保存的,每次上电就写到FPGA里。

      一般情况下,Cyclone器件应该有两种下载方式,AS和JTAG,AS就是下载.pof文件到EPCS**中,而JTAG是下载.sof文件到FPGA中的SRAM中。
 

1.3 烧录jic文件

在Quartus中打开Programmer,选择USB Blaster,添加jic文件,并烧录即可。

1.3.1 添加USB Blaster

Hardware Setup 》 Hardware Settings》Currently selected hardware:选择USB Blaster 》close。 

1.3.2 烧录jic

Add File 》 勾选program/Configure 与Verify,最后点击Start就可烧录。

二、Programming File Generator

HPS:

举例:Intel® Agilex™ SoC Hard Processor System (HPS)是Intel行业领先的第三代HPS。HPS是一个四核 Arm* Cortex* -A53,使用户能够轻松地将现有的SoC设计从 Intel® Stratix® 10 SoC移植到 Intel® Agilex™ SoC中。

2.1 资料准备:

        待转换的sof文件与hex文件。

2.2 生成jic文件

2.2.1 打开Programming File Generator

 File 》 Programming File Generator

2.2.2、设置输出路径、jic文件格式与名称

2.2.3 添加sof文件及其hex文件

2.2.4 选择Flash型号与flash loader(也就是FPGA型号)

2.2.5 点击Generate生成jic文件

2.3 烧录jic文件

需要烧录两次:

1、先使用Programmer烧录一个sof文件,即test.sof。

2、再正常使用Programmer烧录jic文件即可,约需10分钟,

如果output_file.jic带linux os系统,则可能需要烧录一个小时。

http://www.lryc.cn/news/289768.html

相关文章:

  • CSS 多色正方形上升
  • 《HelloGitHub》第 94 期
  • uniapp 实现路由拦截,权限或者登录控制
  • [GXYCTF2019]BabySQli1
  • 【架构】Docker实现集群主从缩容【案例4/4】
  • 【ArcGIS微课1000例】0097:栅格重采样(以数字高程模型dem为例)
  • 【技术分享】Ubuntu 20.04如何更改用户名
  • LabVIEW振动信号分析
  • 清理Docker环境
  • oracle等保测评
  • x-cmd pkg | go - Google 开发的开源编程语言
  • 32个Java面试必考点-09(下)MySQL调优与最佳实践
  • 优思学院|精益管理如何判定哪些活动是增值或非增值?
  • 详解操作系统各章大题汇总(死锁资源分配+银行家+进程的PV操作+实时调度+逻辑地址->物理地址+页面置换算法+磁盘调度算法)
  • 用ASM HEMT模型提取GaN器件的参数
  • github ssh ssh-keygen
  • 响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例5-2 JavaScript 获取HTML元素对象
  • 微信实现如何批量自动添加好友?
  • vue3+echarts绘制某省区县地图
  • MyBatis详解(2)-- mybatis配置文件
  • 蓝桥杯备战——8.DS1302时钟芯片
  • freeRTOS / day02
  • Ubuntu 18.04 x86_64 上交叉编译 boost 库(ARMv7L)
  • 为什么 FPGA 比 CPU 和 GPU 快?
  • js常用函数总结
  • cartographer离线建图报错:data_.trajectory_nodes.SizeOfTrajectoryOrZero
  • 【YOLO系列算法俯视视角下舰船目标检测】
  • python进程间使用共享内存multiprocessing.shared_memory来通讯
  • 经典目标检测YOLO系列(三)YOLOv3的复现(2)正样本的匹配、损失函数的实现
  • 编程笔记 html5cssjs 061 JavaScrip简介