Intel® MAX® 10 FPGA配置用户指南

ID 683865
日期 1/10/2022
Public
文档目录

3.3.2.2. 使用Convert Programming Files生成.pof

要将.sof 文件转换成.pof文件,并且设置ICB,请按照如下步骤:

  1. File菜单上,点击Convert Programming Files
  2. Output programming file下,从Programming file type列表中选择Programmer Object File (.pof)。
  3. Mode列表中,选择Internal Configuration
  4. 进行ICB设置,请单击Option/Boot Info,将会出现Max 10 Device Options对话框。Max 10 Device Options对话框可用于如下设置:
    1. 配置过程中用户I/O弱上拉。
    2. 仅从CFM0配置器件。
      注: 使能该功能时,器件始终加载配置映像0,且无需采样物理CONFIG_SEL管脚。成功加载配置映像0后,可使用输入寄存器的config_sel_overwrite位在配置映像间切换。请参阅相关信息了解有关Dual Configuration Intel® FPGA IP输入寄存器的详情。
    3. 可用时,将下游映像ISP数据用作默认设置。
    4. JTAG安全。
      注: Intel® Quartus® Prime软件中,默认禁用JTAG Secure功能。要使该选项出现在GUI中,必须使用文本编辑器创建quartus.ini文件,其键值对为:PGM_ENABLE_MAX10_JTAG_SECURITY=ON并将该文件保存在以下其中一个文件夹中:
      • 工程文件夹。
      • Windows操作系统:<Quartus installation folder>\bin64文件。
      • Linux操作系统:<Quartus installation folder>/linux64文件。
      警告:
      如果在POF文件中使能JTAG安全模式,但使用错误的密钥对POF加密,则 Intel® MAX® 10 10 FPGA器件会被永久锁定。当器件处于JTAG Secure模式时,必须例化内部JTAG接口来解锁外部JTAG。
    5. 验证工程。
    6. 仅支持加密的POF。
    7. 双配置的“看门狗”定时器和“看门狗”定时器的值(添加了2个.sof页后使能,其中包含2个使用Dual Compressed Internal Image编译的设计)。
    8. 用户闪存设置。
    9. 配置闪存 (CFM)中的用户数据。
      该功能是将用户数据储存到未使用的CFM0/1空间中。可以通过使用Convert Programming File (CPF) GUI,命令行(quartus_cpf)和转换建立文件(.cof)来完成。CPF报告以下情况时表 29软件中显示的错误消息:
      表 29.  CPF错误消息
      事例 错误消息
      如果起始地址与配置数据重叠 Error (20646): The page CFM0 user data requested start address 0x0014BA00 overlaps with configuration data that end at address 0x0014BA6B.
      如果HEX文件无法放入未使用的CFM空间 Error (20640): Memory file test.hex contains 256 bytes. It cannot fit in CFM0 section which has only 254 bytes unused memory space. Size of file(s) in CFM0 exceeds memory capacity.
      如果起始地址超出CFM块 Error (20648): The page CFM0 user data requested start address 0x00162000 exceeds page end address 0x00161FFF.
      转换编程文件GUI

      可在Max 10 Device Options对话框中指定分别插入CFM0/1 File pathCFM0/1 start address (32-bit hexadecimal)中CFM 0/1的起始地址和HEX文件。如果起始地址保持为0x0,则该工具自动为HEX文件分配一个空的空间。

      可参看存储器映射文件(*.map)查看起始地址。起始地址在CFM0/1的结束地址之后。例如,下图中,将您的数据插入起始地址为0x0014BA6C,结束地址为0x00161FFF的CFM0中。在使能Create Memory Map的情况下,生成POF文件后,.map文件以CFM0_DATA起始地址和结束地址更新。

      图 14. 存储器映射文件(*.map)实例
      Command Line (quartus_cpf)
      在命令行接口中,使用以下句法运行quartus_cpf命令:
      quartus_cpf  -c -o cfm0_source_file=<user>.hex -o cfm0_start_address=<12345678> <user>.sof <user>.pof
      quartus_cpf命令实例:
      quartus_cpf  -c -o cfm0_source_file=test.hex -o cfm0_start_address=0014BA6C abc.sof abc.pof
      Conversion Setup File (*.cof)
      Convert Programming File对话框中,可点击Save Conversion Setup…保存设置,并编辑 <user>.cof 文件中的cfm0_filepathcfm_ file_start_addr,如下所示。
    10. RPD文件结尾
  5. File name文本框中,指定需创建的编程文件的文件名称。
  6. 生成Memory Map File (.map),请启用Create Memory Map File (自动生成output_file.map)。.map包含CFM和UFM的地址,以及通过Option/Boot Info选项设定的ICB设置。
  7. 要生成Raw Programming Data (.rpd),请启用Create config data RPD (生成output_file_auto.rpd)。
    每个配置闪存和用户闪存(CFM0、CFM1、UFM)部分单独的原始编程数据(.rpd)将会一起生成,以用于远程系统升级。
  8. 可通过Input files to convert列表添加.sof,并且可添加最多2个.sof文件。
    为进行远程系统升级,可以在.pof中保留原始页0的数据,并将页面1的数据替换成新的.sof文件。要执行该操作,必须在页面0中添加.pof文件,然后添加.sof页,最后将新的.sof文件添加到页面1中。
  9. 设定全部设置后,单击Generate生成相关编程文件。