




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于FPGA的NIOS系统设计 一、基本说明1、软件平台:Quartus II 13.0(64-bit)Nios II 13.0 Software Build Tools for Eclipse2、 硬件平台:Altera Cyclone II EP2C8Q208C8N二、设计目标完成FPGA平台上的“Hello Word”实现,实现方式:基于Qsys的Nios II系统设计。三、具体步骤1、打开Quartus II 13.0(64-bit),新建一个工程,File - New Project Wizard,忽略Introduction,之间单击 Next 进入下一步。分别设置工程工作目录、工程名称。这里需要注意的是工程工作目录中请使用英文,不要含有空格等,否则在后面使用Nios II IDE的时候会出现问题。设置好后如图1。图 1 设置工程工作目录、工程名称2、添加已经存在的文件,这里我们没有需要添加的文件,直接单击 Next 进入下一步。进行器件设置。我们使用的 Cyclone II 家族的 EP2C8Q208C8 芯片,选择好后直接进入下一步。进行EDA工具设置,由于我们工程中不进行仿真等,故不进行设置,如果需要进行ModelSim仿真,则在Simulation行中,选择Tool Name 为ModelSim-Altera(这里根据所安装的ModelSim版本进行选择),Format(s)选择为Verilog HDL(这里也是根据所掌握的硬件描述语言进行选择)。点击 Next ,进入了Summary(摘要)页面,然后单击 Finish 完成即可。3、新建 Block Diagram/Schematic File (方块图/原理图文件)。单击 File - New.,选择Design Files 中的Block Diagram/Schematic File,单击OK即可。完成后结果如图2所示。图 2 新建Block Diagram/Schematic File4、启动Qsys 工具,进行硬件部分设计。单击 Tools - Qsys ,进入Qsys设置界面,如图3所示。系统已经默认添加了时钟模块,名称为 clk_0 ,这里我们选中 clk_0,右击,选择Rename,将其名称更改为clk。以下再添加任何模块,我们都进行类似的名称更改,更改名称的方法类似,就不在重复叙述了。5、添加软核处理器的各部分模块。我们总共需要添加Nios II Processor、On_ChipMemory(RAM or ROM)、JTAG UART、System ID Peripheral这4个模块。首先熟悉一下 Qsys 的界面。左面Component Library,是系统提供的元件库,里面有一些构成处理器的常用模块。右面是已经添加到系统的模块,也就是说,Nios II 软核处理器是可以定制的,根据具体需要来。我们在Component Library中搜索Nios II Processor,双击即可进行配置。首先需要选择的是Nios II 核心的类型。Nios II 软核的核心共分成三种,为e型、s型以及f型。图 3 Qsys设置界面e型核占用的资源最少,功能也最简单,速度最慢。s型核占用资源其次,功能和速度较前者都有所提升,f型核的功能最多,速度最快,相应的占用资源也最多,选择的时候根据需求和芯片资源来决定,这里我们选择s核。然后单击 Finish,结束当前配置。下面添加片内存储器,在元件库中搜索 On Chip Memory。双击进行设置。我们主要设置Size中的Data width和Total memoy size。Data width设置的是数据位宽,这里我们设置成16位。Total memoy size设置的是片内资源的大小,需要根据芯片资源进行合理设置,这里我们设置为10240 bytes。单击 Finish,结束当前配置。下面添加Jtag下载调试接口。在元件库中搜索 jtag uart。双击进行设置。由于我们的系统没有特殊要求,因此这里我们选择默认配置即可。单击 Finish 结束当前配置。下面添加系统ID模块。系统ID是系统与其他系统区别的唯一标识。在元件库中搜索 system id peripheral,双击进行设置。这里我们随便进行设置,如设置为1234。单击 Finish,结束当前配置。下面需要进行的连线,即将右面 Connections栏目中的相关线通过设置节点进行连接。首先所有模块的clk和复位reset需要连接起来。然后片内存储器On-Chip Memory的s1和处理器nios2_qsys的data_master和instruction_master相连。JTAG调试模块jtag_uart的avalon_jtag_slave和处理器nios2_qsys的data_master相连。系统ID模块sysid_qsys的control_slave和处理器nios2_qsys的data_master相连。最后,处理器nios2_qsys的中断和jtag_uart的中断相连接。最终的完成效果如图4所示。图 4 Qsys Connections完成效果6、进行软核的相关设置。首先双击nios2_qsys,进入处理器设置模块。在Core Nios II栏目下,将Reset vector memory 和 Exception vector memory 设置为onchip_memory.s1。7、然后,单击 System - Assign Base Addresses,这时候我们会发现下部Messages窗口中原先的错误全部没有了,变为0 Errors,0 Warnings。如果不是这个结果,返回去按步骤检查。8、接着,单击 File - Save,进行保存,这里我们保存文件名为nios_qsys。9、最后,选择Generation选项卡,设置Create simulation model为None,然后单击下面的Generate,进行生成。时间较长,大家耐心等待。生成完成后单击close即可,然后关闭Qsys回到Quartus II界面。10、双击Block1.bdf的空白处,打开Symbol对话框。单击右下角的MegaWizard Plug-In Manager,进入宏模块调用界面,选择Creat a new custom megafunction variation,单击 Next 进入下一步,在What name do you want for the output file下面的地址后面添加输出文件的名称,如原来内容为F:/FPGAandCPLD/Demo/NIOS/HelloWord_nios/,添加后为F:/FPGAandCPLD/Demo/NIOS/HelloWord_nios/pll_nios 。然后在右侧搜索框中搜索ALTPLL,选中即可,这一步主要为系统添加时钟模块,然后单击 Next进入下一步。11、弹出ALTPLL设置对话框,这里我们在 General栏目的What is the frequency of the inclk0 input?地方,将时钟更改为50MHz,然后连续单击 Finish完成操作,这时会弹出一个Quartus II IP Files对话框,单击Yes完成即可,不需要进行任何操作。然后单击Symbol对话框中的OK即可,然后将模块放在Block1.bdf中即可。12、再次双击打开Symbol对话框,方法同第10步。选择左侧的Libraries - Project nios_qsys,然后单击OK即可,将nios_qsys放置在空白处。13、再次双击打开Symbol对话框,方法同第10步。在Name中输入input,这时右侧会显示输入信号图标,单击OK完成将其放置在空白处即可。重复此步骤,共添加两个输入到空白处,然后按照同样步骤添加两输入与门(and2)到空白处。14、将两个输入信号图标更名为sys_clk和reset_n,然后按照图5所示连接摆放好。图 5 连接图示15、单击File - Save,进行文件保存,名称默认即可,如helloword.bdf。16、单击Assignments Pin Planner,添加两个Node Name为sys_clk和reset_n,对应的引脚为28和112。然后关闭Pin Planner对话框即可。17、单击 Project - Add/Remove Files in Project,单击File name后面的浏览按钮,选择.qsys文件,单击Add将其添加进来,然后单击OK。18、现在进行编译即可。单击Processing - Start Complilation,进行编译。编译时间过长,大家耐心等待,通过后,将其下载到FPGA中,具体的下载过程,这里就不在追溯,大家可以参考其他资料学习。注意一点:下载后,不要断电,否则下载的东西全部丢失,这是由FPGA特点决定的,大家可以自己了解一下。硬件部分到此结束,下面进行软件部分设计。19、打开Nios II 13.0 Software Build Tools for Eclipse,首先,需要进行Workspace Launcher(工作空间)路径的设置,接触过Eclipse的朋友都熟悉,自己设定即可,需要注意的是路径中不要含有空格等,然后单击OK即可。20、新建工程。单击File - New - Nios II Application and BSP from Template,弹出Nios II Application and BSP from Template对话框。先选择对应的SOPC系统,单击SOPC Information File name后面的浏览按钮,选择我们之前硬件部分做好的软核文件,后缀名为.sopcinfo,这里一定要注意,选择的文件一定要对应起来,否则会因为软硬不匹配导致系统失败。我这里选择的nios_qsys.sopcinfo,然后系统会自动读取CPU name,我们不用再进行设置,下面填写Project name,这里我们填写为helloword,工程模板(Project template)使用默认的即可。然后单击Finish完成即可。这时候会在左侧的Project Explorer中生成两个工程文件,如图6所示。图 6 生成的工程文件我们双击打开helloword工程下面的hello_word.c文件,就可以看到c语言代码,我们添加一句printf(Hello word! n); 然后,右击我们的helloword工程,选择Nios II - BSP Editor,进入Nios II BSP Editor配置界面。我们主要在main选项卡下hall中进行配置。具体配置内容见图7。然后单击Generate,生成BSP库。生成完成后,单击Exit退出即可。21、下面我们编译helloword工程。右击选择Build Project。第一次编译的话,时间也会比较常,耐心等待一下。图 7 Nios II BSP Editor配置22、编译完成后,右击工程,选择Run As - Nios II Hardware,弹出Run Configurations对话框,默认Project选项卡中Project name和Project ELF file
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025跨国购销合同协议书
- 人教部编版七年级道德与法治下册说课稿:1.2成长的不仅仅是身体
- 危大工程监理安全技术交底模板
- 2025关于厨师的劳动合同范本
- 《2025电源电池及其零部件检验合同书》
- 大连版(2015)信息技术八年级下册说课稿:第7课 有迹可循-引导线动画
- 24.1.2垂直于弦的直径教学设计人教版数学九年级上册
- 区域经济影响酒店国际化进程-洞察及研究
- 新入职员工培训方案与课程设计
- 高中生物选修课知识点详解
- 临床微生物学检验 2细菌形态学检查、培养和分离技术 学习资料
- 防高处坠落 物体打击专项施工方案
- 小学少先队数字化学习计划2024-2025
- 二零二五年度景区资源经营授权书
- 2025HSK新汉语水平考试1-6级题库
- 《浮顶罐结构及工作原理》课件
- TSG21-2025固定式压力容器安全技术(送审稿)
- 《已上市化学药品药学变更研究技术指导原则(试行)》
- 【MOOC】《操作系统A》(南京邮电大学)章节中国大学慕课答案
- 水电站机电设备拆除施工方案
- 《公共数据安全评估规范》
评论
0/150
提交评论