Altera MAX_10_单映像配置方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Altera MAX_10_单映像配置方法

Altera MAX_10_单映像配置方法 发布时间:2015-03-02 ???一般FPGA属于易失性芯片,类似于RAM,芯片上的数据和程序在掉电后不会保留,上电后程序需要从外部非易失性芯片加载,如EPCS系列芯片,也可以通过FPGA上JTAG接口或者串行接口写入。 ???▲而MAX 10系列FPGA的配置则很灵活,因其芯片内嵌配置闪存模块CFM(Configuration Flash Memory),可用于存放程序映像。如上图所示。MAX 10系列FPGA的配置过程在内部进行,首先通过JTAG将配置数据写入到CFM中,然后内部配置过程自动从CFM加载配置数据至MAX 10的配置内存CRAM(Configuration RAM)。 ???深入CFM内部,可分为3个扇区:CFM0,CFM1和CFM2。如下表,MAX 10内部配置可分为5种模式,分别对应对2个扇区的不同使用情况: ? 上表中内部配置共有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和CFM2,可配置成用户闪存模块UFM(User Flash Memory)。 ▼在QuartusII 14.1中,可设置内部配置的模式,以生成对应的映像文件: ●? 打开Device and Pin Options -- Configuration; ●? Configuration scheme选择Internal Configuration; ● Configuration mode中选择5种模式中的1种; ? 可以发现,内部配置模式有一种是Dual Compressed Image,即在CFM中可以存放两个压缩映像,也就是说MAX 10 FPGA支持双启动模式Dual Boot。 ? ???下面通过实例演示下MAX 10 FPGA的配置: ? ----------------------------------- 单映像配置 ----------------------------------- ??QuartusII 14.1默认配置就是Single Uncompressed Image(912Kbits UFM),因此无需另外设置内部配置模式。 ???在LED_FLASH工程的基础上修改了下,将LED的功能由闪烁效果改成呼吸灯的效果: ▼新建呼吸灯版本,不同的版本可以在源代码相同的情况下选择不同的工程设置。 ? ▼修改顶层源码:例化了呼吸灯模块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(1b0), ????? ????? .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--Com

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档