NiosII软处理器快速入门- 10分钟学会NiosII

合集下载

NIOS2完整教程

NIOS2完整教程

NIOS2完整教程NIOS II 是一款高度可配置的32位嵌入式软核处理器,由Intel旗下的Altera(现在归属于英特尔)推出。

它具有低功耗、高性能和可扩展性的特点,适用于各种嵌入式应用领域。

下面是一份简要的NIOSII完整教程,帮助您了解如何开始使用NIOSII。

1. Nios II 架构Nios II 架构包括处理器核、总线接口、存储器和外设设备。

处理器核包括CPU和一些协处理器,如乘法器、除法器等。

总线接口用于连接处理器核、存储器和外设设备。

存储器用于存储指令和数据。

外设设备包括UART、GPIO、SPI、I2C等。

2. Nios II 开发环境搭建首先,您需要安装Altera的Quartus软件来进行Nios II的开发。

Quartus提供了一个开发工具套件,包括编译器、仿真器和调试器。

您还需要安装Nios II EDS,这是一个集成开发环境,用于配置和生成Nios II处理器的软件。

安装完软件后,您可以创建一个新的Nios II项目。

3. Nios II 项目配置在Quartus中创建新的Nios II项目时,您需要指定处理器类型、时钟频率和存储器大小等参数。

您还可以选择添加外设设备和协处理器。

一旦项目创建完成,您可以使用Nios II EDS来配置处理器和外设设备,并生成相关的软件。

4. Nios II 软件开发Nios II 支持多种软件开发工具,包括C/C++编译器、汇编器和调试器。

您可以使用C/C++编译器来编写和调试应用程序。

您还可以使用汇编器来编写高性能的关键代码。

调试器可以帮助您检测和修复应用程序中的错误。

5. Nios II 系统调试在开发过程中,您可能需要进行系统调试,以解决应用程序的问题。

Nios II 支持硬件和软件调试。

硬件调试通过连接JTAG接口进行,可以在硬件级别上进行调试。

软件调试使用Nios II调试器进行,可以在软件级别上进行调试。

6. Nios II 系统验证在完成软件开发和调试后,您可以进行系统验证,确保系统的正确性和稳定性。

NiosII 快速入门

NiosII 快速入门

NiosII 快速入门(在QuartusII中使用上述niosII系统) 3:在QuartusII中使用上述niosII系统在SOPC Builder正确运行完毕后,可以在QuartusII中,打开SOPC Builder生成的niosII_e.bsf,检查一下引脚,看看跟你的设想是否有误,如下图,niosII_e有两个input:clk,reset_n,一组output:out_port_from_the_piop[7:0]如下图:你可以使用上述的niosII_e,来构造你自己的系统。

如下图,我简单得创建了nisoSmall.bdf,来使用该niosII_e。

nios clk to clkniso reset_n to VCCout_port_from_the_pio_0[7:0] to LED[7:0]第三节:编写程序。

在Alter SOPC Builder中,点击Run Nios II IDE,启动Nios II IDE,如下图:在Nios II IDE中,选择File -> New -> Project,开启New Project 对话框选择C/C++ Application,如下图。

然后选择Next,进入下一步。

填写你自己的Project Name,比如我填写hello_led_1;在Select Project Template中,我选择Hello LED(因为存放程序的sram只有2kbytes,所以许多Template不可用),如下图。

然后选择Next,进入下一步。

选择Create a new system library named:,最后点击Finish,创建项目。

如下图:打开项目中的文件:hello_led.c,进行适当的修改。

比如,我将PIO的基地址修改为PIO_0_BASE;while(i<200000)修改为while(i<20000).你可以依照你的需求修改!然后选择Project->Build All(Ctrl+B),编译整个项目。

nios-ii-入门手册教学文案

nios-ii-入门手册教学文案

n i o s-i i-入门手册一、建立quartus ii工程首先,双击quartus ii 9.1图标打开软件,界面如下图1.1所示图1.11.1新建工程(1)点击file –>New Project Wizard 出现图1.2所示的对话框。

图1.2(2)点击Next。

如图1.3所示:第一行是工程的路径,二、三行为实体名。

填好后点击Next。

图1.3(3)此处可选择加入已设计好的文件到工程,点击Next。

图1.4(4)选择设计器件如图1.5所示。

接着点击Next。

图1.5(5)接着点击Next。

无需改动,点击finish,显示如下图所示。

图1.6(6)此时,工程已经建立完成,接下来需要建立一个原理图输入文件,点击file –>New ->Block Diagram/Schematic File 后如图1.7所示。

图1.7二、构建一个nios ii 软核(1)首先点击Tools ->Sopc Builder图2.1在System Name中输入软核的名称,注意:软核的名称不能和quartus工程的实体名相同,否则编译会出现错误,接着点击ok。

图2.2图中clk_0为时钟名称,100.0为时钟值双击可修改其值。

即软核的时钟就是100MHZ。

(2)建立nios ii处理器点击Processors -> Nios ii Processor 如图2.3所示图2.3点击后,将出现下图,在下图中选择软核的类型。

这里提供了三种类型,Nios II/e占用资源最少600-800LEs,功能也最简单,速度最慢。

Nios II/s占资源比,前者多一些,功能也多了,速度也忚一些Nios II/f占资源最多,功能也最多,速度就最快,用户可根据实际的需要选择不同的类型。

此处选择Nios II/f型,速度和功能都能满足。

下方Reset Vector是复位后启动的Memory类型和偏移量。

待SDRAM设置号以后再来设置此处。

NIOSII教程

NIOSII教程

最小逻辑占用的优化
7
7.1 Nios Ⅱ嵌入式处理器简介
Nios Ⅱ vs Nios
Nios Ⅱ
Pipelined RISC Architecture 32-Bit Instructions Flat Register File 32-Bit Data Path 32 Prioritized Interrupts Optional Instruction & Data Cache Custom Instructions Branch Prediction
一、第一代Nios嵌入式处理器 二、第二代Nios嵌入式处理器 三、可配置的软核嵌入式处理器的优势
2
7.1 Nios Ⅱ嵌入式处理器简介 一、第一代Nios嵌入式处理器
2000年,Altera发布了Nios处理器,这是第一款可 用于可编程逻辑器件的可配置的软核处理器。 基于RISC技术 16位指令集 16/32位数据通道 5级流水线 在一个时钟周期内完成一条指令的处理 具有一种基于JTAG的OCI(片上仪器)芯核
二、软件开发流程
21
7.2 Nios Ⅱ嵌入式处理器软、硬件开发流程
Nios Ⅱ Design Flow
Processor Library Peripheral Library
(1)
SOPC Builder GUI
Configure Processor Select & Configure Peripherals, IP Connect Blocks


Custom Instructions IP Modules
(2) Hardware Development

NIOS_II手把手入门

NIOS_II手把手入门

NIOS II手把手入门前言:NIOS II是什么?也许你第一次听到这个词。

通俗地讲,NIOS II其实是一个软核,那什么是软核?软核是一个基于哈佛结构的可配置处理器。

哈佛结构,联想到了吧,其实51单片机也是基于哈佛结构的处理器。

至于为什么是哈佛结构,我觉得可能是哈佛结构的处理速度较快,因为他可以在一个周期读取数据和指令。

(关于哈佛结构的详细信息请自己查阅!)因此NIOS II是把指令存储器和数据存储器分开的。

在此我想详细介绍下可配置处理器的概念。

我们都知道51单片机或者ARM里面的硬件资源都是固定的,是固化的,不能修改的。

但是软核可配置就不一样啦,它里面的CPU,外围器件都是可选择的。

因此我们可以根据实际的情况来选择需要的资源,这样可以提高利用率。

总之,大家把它当做单片机来学习就行了!讲了一大堆,相信大家还是有点模糊,下面就以流水灯介绍NIOS II吧,让我们进入NIOS II的神奇世界!(在此相信大家都已经掌握quartus的基本使用和安装了与quartus 同样版本的NIOS II软件!)Quartus环境操作:第一步:建立一个Quartus II工程和原理图文件第二步:打开配置NIOS II窗口第三步:配置NIOS II内核和外围器件(双击system contents窗口中component library下拉菜单的Nios II processor)接下来选择程序存储区和数据存储器还有通用8位IO 口。

然后配置通用IO口:(下面是选择器件区窗口,可以看到上面配置的器件!!)双击CPU,把复位矢量和异常矢量分配好:第四步:好了,到现在为止我们已经配置好一个简单的NIOS II内核,接下来就是漫长的等待吧!第五步:在原理图中添加内核symbol(其中内核复位信号是低电平复位!!)第六步:软件(C或C++)编程现在看一下NIOS II软件编写窗口吧,是不是跟单片机开发的有点类似!清空其他工程后,建立一个应用项目:file—new—Nios II C/C++ Application然后建立一个C程序文件:大家可以先把程序写下来,按下保存!等下会有相应的解释。

NIosII软处理器快速入门

NIosII软处理器快速入门

NIosII软处理器快速入门2007-08-15 20:18:01 来源:与非网关键字:FPGA NIosIINios简单介绍:Nios II是一个用户可配置的通用RISC嵌入式处理器。

在这儿,我引用了Altera公司关于NiosII的官方介绍:Altera推出的Nios? II系列嵌入式处理器扩展了目前世界上最流行的软核嵌入式处理器的性能,把Nios II嵌入到Altera的所有FPGA中,例如StratixII、Stratix、CycloneII,Cyclone、APEX,ACEX和HardCopy系列器件中,用户可以获得超过200 DMIPS的性能,用户可以从三种处理器以及超过60个的IP核中选择所需要的,Nios II系统为用户提供了最基本的多功能性,设计师可以以此来创建一个最适合他们需求的嵌入式系统。

Nios II处理器的优点和特性使用Nios II处理器的用户可以根据他们的需要来调整嵌入式系统的特性、性能以及成本,快速使得产品推向市场,扩展产品的生命周期,并且避免处理器的更新换代。

提高系统性能* 一系列的处理器核可供选择,其中包括了超过200 DMIPS性能的核* 实现任何数量的处理器或将不同的处理器核组和在一起* 增加了已有的处理器,在FPGA中添加一个或更多的Nios II软核处理器更低的系统成本* 通过将处理器、外设、存储器和I/O接口集成到一个单一的FPGA中,从而降低了系统成本、复杂性和功耗* 通过将Nios II处理器嵌入到低成本的FPGA中只需花费35美分或者更低(编者:对大多数用户而言,NiosII所占逻辑资源的成本大约是10-20元人民币,具体取决于所选FPGA 的类型和NiosII的配置)应对产品的生命周期* 提供易用的设计工具从而快速将产品推向市场。

* 提供永久的,免费的许可从而使基于Nios II处理器的产品避免了处理器的更新换代而带来的损失。

功能强大、易用的开发工具* 通过使用Nios II集成开发环境(IDE),从而加速了软件的开发* 利用Altera的强大的SOPC Builder系统开发工具和Quartus II设计软件可以在几分钟内设计一个系统使用完全功能的开发包* 使用易用的Nios II 开发包开始一个设计* 使用易用的Nios II开发包开始设计* 可以选择具有低成本特性的Cyclone FPGA开发套件,或高性能的Stratix FPGA开发套件稍微了解一下NiosII后,我们就来开始设计、应用它吧!下面我们就设计一个最简单的NiosII系统,使用NiosII去控制一个LED灯,通过这个例子我们可以了解整个介绍NiosII的设计流程第一节:EDA软件的安装。

NIOS_ II软核处理学习资料

NIOS_ II软核处理学习资料
--DSP(Digital Singnal Processor,数字信号处理器)
DSP是另外一种系统设计方法,与MCU专注于控制不同,DSP强调各种数字信号处理算法的快速实现。区别在于:
MCU采用的硬件结构是冯-诺依曼型,即在同一个存储空间取指令和数据,两者不能同时进行,因而地址总线和数据总线的宽度必须一致;DSP采用改进型哈佛结构,即指令和数据空间完全分开,并且有多个指令和数据空间,由于可以对程序和数据同时进行访问,所以提高了数据吞吐率,当然,地址总线和数据总线可以采用不同的宽度。除此之外,DSP具有专门的硬件乘法器,广泛采用流水线操作(即一条指令被执行时,允许下一条指令同时被取出),这些特性大大提高了DSP处理数据的能力。
SOPC可以理解为SOC在可编程器件上的实现,如果硬件调试成功后直接投片生产成“固定结构的芯片”,则其为普通的SOC;如果其硬件就是基于FPGA的,也就是说它是“用FPGA做为最终实现”的,它在以后也可以随时进行硬件升级与调试的,我们就叫它为SOPC的设计方法,所以说SOPC是SOC的一种解决方案。
--硬核,软核
上面提到,FPGA由存放在片内RAM中的程序进行配置,MPU是System不可或缺的一部分,如果设计者用到的MPU产品是一段VHDL或Verilog HDL代码,那么他在使用的时候可以对MPU进行修改,以满足自己所需要的功能。这种MPU称为"软核",典型代表有Nios软核和MicroBlaze软核。
软核与硬核的优缺点是很明显的,如果追求性能的稳定和应用的简便,应该选择硬核;硬核固然有很多优势,但它在灵活性上还是受到了制约。道理很简单:一旦你在某个型号的FPGA中加入了一个硬核MPU,硬核MPU也就将其“不灵活”的属性带给了这个平台——MPU过时了,也就意味着平台过时了。因此,如果想追求更大限度的灵活性,设计者可以选择在FPGA中“写”入一个软核,而不是“固化”一个硬核。

nios-ii-入门手册复习课程

nios-ii-入门手册复习课程

n i o s-i i-入门手册一、建立quartus ii工程首先,双击quartus ii 9.1图标打开软件,界面如下图1.1所示图1.11.1新建工程(1)点击file –>New Project Wizard 出现图1.2所示的对话框。

图1.2(2)点击Next。

如图1.3所示:第一行是工程的路径,二、三行为实体名。

填好后点击Next。

图1.3(3)此处可选择加入已设计好的文件到工程,点击Next。

图1.4(4)选择设计器件如图1.5所示。

接着点击Next。

图1.5(5)接着点击Next。

无需改动,点击finish,显示如下图所示。

图1.6(6)此时,工程已经建立完成,接下来需要建立一个原理图输入文件,点击file –>New ->Block Diagram/Schematic File 后如图1.7所示。

图1.7二、构建一个nios ii 软核(1)首先点击Tools ->Sopc Builder图2.1在System Name中输入软核的名称,注意:软核的名称不能和quartus工程的实体名相同,否则编译会出现错误,接着点击ok。

图2.2图中clk_0为时钟名称,100.0为时钟值双击可修改其值。

即软核的时钟就是100MHZ。

(2)建立nios ii处理器点击Processors -> Nios ii Processor 如图2.3所示图2.3点击后,将出现下图,在下图中选择软核的类型。

这里提供了三种类型,Nios II/e占用资源最少600-800LEs,功能也最简单,速度最慢。

Nios II/s占资源比,前者多一些,功能也多了,速度也忚一些Nios II/f占资源最多,功能也最多,速度就最快,用户可根据实际的需要选择不同的类型。

此处选择Nios II/f型,速度和功能都能满足。

下方Reset Vector是复位后启动的Memory类型和偏移量。

待SDRAM设置号以后再来设置此处。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NiosII软处理器快速入门- 10分钟学会NiosIINios简单介绍:Nios II是一个用户可配置的通用RISC嵌入式处理器。

在这儿,我引用了Altera公司关于NiosII的官方介绍:Altera推出的Nios? II系列嵌入式处理器扩展了目前世界上最流行的软核嵌入式处理器的性能,把Nios II嵌入到Altera的所有FPGA中,例如StratixII、Stratix、CycloneII,Cyclone、APEX,ACEX和HardCopy系列器件中,用户可以获得超过200 DMIPS的性能,用户可以从三种处理器以及超过60个的IP 核中选择所需要的,Nios II系统为用户提供了最基本的多功能性,设计师可以以此来创建一个最适合他们需求的嵌入式系统。

Nios II处理器的优点和特性使用Nios II处理器的用户可以根据他们的需要来调整嵌入式系统的特性、性能以及成本,快速使得产品推向市场,扩展产品的生命周期,并且避免处理器的更新换代。

提高系统性能* 一系列的处理器核可供选择,其中包括了超过200 DMIPS性能的核* 实现任何数量的处理器或将不同的处理器核组和在一起* 增加了已有的处理器,在FPGA中添加一个或更多的Nios II软核处理器更低的系统成本* 通过将处理器、外设、存储器和I/O接口集成到一个单一的FPGA中,从而降低了系统成本、复杂性和功耗* 通过将Nios II处理器嵌入到低成本的FPGA中只需花费35美分或者更低(编者:对大多数用户而言,NiosII所占逻辑资源的成本大约是10-20元人民币,具体取决于所选FPGA的类型和NiosII的配置)应对产品的生命周期* 提供易用的设计工具从而快速将产品推向市场。

* 提供永久的,免费的许可从而使基于Nios II处理器的产品避免了处理器的更新换代而带来的损失。

功能强大、易用的开发工具* 通过使用Nios II集成开发环境(IDE),从而加速了软件的开发* 利用Altera的强大的SOPC Builder系统开发工具和Quartus II设计软件可以在几分钟内设计一个系统使用完全功能的开发包* 使用易用的Nios II 开发包开始一个设计* 使用易用的Nios II开发包开始设计* 可以选择具有低成本特性的Cyclone FPGA开发套件,或高性能的Stratix FPGA开发套件稍微了解一下NiosII后,我们就来开始设计、应用它吧!下面我们就设计一个最简单的NiosII系统,使用NiosII去控制一个LED灯,通过这个例子我们可以了解整个介绍NiosII的设计流程第一节:EDA软件的安装。

许多朋友在配置EDA环境的时候,就遇到了更多问题,我现在总结一下:1。

安装QuartusII4.22。

安装NiosII IDE 用于软件开发3。

安装ModelSim6.0。

用于系统仿真如下是ModelSim下的安装说明:1.Install, Select Full product instllation. When asked for security key, select no. When you see License Wizard dialog, select close because license wizard dont know our license's format.e our keygen to generate license.dat, copy it to c:\flexlm directory.3.set enviroment string: LM_LICENSE_FILE = c:\flexlm\license.dat4.Start Modelsim and have fun.仍有许多人表示搞不定,通常是因为第三步有问题,可以如下设置:在W2K下,在开始 -〉系统 -〉设置 -〉 系统 -〉 高级 -〉 环境变量 -〉系统变量中设置变量名为 LM_LICENSE_FILE ,值为 你的存放license.dat的路径 + 文件名,比如c:\flexlm\license.dat,(在unix/linux下,在.bashrc中exportLM_LICENSE_FILE=/thePathOfLicenseFile/yourLicenseFileName就可以了!)第二节:建立niosII系统。

1:建立项目。

建立一个目录,比如H:\DB2005\project\niosDK\Example\NiosSmall启动QuartusII4.2软件。

选择File -> New Project Wizard在Diectory,Name,Top-Level Entity中如下填写,在你自己的项目中,你可以类比着填写:在Add Files中如下填写,在你自己的项目中,你可以类比着填写:在EDA Tools Setting中如下填写,在你自己的项目中,你可以类比着填写:最后,选择Finish,就OK了!在H:\DB2005\project\niosDK\Example\NiosSmall下建立一个name为Setup.tcl的file,其内容如下:#Setup.tcl# Setup pin settingset_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS OUTPUT DRIVING GROUND"set_global_assignment -name ENABLE_INIT_DONE_OUTPUT OFFset_location_assignment PIN_16 -to clkset_location_assignment PIN_37 -to led\[0\]set_location_assignment PIN_39 -to led\[1\]set_location_assignment PIN_1 -to led\[2\]set_location_assignment PIN_41 -to led\[3\]set_location_assignment PIN_42 -to led\[4\]set_location_assignment PIN_49 -to led\[5\]set_location_assignment PIN_50 -to led\[6\]set_location_assignment PIN_51 -to led\[7\]很浅显的Script,你可以根据需要修改。

然后打开Tools -> Tcl Scripts,选中刚才编辑的Script文件:Setup,并点击Run2:生成一个可调试的nios 最小系统选择 Tools -> SopcBuilder,启动Altera SOPC Builder启动Altera SOPC Builder后,SOPC Builder会立刻弹出对话框填入System Name,比如niosII_e;HDL Language ,比如选择verilog,如下图:选择Board Target ,比如,我选择Unspecified Board;选择Target Device Family,比如,我选择Cyclone;填入Clock,比如,我 填入22.1184如下图:添加Nios II到项目中:双击 Nios II Processor -Altera Corporation,会弹出Altera niosII 对话框,在NiosII core配置选项中,点击Nios II/e区域,选择Nios II/e,如下图。

然后Next,进入下一步。

在JTAG Debug Module配置选项中,选择Level 1,如下图。

然后Next,进入下一步。

在Custom Instructions配置选项中,我由于无需增加任何定制指令,所以为空,如下图:最后选择Finish,你的项目中会增加一个niosII 处理器,名字为cpu_0,为了简便起见,我没有将它改名。

你可以依照你自己的喜好,为该处理器取个名字。

如下图:然后双击On-Chip Memory(RAM or ROM),(在Avalon Modules -> Memory -> 下),为系统添加RAM.Memory Type选择RAM;Data Width选择32bits,Total Memory Size 可以选择2K bytes,然后选择Finish确认。

如下图,系统中会添加name 为onchip_memory_0的ram,为了简便起见,我没有将它改名。

你可以依照你自己的喜好,为其取个名字。

之后,双击PIO(在Parallel I/O)(在Avalon Modules -> Other 下),为系统添加输出接口。

Width 选择8 bits,然后点击 Finish如下图如下图,系统中会添加name 为pio_0的PIO,为了简便起见,我没有将它改名。

你可以依照你自己的喜好,为其取个名字。

然后,选择System ->Auto-Assign Base Addresses,让系统自动分配基地址。

如下图:然后,选择Sysetm->Auto-Assign IRQs,让系统自动分配中断。

如下图:点击Nios II More "cpu_0" settings选项卡,进行处理器设定。

在该例中,无需做任何更改;Reset Address、Exceptiong Address、Break Location 默认值如下图所示。

点击System Generation选项卡,进行最后的设定并生成系统。

选中HDL.Generate system module logic in Verilog,如果需要仿真,也请选中Simulation.Create ModelSim(tm) project files然后点击Generate,进行系统生成的任务。

如下图:然后,就是漫长的等待,你可以悠闲得喝一杯咖啡(因为等待的时间还是蛮长的,比如我,要等近10分钟)。

一般没有问题的话,可以看到系统提示:SUCCESS: SYSTEM GENERATION COMPLETED.如果看到此信息,恭喜恭喜,系统被正确生成了。

如果失败,请返回并检查、修改!如下图:3:在QuartusII中使用上述niosII系统在 SOPC Builder正确运行完毕后,可以在QuartusII中,打开SOPC Builder生成的niosII_e.bsf,检查一下引脚,看看跟你的设想是否有误,如下图,niosII_e有两个input:clk,reset_n,一组output:out_port_from_the_piop[7:0]如下图:你可以使用上述的niosII_e,来构造你自己的系统。

相关文档
最新文档