原创 【MAX10评测】(四)配置I -- 单映像

2017-1-11 10:06 1059 16 16

一般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和C***。如下表,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和C***,可配置成用户闪存模块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(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源码中定义宏


工程编译后默认只生成.sof文件,内部配置所需的.pof文件手动从.sof文件转换得到


▼打开File -->Convert Programming Files…


▼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文件


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


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


▼点击Start开始下载


▼下载完成


▼演示视频

http://v.youku.com/v_show/id_XOTAyOTcxODE2.html


PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
16
关闭 站长推荐上一条 /3 下一条