查看: 3236|回复: 9

【接龙】+【MAX10】(三)配置I -- 单映像(转)

[复制链接]
  • TA的每日心情
    奋斗
    2016-8-15 09:28
  • 签到天数: 222 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2015-12-10 15:56:41 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 小菜儿 于 2015-12-10 16:49 编辑

    一般FPGA属于易失性芯片,类似于RAM,芯片上的数据和程序在掉电后不会保留,上电后程序需要从外部非易失性芯片加载,如EPCS系列芯片,也可以通过FPGA上JTAG接口或者串行接口写入。
    1.jpg
             ▲而MAX 10系列FPGA的配置则很灵活,因其芯片内嵌配置闪存模块CFM(Configuration Flash Memory),可用于存放程序映象。如上图所示。MAX 10系列FPGA的配置过程在内部进行,首先通过JTAG将配置数据写入到CFM中,然后内部配置过程自动从CFM加载配置数据至MAX 10的配置内存CRAM(Configuration RAM)。
             深入CFM内部,可分为3个扇区:CFM0,CFM1和C***。如下表,MAX 10内部配置可分为5种模式,分别对应对2个扇区的不同使用情况:
    2.jpg

             上表中内部配置共有5种模式:
    1)  Dual Compressed Image:双压缩映像
    2)  Single Uncompressed Image:单未压缩映像
    3)  Single Uncompressed Image with Memory Initialization:单未压缩映像带内存初始化数据
    4)  Single Compressed Image with Memory Initialization:单压缩映像带内存初始化数据
    5)  Single Compressed Image:单压缩映像
             其中第1,2,5种模式,3个CFM扇区都用于存放映像;而第3,4种模式,未使用的扇区,主要是CFM1和C***,可配置成用户闪存模块UFM(User Flash Memory)。
             ▼在QuartusII 14.1中,可设置内部配置的模式,以生成对应的映像文件:
    ●  打开Device and Pin Options --> Configuration;
    ●  Configuration scheme选择Internal Configuration;
    ● Configuration mode中选择5种模式中的1种;
    3.png

             可以发现,内部配置模式有一种是Dual Compressed Image,即在CFM中可以存放两个压缩映像,也就是说MAX 10 FPGA支持双启动模式Dual Boot。

             下面通过实例演示下MAX 10 FPGA的配置:

    ----------------------------------- 单映像配置 -----------------------------------
             QuartusII 14.1默认配置就是Single Uncompressed Image(912Kbits UFM),因此无需另外设置内部配置模式。
             在LED_FLASH工程的基础上修改了下,将LED的功能由闪烁效果改成呼吸灯的效果:▼新建呼吸灯版本,不同的版本可以在源代码相同的情况下选择不同的工程设置。
    4.jpg

    ▼修改顶层源码:例化了呼吸灯模块BreathLeds;加粗部分代码,根据宏BREATH_EN选择LED的输出
    module LED_Flash_all(
        input clk,
        output LED1,
        output LED2,
        output LED3,
        output LED4,
        output LED5
        );
    …… (此处省略N行代码)     
         // Breath Led  
        wire bled;
        BreathLeds breathleds_u(
          .clk(clk),
          .rst(1'b0),

          .led(bled)
           );                 

    `ifdef BREATH_EN      
             assign LED1 = bled;
             assign LED2 = bled;
             assign LED3 = bled;
             assign LED4 = bled;
             assign LED5 = bled;
    `else
             assign LED1 = dec_cntr ;
             assign LED2 = dec_cntr ;
             assign LED3 = dec_cntr ;
             assign LED4 = dec_cntr ;
             assign LED5 = dec_cntr ;
    `endif
    endmodule

    ▼只在LED_BREATH版本中加入宏:Settings-->Compiler Settings-->Verilog HDL Input设置中,添加Verilog HDL macro:BREATH_EN。这种方法的好处就是无需在Verilog HDL源码中定义宏
    5.png

             工程编译后默认只生成.sof文件,内部配置所需的.pof文件手动从.sof文件转换得到
    ▼打开File -->Convert Programming Files…
    6.png

    ▼sof --> pof 转换
             1. Mode 选择为 Internal Configuration
             2.设置Options/Boot info…
             3.输入pof文件名
             4.勾选Create Memory Map File项,.map包含CFM和UFM地址,其中含有通过Option/Boot Info选项而进行的ICB设置。
             5.选择sof文件
             6.点击Generate生成pof文件
    7.png

    ▼按以上步骤生成pof文件完成
    8.jpg

    ▼通过Programmer下载pof,在Program/Configure勾选CFM扇区,由于当前内部配置模式为Single Uncompressed Image,三个扇区都需要使用
    9.png

    ▼点击Start开始下载
    10.jpg

    ▼下载完成
    11.jpg

    ▼演示视频


    原文:http://bbs.ednchina.com/BLOG_ARTICLE_3027763.HTM

    评分

    参与人数 1 +5 收起 理由
    小菜儿 + 5 赞一个!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2016-12-8 15:01
  • 签到天数: 459 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-12-22 16:53:33 | 显示全部楼层
    多谢分享~~~~~~~~~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-12-8 15:01
  • 签到天数: 459 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-12-22 16:55:23 | 显示全部楼层
    多谢楼主.............学习了.............
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-6-9 13:54
  • 签到天数: 297 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-12-23 09:57:54 | 显示全部楼层
    学习。。。。。。。。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-3-13 10:11
  • 签到天数: 1088 天

    连续签到: 2 天

    [LV.10]以坛为家III

    发表于 2016-1-9 12:16:55 | 显示全部楼层
    zwei99999999 发表于 2016-1-9 11:08
    学习了谢谢分享

    一起学习。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-3-13 10:11
  • 签到天数: 1088 天

    连续签到: 2 天

    [LV.10]以坛为家III

    发表于 2016-1-9 12:17:25 | 显示全部楼层
    lijian891126 发表于 2015-12-23 09:57
    学习。。。。。。。。。。。

    每天学一点。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-3-13 10:11
  • 签到天数: 1088 天

    连续签到: 2 天

    [LV.10]以坛为家III

    发表于 2016-1-9 12:18:05 | 显示全部楼层
    stary666 发表于 2015-12-10 20:03

    笑的很欢。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-6-22 13:08
  • 签到天数: 249 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2016-1-20 15:17:13 | 显示全部楼层
    相互学习   
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-3-1 11:42
  • 签到天数: 45 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2016-1-20 21:20:02 | 显示全部楼层
    不明觉厉。还是以后卡纳吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-6-22 13:08
  • 签到天数: 249 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2016-1-25 11:56:12 | 显示全部楼层
    谢谢楼主分享  
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-30 12:41 , Processed in 0.216049 second(s), 37 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.