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

作者: 6100308094
上传时间为: 2015-01-06 10:20 AM

之前跑了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 : xzy

Email Address : xzyfeixiang@163.com

Filename : image0.v

Date : 2015-01-05

Version : 1.0

Description : image0 light the first led,image1 light the second led

device : MAX10M08SAE144C8GES

Additional Comments : The entire notice above must be reproduced on all authorized copies.

Modification History :

Data By Version Change Description

=========================================================================

15/01/05 xzy 1.0 Original

-------------------------------------------------------------------------

-----------------------------------------------------------------------*/

`timescale 1ns/1ns

module image0

(

//global clock

input clk , //50Mhz

input rst_n ,

//user led output

output led0

);

reg led_reg=1'b1;

always @(posedge clk)

begin

if(!rst_n)

led_reg<=1'b1;

else

led_reg<=1'b0;

end

assign 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的可以试试哦,以上主要参考手册,手册可以去官网,也可以再论坛里面下载:

http://www.eeboard.com/bbs/thread-39888-1-1.html

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示