Flash外部配置器件在SOPC中的应用

2010-03-16 21:12:51来源: 单片机与嵌入式系统应用

  1 Flash在SOPC中的作用

  Flash在SOPC中的作用主要表现在两方面:一方面,可用Flash来保存FPGA的配置文件,从而可以省去EPCS芯片或解决EPCS芯片容量不够的问题。当系统上电后,从Flash中读取配置文件,对FPGA进行配置。另一方面,可用Flash来保存用户程序。对于较为复杂的SOPC系统,用户程序一般较大,用EPCS来存储是不现实的。系统完成配置后,将Flash中的用户程序转移到外接RAM或片内配置生成的RAM中,然后系统开始运行。

  2 Flash编程的实现

  本文以某项目的具体电路为例,阐述在SOPC系统中如何利用Flash来保存用户程序。FPGA为Altera公司的Cyclone EP1C6,Flash为AMD公司的AM29LV160D,外接RAM为Samsung公司的K4S643232H,串行配置器件为EPCS1。开发工具采用Altera公司提供的QuartusII和NioslI软件。

  NiosII的开发环境中提供了Flash Programmer工具,对目标板上遵守CFI(Common Flash InteRFace)规范的Flash进行编程。CFI是一种Flash接口规范,只要Flash符合该规范,通过专门的命令就能获得其详细的参数,并根据这些参数访问Flash。利用Altera公司的下载电缆,Flash Programmer工具可以对Flash器件中的任意偏移地址进行任意内容的编程。Flash Programmer工具对Flash编程分为2个步骤:

  ①根据目标板编程描述对FPGA进行配置;

  ②Flash Programmer工具将要编程到Flash的文件内容传送到FPGA的数据缓冲区,然后FPGA将收到的数据写入Flash中。

  2.1 目标板编程描述的创建

  目标板编程描述实际就是一个由SOPC Builder系统生成的最小FPGA设计,其作用是对FPGA进行适当配置以实现对Flash的编程。不同的电路板(目标板)往往使用不同的Flash器件,并且Flash与FPGA的引脚连接以及FPGA的型号也不相同,因此每个目标板编程描述都是与具体的目标板相关联的,不能用于其他目标板。目标板提供了Flash Programmer工具对Flash进行编程的全部信息,包括Flash的容量、Flash的引脚连接等。

  一个目标板编程描述包含以下信息:每个接到FPGA上Flash器件的参考元件标号;Flash器件在目标板编程描述中的基地址;用于配置FPGA的SOF文件。

  目标板编程描述的创建分2步:

  ①在Nios SDK Shell中使用mk_target_board命令创建一个工程模板;

  ②使用SoPC Builder对模板进行编辑,从而形成完整的目标板编程描述。

  每个目标板编程描述应包含下列元件:NiosII CPU;JTAG_UART接口;本目标板中采用串行配置器件EPCS存储FPGA的配置文件,因此需要Active Serial MemoryInterface(ASMI);Tri-State Bridge(三态桥);CFI接口的Flash;System ID Peripheral;用于存放程序以及作为数据缓冲的On-chip memory。

  下面以本目标板为例,介绍创建目标板编程描述的步骤:

  ①启动NiosII SDK shell;

  ②运行mk_target_board命令,创建一个目标板Flash编程描述模板(参数name=flash_board,family=cyclone,clock=80,index=1,epcs=U5,buffer_size=2 048,class=flash_programer);

  ③启动QuartusII软件并打开刚才创建的目标板编程描述工程flash_programer.qPf;

  ④在QuartusII软件中选择Assignments→Device打开setting对话框,选取FPGA型号,本例为EP1C6Q240C8;

  ⑤启动SOPC Builder,在Target选项区的Board下拉列表框中选择Unspecified Board,Clock栏的时钟频率取50 MHz,在模板的基础上添加三态桥Avalon Tri-State Bridge和CFI接口的Flash(Flash的参考标号为U5,地址为20位,数据为16位);

  ⑥选择System Generation选项卡,关闭Simulation选项,然后单击Generate按钮;

  ⑦当生成完成后,退出SOPC Builder,并返回到QuartuslI;

  ⑧在QuartuslI中更新原理图,然后添加、链接并命名引脚;

  ⑨进行引脚分配,确保与FPGA各引脚的连接一致;

  ⑩编译并保存工程。

  编译成功后,目标板编程描述即成功创建。打开SOPC Builder即可在Target选项区的Board下拉列表框中找到该目标板编程描述,本例为flash_board。(该目标板编程描述的顶层图略——编者注)

  创建好的目标板编程描述在任何设计的SOPC Builder中都能使用。如果想让该目标板编程描述在其他PC机上使用,将整个设计文件夹拷贝到NiosII安装路径<安装盘>\altera\kits\nios2\components目录下即可。

[1] [2]

关键字:Flash  FPGA  SOPC

编辑:小甘 引用地址:http://www.eeworld.com.cn/FPGA/2010/0316/article_1027.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
Flash
FPGA
SOPC

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved