基于SoPC目标板Flash编程设计的创建及应用

2009-08-14 15:15:59来源: 黄冰峰 游志宇 杜杨 窦普

  1 引言

  随着集成电路工艺技术的不断发展和集成度的提高,嵌入式系统由板级向芯片级过渡,形成一种新的设计方法一片上系统(System on Chip,简称SoC)。SoC从整个系统的角度出发,把处理机制、模型算法、芯片结构、各层次电路,直至器件的实际电路紧密连接起来,在单个(少数几个)芯片上实现整个系统的功能。同时随着现场可编程逻辑阵列(FPGA)技术的日益成熟,将PLD与嵌入式处理器IP软核相结合,形成基于可编程片上系统(System on Programmable Chip,简称 SoPC)的SoC解决方案,使得更加灵活的SOPC成为现代嵌入式系统设计的发展趋势。SoPC是Altera公司提出的一种灵活、高效的SoC解决方案。它将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的功能模块集成到一个可编程器件上,构成一种特殊的可编程片上嵌入式系统。一方面,它是可编程片上系统,即由单个芯片完成整个系统的主要功能,并具备软硬件系统可编程的能力;另一方面,它内嵌处理器IP核,具有灵活的设计方式,用户可根据需要随意配置、构建、裁剪处理器IP核。目前最具有代表性的IP软核嵌入式处理器是Altera的NiosII软核。NiosII嵌入式CPU是一种专门为SoPC设计应用而优化的CPU软核。

  在基于NiosII的SoPC嵌入式系统中,几乎所有的应用设计都需要使用Flash来保存在NiosII中运行的程序代码、非易失性数据和FPGA的配置数据。因此Flash编程便成为在调试完SoPC系统后的重要工作。要对Flash编程,首先要保证在SoPC Builder中Target选项区域的Board下拉列表框中选择用户使用的目标板F1ash编程设计。基于实际设计需求,详细介绍SoPC目标板Flash编程设计的创建,并以一个最小SoPC系统为例,说明目标板Flash编程设计的应用及Flash编程。

  2 Flash Programmer简介

  NiosII IDE提供了Flash Programmer工具来对目标板上遵循通用Flash接口(Common Flash InteRFace,简称CFI),规范的Flash及EPCS配置器件进行编程。IDE的FlashProgrammer通过使用Altera的下载电缆能够方便地对目标板上连接在FPGA上的Flash及串行配置器件EPCS进行编程。

  2.1 Flash Programmer编程工作过程

  NiosII的IDE Flash Programmer采用两步骤将数据写入Flash中。第一步,用一个Altera提供的特殊Flash编程设计(Flash Programmer Design)对FPGA进行配置;第二步,IDEFlash Programmer将要编程到Flash中的文件内容传送到在FPGA上运行的Flash编程设计,然后Flash编程设计将接收到的数据编写到Flash中。其编程工作过程如图1所示。

  2.2 Flash编程设计

  Flash编程设计实际就是一个由SoPC Builder系统生成的最小FPGA设计。Flash编程设计是IDE Flash Programmer的关键组成部分。不同的目标板往往使用不同的Flash器件,并且Flash与FPGA的引脚连接以及FPGA的型号也不相同。因此,每个Flash编程设计都是与具体的目标板相联系的,不能用于其他的目标板。如果使用自己的目标板,那么设计者必须创建该目标板的Flash编程设计。Altem公司的Nios开发板都提供了相应的Flash编程设计,可以在NiosII开发套件安装目录的、ipnios2_ip文件夹中找到。

  2.3 Flash编程设计信息

  目标板Flash编程设计描述了系统与目标板之间的关系。目标板Flash编程设计对Flash编程必不可少,它提供了Flash Programmer对Flash编程所需的全部信息。一个目标板Flash编程设计是一组SOPC Builder文件,其中必须指明FPGA与Flash的连接关系。一个目标板Flash编程设计包含下列信息:①每一个连接到电路板FPGA上的F1ash的参考元件标号,如U7,U7Flash,U3EPCS等;②Flash器件在F1ash编程设计中的基地址;③用于配置目标板上FPGA的Flash编程设计的SOF文件。

  参考元件标号用于区分设计中不同的Flash器件。目标板上的Flash器件在设计时的命名和基地址可能不同,但参考元件标号总是相同的。

  3 目标板Flash编程设计的创建

  用户自制目标板,而在Target选项区中的Board下拉列表框中没有相应的目标板Flash编程设计,用户就必须自己创建目标板Flash编程设计。

  3.1目标板Flash编程设计文件创建

  下面以QuaausII 7.0为例,详细说明目标板Flash编程设计的创建。目标板Flash编程设计在SoPC Builder中实现。在QuaausII中新建一个工程,在[Tools]菜单中选择[SoPC Builder],打开Ahera SOPC Builder图形编辑界面环境。在SoPC Builder图形编辑界面中,在[File]菜单中选择[New Board Description],打开Board Description Editor对话框,在此对话框中选择NetList页面,在Device Familv栏中正确选择目标板的FPGA系列,这里以Cyclone II为例,如图2所示。

  选择Flash Memory页面,单击New Flash Memory按钮添加目标板的Flash器件,并输入正确的连接到目标板FPGA的参考元件标号和Flash器件类型。参考元件标号可命名为用户的任意字符串,如U7,EPCS,Flash等,但不能命名成U7(CFIFlash),U3(EPCS)等形式。再单击此页面的New HardwareImage按钮,指定FPGA硬件配置程序的存储位置,一般选择EPCS器件。如果设置为Flash器件,需要有相应的外部控制器、单片机或CPLD配合使用。设置如图3所示。

[1] [2]

关键字:SoPC  FPGA  嵌入式  设计  Flash

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

小广播

独家专题更多

富士通铁电随机存储器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