fpag综合教程高级篇sopc系统设计实例_第1页
fpag综合教程高级篇sopc系统设计实例_第2页
fpag综合教程高级篇sopc系统设计实例_第3页
fpag综合教程高级篇sopc系统设计实例_第4页
fpag综合教程高级篇sopc系统设计实例_第5页
已阅读5页,还剩46页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Sopc系统设计实Sopc系统设计实 sopc系统设计流 SOPC系统设计实 建立工 用SOPCBuilder建立一个新的SOPC硬件系 向系统中添加NiosII处理 添加片上 添加定时 自动设置 加入SystemID模 生成系 例化NiosII处理 编译并设 启动NiosII 修改代 sopc系统设计流SOPC1所示。设计者首先根据任务要求决定系统需SOPCBuilderSOPC系统,完成这项工作之后,硬件工和软件工可以开始协同工作。硬件工首先建立一个顶层设计文SOPC系统例化,并设置引脚分配,时序要求及其他设计约束然后编译硬件设计并将FPGA设计到目标板中。在硬件工工作的同时,软件工可以用NiosIIIDE开发应用软件,并在NiosIIIDE中使用II指令仿真器(ISS)运行并调试软件,等硬件工把硬件设计到目标板中之后,软件工将可执行软件到目标板上的NiosII系统中,并在目在SOPC在SOPCBuilder中SOPCBuilder系统QuartusIINiosIIIDENiosIIIDEFPGA到NiosII改进软改进软/1sopcSOPC系统设计实SOPCDE2DE2SOPC系统的硬件,这个系统包括一个NIosII/s嵌入式处理器、器、一个JTAGUART及一个定时器,一个ID模块。另外,加入一个自定义组件,实现DE2建立工启动QuartusII软件,用New>NewProjectWizard…菜单在QuartusII中新 设定在G:\DE2,工程的名称为niosii,如图4所示,如果是希望使用自己已有的工程,则点击图4中所示的UsingExistingProjectSetting按钮,但是在本例中不需要添加已有工程的配置。按下next后,器件中选择EP2C35F672C6,向导完成后的汇总界面如图8所示。图 QuartusII启动界建立顶层设计文QuartusII允许的各种设计输入格VerilogHDL、VHDL、AHDL及原理图设计文件等。在本例中使File>NewBlockDiagram/SchematicFile文niosii。保存新建的文件。SOPCBuilder建立一个新的SOPC硬件系单击工具按钮或者是Tool>SOPCBuilder菜单启动SOPCBuilder。13所示,输入新系统的名称为nios_ii_system,当然也可以输入其他名称,但是应该注意,所有的名称中都不能出现空格。TargetHDL选项可以选择VerilogVHDL,VerilogOKSOPCBuilder15所示。向系统中添加NiosII处理SOPCBuilderNiosIIProcessor,,按鼠标右键,AddNewNiosIIProcessor,17NiosII处NiosII/s作为本设计的处理器,从界面上可以看到,NiosII/s1200~1400个逻辑单元,2M4KRAM块。由于可以添加指M4KRAMNiosII/sNiosII/e相比,增加了指令缓存、分支预测、硬件乘法器及硬件除法器。NiosII/s的最能25MIPS.按下Next按钮,设置处理器的指令缓存和紧密耦合指令器,如图所示,选择指令缓存为2K字节,不使用紧密耦合指令器NextJTAG调试模块,JTAG调试模块分为四个级别,每Level121所示NextFinishNiosII添加片上SOPCBuilderMemoryOn-ChipMemory(RAMorROM),AddNewOn-ChipMemory(RAMorROM),显示如图25所示的片上器的配置界面。选择类型为RAM,器宽度为32位,总内存尺寸为40K字节。单击Finish按钮完成片上器的配置。SOPCBuilderJTAGUART,按鼠标右AddNewJTAGUART,28JTAGUART添加定时SOPCBuilderIntervalTimer按鼠标右键,AddNewIntervalTime,30所示的定时器配置界1ms的定时Finish按钮完成定时器的设置。添加自定义组件七段数码管控制QuartusIIVerilog文件,作为七段数码管显示驱动的控制2所示。SEG7_LUT.V是一个查找表,完成七段码显示的译码。当输入iDIG0x0~0xFoSEG的七段码也发生相应的变化,并在数iDIG的值。SEG7_LUT_8.V中,对输入/Avalon标准信号来定义的。将这两个文件保存在 中代码 moduleSEG7_LUT always@(iDIG)4'h1:oSEG=;4'h2:oSEG=;4'h3:oSEG=;4'h4:oSEG=;4'h5:oSEG=;4'h6:oSEG=;4'h7:oSEG=;4'h8:oSEG=;4'h9:oSEG=;4'ha:oSEG=;4'hb:oSEG=;4'hc:oSEG=;4'hd:oSEG=;4'he:oSEG=;4'hf:oSEG=;4'h0:oSEG=;代码 moduleSEG7_LUT_8(oSEG0,oSEG1,oSEG2,oSEG3,oSEG4,oSEG5,oSEG6,oSEG7,iDIG,iWR,iCLK,iRST_N); always@(posedgeiCLKornegedgeiRST_N)rDIG<=0;rDIG<= oSEG2,rDIG[11:8]); SOPCBuilderFile>NewComponentSOPCBuilder会提示在设计文件的基础上用组件编辑器生成一个新组件, 个perl文件cb_generator.pl、一个Verilog或VHDL代码及其他相关文 hdl_synthesis,以及一个软件代码的 HAL。SOPC将这个新组 按t按钮进入设计文件的添加界面,如图32所示。可以添加L文文件,也可以添加综合之后的文件,按dLle…按钮,选择:\2\7_LT_\hdl ,在Lle列表中出现了7_L_8.V和7_LU.V及它们的相关的信息,组件编译器导入并综合7_L_8.V和7_LU.,等待一段时间后,组件编译器完成文件的导入及综合,并提示文件综合成功。此时在组建编辑器下部的信息栏中,提示有两个错误,一个指出valon总线从端口没有clk号,另一个valon总线从端口没有读/写信号,这是由于erilg文件中的输入/输出信号定义与valon总线标准信号不一致造成的。如果文件综合不成功,则按提示重新修改7_LT_8.V和7_LU.V文件。Avalon33所示,组件编译器列出了所有的输入/输出iDIGwritedata,iWRwrite,iCLKclkiRST_N的信号reset_nexport不变。修改过程中,下部信息Avalon总线规范对信号的要Component“SEG7_LUT_8.V”isOK。NextAvalon从接口和用户自定义软件,本例中不需ComponentGroupDE2UserLogic35所示,以后加入的新组件都可以放在这UnknownGroup。按FinishOK按钮生成组件,并返回SOPCBuilderDE2UserLogic,该组SEG7_LUT_837所示。AddNewSEG7_LUT_8.V。自动设置至此已经添加了所有需要的组件,CBuilder所示用System>AutoAssignBaseAddresses菜单,即可自动设址,自动设置39所示SystemID模SystemID,为自己的系统添加独一无二的IDSOPCBuilderSystemIDPeripheral,按鼠标右键,在AddNewSystemIDPeripheralSystemID,每个NiosIIIDSystemID模块(sysid)之后的系统41所示。生成系NextGenerateNiosII系统。根SYSTEMGENERATIONCOMPLETEDExitSOPCBuilderQuartusIISOPCBuilderQuartusIINiosII处理QuartusIIniosii.bdfniosii.bdf文件窗口中的空白处,弹出Symbol选择框,刚刚生成的NiosII系统在ProjectProject45nios_ii_systemOK按niosii.bdfnios_ii_systemNiosII系统的例化。46CLOCK_50作为系统的时钟输入,SW[0]作为复位信号输入,NiosIIHEX0~HEX7上。导入引脚分接下来需要为设计分配引脚,可以在引脚规划器Pinnner中手动分配引DE2DE2光盘中有一个叫DE2_pin_assignments.csvDE2FPGA的引脚DE2_pin_assignments.csv中导入引脚分配信46Assignments>ImportAssignments编译并设用Processing>StartCompilation或者是快捷键启动编译过程,完成编译QuartusII50FPGA上所占用的资源。将编译后的pof文件到DE2平台上的FPGA中,完成硬件设计JTAGFPGAUSBUSBDE2J9DE2平台的电SW19RUN在QuartusII中用Tools>Programmer菜单或者工具按钮打开如52如果显示没有硬件,则单击HardwareSetup…按钮,打开硬件设置窗口,如图所示。USBBlaster,Close此时已经在文件的列表中了,如果没有则单击AddFile…按钮,添加FPGA的配置数据。确认DeviceEP2C35F672,Program/Configure选项。Start按钮,开始编程,编程结束后,DE2GOODQuartusIINiosII可以从Window系统的开始菜单中启动NiosII Builder中的生成页面启动NiosIIIDE提示选择NiosIIIDE的工作空间(Workspace),NiosIIIDE将工程文件保存在一个 G:\DE2作为NiosIIIDE的工作空间。建立新工在NiosIIIDE中用File>New>Project…菜单启动工程向导,新建工程向导的框如图53所示,选择C/C++Application,按Next按钮进入下一步,新工程配置界面如图54所示。我们先利用已有的模板建立一个新工程,在Select Temte中选择Count Binary,工程名称自动变为count_binary_0,也可以改为其他的名称,注意工程名字中不能出现空格。NiosIIIDE的任务是为NiosII软核处理器提供软件开发环境,因此必须选择一个目标硬件。在Select Hardware中单击Browse…按钮,选择SOPCBuilderSystem为 。按下Next按钮为工程选择系统库,如55所示,选中Creatanewsystemlibrarynamed:项,按Finish按钮自动生成工程,建立新工程之后的NiosIIIDE的界面如图56所示。修改系统库属count_binary_0及count_binary_0_syslib,NiosIIIDENiosII

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论