查看: 2720|回复: 0

Altera MAX10 FPGA—10M08评估套件双配置实现

[复制链接]
  • TA的每日心情
    开心
    2018-7-3 21:49
  • 签到天数: 750 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2015-1-6 10:20:46 | 显示全部楼层 |阅读模式
    分享到:
    之前跑了max10的第一个例子,下面就试用max10比较具有特色的地方,max10不仅可以不用epcs,节省电路板的面积,FPGA还可以实现双配置,就是说在FPGA里下载两个镜像,通过boot_sel来选择使用哪个镜像。下面就具体展示一下max10的这个很强大的特点。由于板上的资源有限,这里image0就以点亮第一个led,image1就点亮第二个led,通过这个现象来观察。
    首先,FPGA内部配置的过程:

    除去max10M02外,FPGA配置有如下几种方式:

    也就是这个dual compressed images 方式是这篇博客要探讨的。

    具体来说:就是在上电后根据boot_sel引脚来确定使用哪个镜像。下面问题来了,我们应该怎么才能把image0,image1烧写进CFM呢?我们用下面一个简单的实例来阐述。
    建立QII工程,image0工程
    /*-----------------------------------------------------------------------Author : xzyEmail Address : xzyfeixiang@163.comFilename : image0.vDate : 2015-01-05Version : 1.0Description : image0 light the first led,image1 light the second leddevice : MAX10M08SAE144C8GESAdditional Comments : The entire notice above must be reproduced on all authorized copies.Modification History ata By Version Change Description=========================================================================15/01/05 xzy 1.0 Original------------------------------------------------------------------------------------------------------------------------------------------------*/`timescale 1ns/1nsmodule image0(//global clockinput clk , //50Mhzinput rst_n ,//user led outputoutput led0);reg led_reg=1'b1;always @(posedge clk)beginif(!rst_n)led_reg<=1'b1;elseled_reg<=1'b0;endassign led0=led_reg;dual_boot u0 (.clk (clk), // clk.clk.nreset (rst_n) // nreset.reset_n// .avmm_rcv_address (<connected-to-avmm_rcv_address>), // avalon.address// .avmm_rcv_read (<connected-to-avmm_rcv_read>), // .read// .avmm_rcv_writedata (<connected-to-avmm_rcv_writedata>), // .writedata// .avmm_rcv_write (<connected-to-avmm_rcv_write>), // .write// .avmm_rcv_readdata (<connected-to-avmm_rcv_readdata>) // .readdata);endmodule这里有一个添加Altera Dual Boot IP Core的过程

    点击Add之后,选择对device

    输入clk的频率

    然后generate hdl和点击ok
    注意这里手动添加Ip到工程(synthesis文件夹下的qip文件),这样就添加进工程了

    添加进工程后,在image0.v中进行例化该IP核。
    在device那里设置一下configuration

    然后分配相应的管脚,这样就会产生相应的image0.sof了。
    同理,我们建立image1工程,产生image1.sof。
    最后我们将这个压缩的sof文件convert成pof文件。

    点击generate,这样就产生了pof文件
    然后烧写pof文件


    然后观察实验现象:
    boot_sel在左边时:配置的是image1

    掉电,将boot_sel拨向右边:配置的是image0

    Ok了,个人觉得max10的这一特点很不错,有max10的可以试试哦,以上主要参考手册,手册可以去官网,也可以再论坛里面下载:
    https://www.eeboard.com/bbs/thread-39888-1-1.html
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-18 14:42 , Processed in 0.124410 second(s), 18 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.