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

  1 引言

  随着集成电路工艺技术不断发展和集成度提高嵌入式系统由板级向芯片级过渡形成种新设计思路方法片上系统( _disibledevent=>

  图片看不清楚?请点击这里查看原图(大图)

  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参考元件标号如U7U7FlashU3EPCS等;②Flash器件在F1ash编程设计中基地址;③用于配置目标板上FPGAFlash编程设计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所示

基于SoPC目标板Flash编程设计<img src='/icons/51731de.gif' />创建及应用

  图片看不清楚?请点击这里查看原图(大图)

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

基于SoPC目标板Flash编程设计<img src='/icons/51731de.gif' />创建及应用

  图片看不清楚?请点击这里查看原图(大图)

  FPGA硬件配置可放在NOR Flash中也可放在EPCS中在Hardware Image Name栏下输入硬件配置映像名称如epcsuserfactory等对于每个Hardware Image Name都要选择个用来存储Flash如果用户设计中即采用EPCS又采用NOR Flash对FPGA配置数据进行存储则可在Hardware Image Name栏下输入两个硬件配置映像名如userfactory然后分别指定为前面参考元件标号;对于off设置如果对应Device栏为Flash器件则可以指定硬件映像在Flash中编程偏移地址;如果对应Device栏为EPCS器件则不能在off栏中指定偏移地址最后选择Files页面输入Board Description NameVersion和 Template单击Finish按钮完成目标板Flash编程设计创建如图4所示

基于SoPC目标板Flash编程设计<img src='/icons/51731de.gif' />创建及应用

  图片看不清楚?请点击这里查看原图(大图)

   Template栏可通过Brows按钮选择设置系统模板*.ptf(或者直接输入)也可不设置系统模板如果设置系统模版则系统模板需要存储在目标板Flash编程设计文件目录下system文件夹中并且在构建NiosII CPU时当选择带系统模板目标板Flash编程设计时会自动在SoPCBuilder图形编辑界面添加系统模板带CPU组件

  目标板Flash编程设计成功创建后在QuartusII工程目录下会生成个和Board Description Name相同目录在此目录下包含目标板Flash编程设计文件.ptf文件夹下还包含两个子文件夹个是system设计者指定系统模版便存放在此;另个是netlist存储设计者提供PCB网表文件格式为wirelist如果设计者不需要这两个文件则为空文件夹

  对于Board Description Editor对话框中其他页面选项和目标板Flash编程设计描述没有必要关系详细内容请参见Altera数据手册

  3.2 目标板Flash编程设计设置

  目标板Flash编程设计成功创建后为了在任何设计SoPC Builder中都能使用则可将生成整个文件夹拷贝到NiosII开发套件安装目录ipnios2_ip文件夹中或者设置SoPC Builder搜索路径配置Component/Kit Library SearchPath增加用户设计目标板Flash编程设计目录然后关闭Ahera SoPC Builder重新启动SoPC Builder就可以在SoPCBuilder图形界面中Target下拉列表框中找到创建目标板Flash编程设计

  4 目标板Flash编程设计应用

  以个最小SoPC系统流水灯为例介绍说明目标板Flash编程设计在实际Flash编程中应用

  4.1 NiosII CPU生成

  在Altera SoPC Builder图形界面中首先在Target选项区中Board下拉列表框中选择刚创建目标板Flash编程设计并指定NiosII系统时钟然后添加系统所需外设元件设置各外设元件参数分配Base Address和IRQ添加完组件后如图5所示

基于SoPC目标板Flash编程设计<img src='/icons/51731de.gif' />创建及应用

  图片看不清楚?请点击这里查看原图(大图)

  添加完组件后在Nios II More“cpu”Settings中设置复位地址和异常地址如果Nios下载到Flash中则复位地址设为ext_flash;如果下载到EPCS中则复位地址设为epcs_controller最后在 Generation中点击Generation按钮生成NiosII CPU

  4.2 构建最小SOPC系统

  在QuartusII中构建最小SoPC系统此SoPC系统由NiosII CPU模块、PLL模块和系统复位模块组成在系统顶层模块中分别添加SoPC Builder生成NiosII CPUPLL模块及系统复位模块构成最小SoPC系统由于目标板上时钟是50 MHz而构建NiosII CPU时钟设为80 MHz故需通过Mega Wizard Plug-In Manager生成PLL模块将系统时钟提高到80 MHz添加完模块后再添加输入/输出端口并连接引脚和端口命名端口名(建议端口命名和实际电路中网络标号相同)然后分配引脚并设置相关参数编译工程生成FPGA配置文件*.sof并利用QuartusIIProgrammer下载到FPGA或EPCS中

  4.3 Nios生成及Flash编程

  启动NiosII IDE建立和编译个简单LED流水灯Nios应用在Nios应用调试正确后单击菜单[Tools]下[Flash Programmer]弹出Flash Programmer编程界面选中Flash Programmer单击New按钮创建个FlashProgrammer配置在Flash Programmer界面中选择Main选项卡设置Flash Programmer相关参数

  如果选中Program software project o flash memory project项表示将工程*.elf文件写入Flash(EPCS或CFI Flash)存储器中将*.elf文件写入Flash过程时如果工程没有编译连接会自动进行工程编译连接对于*.elf文件编程Flash Programmer窗口中并没有存储器和偏移地址设置存储器和偏移地址由是SOPC Builder中Re Address指向存储器和设置偏移地址决定如果将ReAddress指向CFI F1ash.偏移地址从0x0HD开始那么FlashProgrammer就会从CFI Flash基地址+0x00开始烧写数据;如果将Re Address指向epcs_controller偏移地址从Ox00开始那么Flash Programmer就会从EPCS基地址+配置数据空间+Ox00开始烧写数据

  如果选中Program FPGA configuration data o hardware-image region of flash memory可将FPGA配置数据写入Flash(EPCS或CFI Flash)选择作为硬件系统FPGA配置文件*.sof指定配置文件硬件配置映像名及存储偏移地址如果在制作目标板Flash编程设计时指定可将配置文件编程到CFIFlash并指定多个偏移地址此项就可选择编程地址从而将配置文件编程到用户指定存储器地址空间对于将配置文件编程到EPCS偏移地址只能从Ox00开始如果选择Program file o a flash memory选项能将指定 2进制文件写入指定Flash(EPCS或CFI Flash)存储地址空间



  在Flash Programmer界面中选择Target Connection选项卡设置当前所用下载电缆及JTAG器件然后单击Program F1ash对Flash进行编程(EPCS或CFIFlash)如果看到图6所示提示消息则Flash编程已经成功介绍说明目标板Flash编程设计创建成功

基于SoPC目标板Flash编程设计<img src='/icons/51731de.gif' />创建及应用

  图片看不清楚?请点击这里查看原图(大图)

  5 结语

  实现SoPC目标板Flash编程设计创建并通过个最小SoPC系统介绍说明目标板Flash编程设计在Flash编程中应用及Flash编程思路方法通过实验验证了目标板Flash编程设计创建思路方法正确性并能对Flash编程



Tags:  sopc技术 sopcbuilder9.0 sopc教程 sopcbuilder

延伸阅读

最新评论

发表评论