第一个NIOS II工程using Qsys-------Let Qsys Say Hello

1.新建工程

2.添加原理图文件

注:似乎Nios II工程都需要涉及到原理图编程。

3.进入Qsys进行内核设计

注:启动Qsys后,系统已经为内核默认添加了一个组件clk_0。

4.设置时钟名字和频率

注:开发板上的时钟输入为50MHz。

5.添加Nios II核

 

注:选择Nios II Core 为:Nios II/f,其他选项卡均保持默认设置。

6.进行时钟连接操作

 

7.添加On-Chip-Memory(RAM)核

 

注:同时,需要设定片上内存大小,在此,我们设定为40960,即40KB,其他选项卡均保持为默认设置。

8.进行时钟,数据端口,指令端口的连接

 

注:关于数据和指令端口的连线规则,如果是存储器这类的IP核,需要将其Slave端口同Nios II的data_master和instruction_master相连,而其他非存储器IP核则只需连接到Nios II的data_master即可。

9.添加System ID Peripheral核

 

注:输入32 bit System ID号。

10.进行时钟,数据端口的连接

 

注:由于System ID Peripheral不为存储器设备,挂载在Nios II上时,只需要与data_master相连,不需要与instruction_master相连。

11.添加JTAG UART核

 

注:保持默认设置即可。

12.进行时钟,数据端口的连接

 

注:由于JTAG UART不为存储器设备,挂载在Nios II上时,只需要与data_master相连,不需要与instruction_master相连。

13.指定Nios II的复位和异常地址

配置Nios II Processor的Reset Vetor和Exception Vector为onchip_ram.s1。

 

14.连接复位信号

点击Qsys主界面菜单栏中的“System”下的“Create Global Reset Network”。

 

 

15.进行基地址分配

点击Qsys主界面菜单栏中的“System”下的“Assign Base Addresses”。

 

16.进行中断号的分配

 

17.生成Qsys系统

点击Generate HDL。

 

18.将配置好的kernel添加到原理图文件中

 

19.将IP文件添加到工程当中

 

20.添加锁相环

 

注:需要输入芯片速度等级与输入频率参数。

 

21.管脚生成

选中单个symbol,点击鼠标反键,单击Generate Pins for symbol ports。

 

22.配置芯片

 

 

 

23.引脚分配

 

24.开启Eclipse

 

25.新建应用

File-New-Nios II Application and BSP from Template.

 

26.Build Project

 

27.运行程序

Run as ---- Nios II hardware

 

时间: 2024-12-28 16:30:24

第一个NIOS II工程using Qsys-------Let Qsys Say Hello的相关文章

nios ii 建立库文件,并在新工程中被调用

选择Nios II Library 选择location,这样的话库文件时独立的,而如果选择 Make library depend on a BSP的话会依赖BSP,如果BSP被删除了那新工程编译时会报错. 添加c源文件和h头文件 然后build project 然后新建工程: file->Nios II Application and BSP from Template 然后在工程中添加库文件的搜索路径: 右击工程文件—>properties->展开Nios II Applicati

NIOS II 例程之Hello CS

1 新建工程 在quartus ii 中新建一个工程(hello.Prj) 2 Qsys硬件系统搭建 在quartus ii中开启Qsys: 打开Qsys界面发现System Contents下已经有了一个clk_0,如下图所示.为搭建一个最小系统还必须添加一些必要组件,比如NIOS II 处理器.JTAG.onchip_ram.systemID等. 添加JTAG: 添加NIOS II 处理器 添加onchip_ram 添加pio 添加system ID 在system contents 的co

给NIOS II CPU增加看门狗定时器并使用

给NIOS II CPU增加看门狗定时器并使用 ? 配置看门狗定时器: 设置计时溢出时间为1秒 计数器位宽为32位 勾选No Start/Stop control bits 勾选Fixed period 不勾选Readable snapshot 勾选System reset on timeout.(Watchdog) 不勾选Timeout Pulse (1 clock wide) 这部分配置可以参见"Embedded Peripheral IP User Guide.pdf"中Inte

给NIOS II CPU添加一颗澎湃的心——sysclk的使用

给NIOS II CPU添加一颗澎湃的心--系统时钟的使用 ? 本实验介绍如何在Qsys中添加一个定时器作为NIOS II的心跳定时器,并在NIOS II中软件编程使用该定时器. 将上一个实验watchdog工程复制.粘贴并重命名为08_sysclk_timer.在Quartus II中打开该工程,然后点击Qsys快捷图标打开Qsys组件,如下图所示: 在Qsys中,打开工程目录(08_sysclk_timer)下的mysystem.qsys工程. 打开后,在左侧的IP列表中输入"timer&q

NIOS II CPU复位异常的原因及解决方案

NIOS II CPU复位异常的原因及解决方案 ? 近期在用nios ii做项目时,发现一个奇怪的现象,在NIOS II EDS软件中编写好的代码,烧写到芯片中,第一次能够正常运行,但是当我按下板卡上的复位键之后,系统却卡死了,再也运行不起来,除非重新下载程序.经过分析系统可知,系统的硬件设计和Qsys系统中NIOS II CPU系统的搭建都是没有任何问题的.那么为什么会存在这样的问题呢,这里我先简单介绍下我的系统: 我的系统主要由NIOS II最强板CPU,SDRAM.预留系统定时器.预留时间

【小梅哥SOPC学习笔记】切换NIOS II CPU的主内存后软件中需要注意的几点设置

切换NIOS II CPU的主内存后软件中需要注意的几点设置 有时候,我们可能面对这样一种情况: 1. 我们创建一个SOPC系统,并在QSYS中设置NIOS II的复位地址和异常地址都指向SRAM: 2. 我们创建了正确的NIOS II软件工程并能够正常运行 3. 由于某种需求(如SRAM内存不够用了,需要换成内存更大的SDRAM),我们在面在QSYS中将NIOS II CPU的复位地址和异常地址修改为SDRAM 4. 我们需要继续使用之前创建的NIOS II软件工程. 这里,如果我们更改后直接

NIOS II常用函数整理-感谢slam原创

IO操作函数函数原型:IORD(BASE, REGNUM) 输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量函数说明:从基地址为BASE的设备中读取寄存器中偏移量为REGNUM的单元里面的值.寄存器的值在地址总线的范围之内.返回值: - 函数原型:IOWR(BASE, REGNUM, DATA)输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据函数说明:往偏移量为REGNUM寄存器中写入数据.寄存器的值在地址总线的范围之内.返回值: - 函数

NIOS II 中直接调用Modelsim仿真

STEP1:创建一个工程,实现并编译该工程,编写TestBench文件. STEP2:设置启动Modelsim的路径 选择Nios II菜单Tools->Options..,在弹出的界面中,选择Modelsim的安装路径. STEP3:选择仿真软件 选择菜单Assignments->Settings..,在弹出的界面选择Tool name为ModelSim. STEP4:选择测试代码文件 如下图所示选择,单击Test Benches 单机New 填写Test bench name,找到File

NIOS II开发备忘录

大概有一年没做NIOS II的开发了,回想上一次做NIOS II还是去年做毕业设计的时候.那时候做的是基于SOPC的频率特性测试仪,我大约花了2个月的时间,从无到有的学习了NIOS II开发.学习过NIOS II的都知道,如果没有人带着学,那么最开始的那一段时间一定是最痛苦的,因为几乎每走一步,总会遇到一堆错误.我当时上手的时候,SOPC Builder已经退出了历史舞台,取而代之的是全新的Qsys环境.虽然说是全新,也不过就是在原来的SOPC Builder上升级了一下,但是,升级后,所有的总