nios教程2---点亮你的led灯

上传人:小** 文档编号:91945700 上传时间:2019-07-04 格式:PDF 页数:58 大小:1.77MB
返回 下载 相关 举报
nios教程2---点亮你的led灯_第1页
第1页 / 共58页
nios教程2---点亮你的led灯_第2页
第2页 / 共58页
nios教程2---点亮你的led灯_第3页
第3页 / 共58页
nios教程2---点亮你的led灯_第4页
第4页 / 共58页
nios教程2---点亮你的led灯_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《nios教程2---点亮你的led灯》由会员分享,可在线阅读,更多相关《nios教程2---点亮你的led灯(58页珍藏版)》请在金锄头文库上搜索。

1、 NIOS 教程(2) -点亮你的 LED 灯 在此实验中我们将建立一个 NIOS 工程,实验点亮 LED 的演示 1 先打开 QuartusII 9.0SP2 软件 点击菜单栏 File? New Project Wizard,弹出如下对话框 点击 Next按钮继续, 在此步中, What is the working directory for this project? 是询问你的这个项目工程打算放在哪里? 我们改为 d:ask2cb_niosnios2 (表示整个工程建立在 D 盘的 ask2cb_nios 目录下面的 nios2 目录中) What is the name of th

2、is project? 是询问你这个工程项目名是什么? 我们改为 nios2(表示这是第二个 nios 示例工程) What is the name of the top-level design entity for this project? 是询问这个工程项目的顶层设 计入门名 我们改为 nios2,表示顶层模块名为 nios2 改成如下图所示: 点击 Next继续 提示 D 盘 ask2cb_nios 目录下面没有 nios2 这个目录,询问是否要创建它,选择是(y),让 QuartusII 创建这个目录。 向导开始询问是否有现成的文件需要加到当前新建的工程中?这步不用管它, 点击 N

3、ext继 续, 在此步中,向导询问你使用的是何种器件,我们在 Device family 组合框中,Family 下拉列 表中选择 CycloneII,在 Available devices:下面的列表框中选择 EP2C5Q208C8,这是我们 ASK2CB-5 开发板所使用的 FPGA 主芯片(EP2C5Q208C8), 如果您购买的是 ASK2CB-8 开发 板,请选择 EP2C8Q208C8。 在本教程中,默认采用的是 EP2C5Q208C8,如果你的开发板上的 FPGA 主芯片为 EP2C8Q208,请修改相应的器件为 EP2C8Q208C8 点击 Next 按钮继续 在此步中询问你要

4、使用何种综合工具,仿真工作,时序分析工具,不用管它,点 Next继续, 最后显示一个整个新建的 Project 的摘要。点击 Finish 完成新建项目。 如后新建的 Project 如下图 工程虽然建完了,但这只是一个空的工程,接下来我们需要在工程中添加文件 2 向工程中添加文件,先建立一个 Block Diagram / Schematic File, 点击菜单栏中的 File-New 打开新建文件对话框, 我们选中 Block Diagram / Schematic File,然后点击按钮 在 QuartusII 工程中出现了一个 Block1.bdf 文件 3 接下来我们该启动 SOP

5、C Buider 来创建 NIOSII 软核了,点击 Tools- SOPC Builder 会出现如下对话框 在最上层的 Create New System 对话框中的 System Name:中输入软核的名字,在本示例 中,输入 kernel 做为软件核的名字 下面的 target HDL,可以选择 Verilog 点击按钮确认。 此时看窗口左上角的 Clock Settings 显示 clk_0 为外部时钟,频率为 50Mhz,这是我们当前 所用到的软核时钟。 4 接下来要建立 CPU,用鼠标双击窗口左侧框中的 NIOS II Processor 弹出如下窗口 先选择软核的类型,Quar

6、tus 一共提供了三种类型可供选择,Nios II/e 占用资源最少 600-800LEs,功能也最简单,速度最慢。Nios II/s 占资源比前者多一些,功能也多了,速度 也快一些 Nios II/f 占资源最多,功能也最多,速度就快。选择的时候要根据你的需求和你的 芯片资源来决定。 在本示例中,我们选择 Nios II /s,能够满足需要, 在窗口下半部分的这些选项可以先不用管 Reset Vector 是复位后启动时的 Memory 类型和偏移量 Exception Vector 是异常情况时的 Memory 类型和偏移量。 现在还不能配置,需要 RAM 设置好以后才能修改这里 接下来点

7、击 Next, 在此步中不用做修改,点击 Next 在此步中不用做修改,点击 Next 在此步中不用做修改,点击 Next 在此步中需要设置 JTAG Debug Module , 即 JTAG 调试时所要用到的功能模块, 我们选 择 Level1,只使用最简单的功能。 点击 Next 继续 最后点击 Finish。完成 现在回到了 SOPC Builder 的主界面, 我们可以看到在右边的窗口中多了一个 cpu_0,这就是刚才添加的 cpu 接下面我们要添加片内 RAM 选择左边目录树下的 Memories and Memory Controllers - On-Chip - On-Chip

8、 Memory (RAM or ROM) 双击 On-Chip Memory (RAM or ROM),会弹出如下对话框 此步不用做任何修改,直接点击 Finish 完成,回到 SOPC Builder 主窗口 主窗口上又加了一个 Onchip_memory2_0 的odule, 接下来建立一个 SystemID System ID 就是一种标示符,类似校验和的这么个东西,在你下载程序之前或者重启之 后,都会对它进行检验,以防止错误发生。 在左边窗口的 Peripherals- Debug and performance - System ID Peripheral 双击 System ID

9、Peripheral 会弹出以下对话框 此窗口警告:System ID 组件的名字必需为 sysid 才能使用,点击 Finish 完成添加。 在 SPOC builder 主窗口中,选中 SystemID 组件, 然后击点鼠标右键,弹下一个菜单,如下图 选择 Rename,对 sysid_0 组件进行重命名, 将此文本框中的 sysid_0 改为 sysid。 照此方法,我们把所有组件后面的_0 全部去掉了,如下图: 接下来创建 JTAG UART 首先 JTAG UART 是实现 PC 和 Nios II 系统间的串行通信接口,它用于字符的输入 输出,在 Nios II 的开发调试过程中扮

10、演了重要的角色,接下来我们开始建立它的模块。 选择 sopc builder 主窗口左边 Interface Protocols- Serial- JTAG UART 如下图所示: 双击 JTAG UART,出现下面的窗口 点击 Next 下一步 点击 finish 完成。 回到 SOPC Builder 主窗口,更改组件名 jtag_uart_0 为 jtag_uart 8,接下来回去对进行设定,在主窗口中双击组件 进入设定对话框,如下 把 Reset Vector 右边的 Memory:改为 onchip_memory2 ,offset 会设为 0x0 把 Exception Vector

11、 右边的 Memory 改为 onchip_memory2 , offset 会设为 0x20 点击窗口右下角的 finish 完成 9.接下来要添加一个 PIO 模块(Parallel I/O) 点击窗口左侧的 Peripherals - Microcontroller Peripherals - PIO(Parallel I/O),弹出以下窗口 其中 Width 表示要建立的 PIO 宽度是多少,我们的板上有 8 个 LED,选择宽度为 8, Direction 复选框中表示要建立的 PIO 的方向,分别表示 Bidirectional(tristate) ports (双向三态口) In

12、put ports only (仅仅作为输入口) Both input and output ports (作为输入和输出口) Output ports only (仅仅作为输出口) 在本实验中,将要实现的是点亮 LED,所以这个新建的 PIO 采用 Output ports only(仅输出 口)方式 点出 Next 继续,出现以下窗口 不需要选择,点 Next 继续 在这一步中,直接点击 Finish,完成 PIO 模块的创建 回到主窗口中 我们为了方便识别,将 pio_0 改名为 pio_led,如下图所示 执行 System 菜单上的 Auto-Assign Base Addresse

13、s 自动分配一下地址。 ,最后就能进行编译了,点击 SOPC Builder 主窗口左上角的 System Generation 选项卡. 出现如下窗口: 我们点击最下面的 Generate 按键,会提示你是否保存改变,回答 save 回答 Save,保存一下。 开始编译,经过耐心等待后,程序编好了,查看下最后的输出如下: 最后一行显示 Info: System generation was successful,产生成功。 点击 Exit 退出,会回到 quartusii 主界面。 在这一步中需要分配管脚, 回到 Quartus 界面以后,在 Block1.bdf 界面里在空白处双击左键,会

14、出现下图: (注意上图的红框内)展开左边的 Project,下面有个 kernel,这个 kernel 就是刚才建立的 NIOSII 软核,quartusii 中把它用了一个方块 symbol 来表示,点击左下角的按钮 在 Block1.bdf 界面中, 有个小方框阴影跟随着鼠标移动, 鼠标点击, 把它放在 Block1.bdf 界面中 放好后,在 NIOS 软核 kernel 上点击右键后点击 Generate Pins for symbol ports, 这一步作用就是生成管脚,通过命名以后给信号分配真正的 fpga io 口引脚。 如下图: 双击 out_port_from_the_pi

15、o_led70拉出来的端口符号 弹出以下窗口 我们将其引脚名改短一些,改为 led70,如下图所示 确认后,如下 分配引脚有多种方法,常用的为 tcl 脚本分配,建立一个文件,取名为 nios2.tcl,文件内容 如下 set_global_assignment -name RESERVE_ALL_UNUSED_PINS “AS INPUT TRI-STATED“ set_location_assignment PIN_23 -to clk_0 set_location_assignment PIN_28 -to reset_n set_location_assignment PIN_15 -

16、to led0 set_location_assignment PIN_14 -to led1 set_location_assignment PIN_30 -to led2 set_location_assignment PIN_31 -to led3 set_location_assignment PIN_57 -to led4 set_location_assignment PIN_58 -to led5 set_location_assignment PIN_59 -to led6 set_location_assignment PIN_60 -to led7 第一行表示把 FPGA 所有未用的管脚都设为三态输入 第二行表示把 clk_0 信号分配到 fpga 的第 23 个管脚上 第三行表示把 reset_n 信号分配到 fpga 的第 28 个管脚上 后面几行是分配 LED 管脚到相应的 IO 口上 把建好的 nios2.tcl 复制到 D:as

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号