zoukankan      html  css  js  c++  java
  • nios II--实验1——hello_world硬件部分

    hello_world

    硬件开发

    新建原理图

    1、打开Quartus II 11.0,新建一个工程,File -> New Project Wizard…,忽略Introduction,之间单击 Next> 进入下一步。分别设置工程工作目录、工程名称。这里需要注意的是工程工作目录中请使用英文,不要含有空格等,否则在后面使用Nios II IDE的时候会出现问题。设置好后如图1所示。然后进行下一步。

    2、添加已经存在的文件,这里没有需要添加的文件,直接单击 Next> 进入下一步。进行器件设置。板子使用的是 Cyclone IV家族的 EP4CE6E22C8芯片,选择好后直接进入下一步。进行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即可。

    QSys调用模块

    1. 启动Qsys 工具,进行IP模块的调用。单击 Tools -> Qsys  ,进入Qsys设置界面。系统已经默认添加了时钟模块,名称为 clk_0 ,这里选中 clk_0,右击,选择Rename,将其名称更改为clk。以下再添加任何模块,都要进行类似的名称更改,更改名称的方法类似,就不在重复叙述了。

    2. 添加软核处理器的各部分模块。总共需要添加

    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型。e型核占用的资源最少,功能也最简单,速度最慢。s型核占用资源其次,功能和速度较前者都有所提升,f型核的功能最多,速度最快,相应的占用资源也最多,选择的时候根据需求和芯片资源来决定,这里选择s核。然后单击 Finish,结束当前配置。

     

     

    1. 下面添加片内存储器,在元件库中搜索 On Chip Memory。双击进行设置。主要设置Size中的Data width和Total memoy size。Data width设置的是数据位宽,这里设置成16位。Total memoy size设置的是片内资源的大小,需要根据芯片资源进行合理设置,这里设置为10240 bytes。单击 Finish,结束当前配置。

    1. 添加Jtag下载调试接口。在元件库中搜索 jtag uart。双击进行设置。由于系统没有特殊要求,因此这里选择默认配置即可。单击 Finish 结束当前配置。

    2. 添加系统ID模块。系统ID是系统与其他系统区别的唯一标识。在元件库中搜索 system id peripheral,双击进行设置。这里随便进行设置,如设置为123。单击 Finish,结束当前配置。

    1. 连线,即将右面 Connections栏目中的相关线通过设置节点进行连接。首先所有模块的clk连接起来。

      然后片内存储器On-Chip Memory的s1和处理器nios2的data_master和instruction_master相连。

      JTAG调试模块jtag_uart的avalon_jtag_slave和处理器nios2的data_master相连。

      系统ID模块sysid_qsys的control_slave和处理器nios2的data_master相连。

    2. 设置复位信号。

    1. 处理器nios2的中断和jtag_uart的中断相连接。

    2. 进行软核的相关设置。首先双击nios2,进入处理器设置模块。在Core Nios II栏目下,将Reset vector memory 和 Exception vector memory 设置为onchip_memory.s1。

    3. 单击 System -> Assign Base Addresses,这时候会发现下部Messages窗口中原先的错误全部没有了,变为0 Errors,0 Warnings。如果不是这个结果,返回去按步骤检查。

    4. 单击 File -> Save,进行保存,这里保存文件名为hello_world。
    5. 最后,选择Generation选项卡,设置Create simulation model为None,然后单击下面的Generate,进行生成。时间较长,大家耐心等待。

    6. 完成后单击close即可,然后关闭Qsys回到Quartus II界面。

    原理图添加IP模块

    1. 添加niosII核

      双击Block1.bdf的空白处,打开Symbol对话框。选择project

    2. 添加PLL

      单击右下角的MegaWizard Plug-In Manager…,进入宏模块调用界面。

      选择Creat a new custom megafunction variation,单击 Next> 进入下一步,在What name do you want for the output file下面的地址后面添加输出文件的名称PLL。然后在右侧搜索框中搜索ALTPLL,选中即可,这一步主要为系统添加时钟模块,然后单击 Next>进入下一步。

      弹出ALTPLL设置对话框,这里在 General栏目的What is the frequency of the inclk0 input?地方,将时钟更改为50MHz。

      接着按照以下流程进行设置:

      接着一直默认设置,一直next到一下窗口,点击Finish。

      这时会弹出一个Quartus II IP Files对话框,单击Yes完成即可,不需要进行任何操作。然后单击Symbol对话框中的OK即可,然后将模块放在Block1.bdf中即可。

    3. 连接、添加引脚

      双击打开Symbol对话框,在Name中and2,添加与门。

      点击选择要添加引脚的模块,右击,选择generate pins for symbol ports。

      对引脚进行重命名,如下所示:

    4. 单击 Project -> Add/Remove Files in Project…,单击File name后面的浏览按钮,选择.qsys文件,单击Add将其添加进来,然后单击OK。

    5. 配置引脚

      首先,进行编译,然后采用脚本文件进行配置,toolsàtcl scripts;

    6. 设置工程参数

      设置AS配置器件EPCS4

      设置双用引脚;

    7. 综合,由于时间较长,请耐心等待。

    大西瓜FPGA-->https://daxiguafpga.taobao.com

    博客资料、代码、图片、文字等属大西瓜FPGA所有,切勿用于商业! 若引用资料、代码、图片、文字等等请注明出处,谢谢!

    每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。

  • 相关阅读:
    函数式接口
    方法引用
    接口组成更新
    .Net Framework4.5中Asp.net mvc使用Singal R轮训实现导入进度条功能
    .net mvc使用FlexPaper插件实现在线预览PDF,EXCEL,WORD的方法
    可编辑树Ztree的使用(包括对后台数据库的增删改查)
    使用chosen插件实现多级联动和置位
    在ASP.NET MVC中使用区域来方便管理controller和view
    使用datepicker日期插件
    Linq to sql中使用DateDiff()
  • 原文地址:https://www.cnblogs.com/logic3/p/5228829.html
Copyright © 2011-2022 走看看