NiosII Processor

合集下载

Nios Ⅱ和Micro Blaze的比较

Nios Ⅱ和Micro Blaze的比较

题目:Nios Ⅱ和Micro Blaze的比较目录引言 (2)体系结构及特点 (2)开发环境 (4)应用与使用 (5)总结 (6)参考文献 (7)引言Nios Ⅱ嵌入式处理器是ALTERA公司推出的采用哈佛结构、具有32位指令集的第二代片上可编程的软核处理器, 其最大优势和特点是模块化的硬件结构, 以及由此带来的灵活性和可裁减性。

相对于传统的处理器, Nios Ⅱ系统可以在设计阶段根据实际的需求来增减外设的数量和种类。

Micro Blaze嵌入式软核是一个被Xilinx公司优化过的可以嵌入在FPGA中的RISC处理器软核,具有运行速度快、占用资源少、可配置性强等优点,广泛应用于通信、军事、高端消费市场等领域。

Xilinx公司的Micro Blaze 32位软处理器核是支持Core Connect总线的标准外设集合。

Micro Blaze处理器运行在150MHz时钟下,可提供125 D-MIPS的性能,非常适合设计针对网络、电信、数据通信和消费市场的复杂嵌入式系统。

体系结构及特点(一)Nios ⅡNios Ⅱ处理器核Nios Ⅱ处理器系列由三个不同的内核组成,可以灵活地控制成本和性能,从而拥有广泛的应用空间。

1)JTAG调试模块JTAG调试模块提供了通过远端PC主机实现Nios Ⅱ处理器的在芯片控制、调试和通讯功能,这是Nios Ⅱ处理器的一个极具竞争力的特性。

2)用户指令开发人员可以在Nios Ⅱ CPU 核内增加硬件,用以执行复杂运算任务,为时序要求紧张的软件提供加速算法。

3)外围设备及接口Nios Ⅱ开发套件包括一套标准外围设备库,在Altera的FPGA中可以免费使用。

4)Avalon™交换式总线Avalon交换式总线在处理器、外围设备和接口电路之间实现网络连接,并提供高带宽数据路径、多路和实时处理能力。

Avalon交换式总线可以通过调用SOPC Builder设计软件自动生成。

Nios II系列支持使用专用指令。

ad7606教程.

ad7606教程.

一、前言学习NIOS的必备条件:具有一定的单片机基础;具有一定的C语言编程能力;了解Quartus II的开发流程;一块开发板。

二、建立工程首先,打开Quartus II 9.0 软件。

接下来,建立一个工程File->New Project Wizard第一行是工程的路径,你选择你放置的路径即可,第二,第三行都是工程名(注意:工程名不要用中文,路径中也不要含有中文字符,否则后面编译时会出错),写好以后如下,点击Next,点击后,如下图所示,这个不需要改动,接着点击Next,点击后,如下图所示,Family 里选择Cyclone II,在Available devices中选择EP2C8Q208C8(具体内容根据你的芯片所定)。

接着点击Next,不需要修改,点击Finish,显示如下图所示。

至此为止,工程已经建立完成。

接下来,需要建立一个Block Diagram/Schematic File,点击File->New,如下图所示:点击OK,完成建立,工程中出现了一个Block1.bdf 文件。

三、AD7606的工作原理1.工作原理AD7606是8通道16位逐次逼近型ADC,有2种接口模式:串行接口模式和高速的并行接口模式,并行接口模式又分为8位和16位传送方式。

在数据转换时,2个转换信号CONVSTA/B,用来控制每4个或每8个ADC同时采样。

如果将2个CONVST引脚连接在一起,就可对8个ADC同时进行采样。

在CONVSTX的上升沿,被选择的ADC对被置为保持模式,转换开始。

CONVSTX的上升沿过后,BUSY信号变为高电平表明转换正在进行,转换时间是2μs,BUSY信号返回低电平表明转换结束。

在BUSY信号的下降沿,ADC 回到跟踪模式,数据可以通过并行或串行接口从输出寄存器读出。

16位并行接口读取数据时可以用CS和RD信号通过并行数据总线从AD7606读取数据。

通过并行总线读取数据时,需将PAR/SER/BYTE SEL引脚和低电平相连。

nios ii 入门手册

nios ii 入门手册

一、建立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设置号以后再来设置此处。

NIOS II常见编译问题解答win7下的兼容性问题

NIOS II常见编译问题解答win7下的兼容性问题

NIOS II常见编译问题解答win7下的兼容性问题cygdrive/f/altera/10.0/nios2eds/components/altera_hal/build/system_rules.mk:120:/components/altera_hal/build/gnu_rules.mk: No such file or directory/cygdrive/f/altera/10.0/nios2eds/components/altera_hal/build/system_rules.mk:124:/components/altera_hal/build/gtf_rules.mk: No such file or directorymake[1]: *** No rule to make target `/components/altera_hal/build/gtf_rules.mk'. Stop.make: *** [system_project] Error 2Build completed in 11.068 seconds解决办法:因为在win7下的权限问题.具体解决方法参考下面的方法:Under your Quartus II folder, go to bin->cygwin->bin folder, select the following files in the list below and then right-click and choose Properties. Under the Compatibility tab, check “Run this program in compatibility mode for:”and choose “Windows XP (Service Pack 2)”. Check “Run this program as an administrator”, as well.Here is the list of files that you can select to change their compatibility mode under the Quartus II->bin->cygwin->bin folder:1. Make.exe2. Sh.exe3. Echo.exe4. Cygstart.exe5. MakeInfo.exe6. Perl.exe7.Collect2.exe(undernios2eds\bin\nios2-gnutools\H-i686-pc-cygwin\libexec\gcc\nios2-elf\3.4.6)8. Nios2-elf-g++.exe (under nios2eds\bin\nios2-gnutools\ H-i686-pc-cygwin\bin)在英文网上查到的,这几个不同的exe文件在不同的bin文件夹之间,依次右击改掉属性,把允许管理员使用权限前面打上勾即可.5.如果run Niosii时经常出现到2%后N久也不动,也不报错,甚至进度条也在滚,当然没有前进了。

基于 MAX10 的 NIOS II 入门

基于 MAX10 的 NIOS II 入门

IDE: Quartus Prime 18.0 Standard Edition,max10能用的只有Standard和lite版本.开发板: DE10-Lite, 芯片型号为:10M50DAF484C7G语言: Verilog HDL, C.Step 1.建立一个MAX10的工程. 注意Device and pin options的configuration mode的选择。

基于MAX10的NIOS II入门Step 2. 启动Platform designer (老版本叫Qsys),添加Nios II Processor、onchip_memory、onchip_flash、pio、jtag_uart以及sysid_qsys几个简单的模块。

采用默认就可以了,Clk直接使用的是50 MHZ。

连接相关clk等的连线(连线都连上就行)。

Step 3. 设置NIOS. 程序储存在FLASH中,在RAM运行Step 4. 设置flash. 注意configuration mode. 需要与Device and pin options的configuration mode设置一致。

Step 5. 基本就这些设置,完后generate,生成HDL文件。

在Test.v中调用NIOS_CPU,然后在Quartus左侧的文件列表中添加synthesis目录下的NIOS_CPU.qip文件。

此处NIOS_CPU是你自己命名保持的platform designer工程名,编译,下载到Max10中。

Step 6. Tool -> NIOS II software build tools for eclipse. 新建一个Nios II Application and BSP form Template. SOPC information file name选择上一步生成的NIOS_CPU.sopcinfo. Template选择hello_world_small应用,点击finish完成应用程序创建。

nios ii处理器功能说明

nios ii处理器功能说明

NIOS II功能模块说明(一)结合前面的NIOS II处理器架构简介,后面对各功能模块进行简要说明。

NIOS II功能模块说明(一)l 通用寄存器NIOS II架构包含32个32位通用寄存器,还包含32个32位的控制寄存器。

处理器架构能支持超级用户模式和普通用户模式,以便系统软件保护不同应用的控制寄存器。

这可以通过设置控制寄存器来实现。

NIOS II架构还能兼容未来增加的浮点寄存器。

算术逻辑单元(ALU)NIOS II的算术逻辑操作是基于通用寄存器来完成的,整个操作需要将一个或两个输入操作数进行运算,然后将计算结果输出并存储到寄存器中。

NIOS II支持的数据运算包括:1.算术运算:包括对有符号和无符号操作数进行的加、减、乘和除运算。

2.关系运算:包括对有符号和无符号操作数进行的等于、不等于、大于等于和小于运算。

EDA中国门户网站2e#t;jF"{1S3.逻辑运算:包括对逻辑操作数进行的与、或、或非和异或操作4.移位和循环移位操作:可以在单指令对操作数进行0至31位的移位和循环移位操作,并且能支持左移和右移、左循环和右循环移位。

NIOS II核并没有采用硬件来实现全部的NIOS II指令集,对没有用硬件实现的指令又称为未实现指令(Unimplemented Instructions)。

NIOS II核支持IEEE标准754‐1985规定的单精度浮点指令,这些单精度定制指令包括浮点加、减和乘运算,浮点除运算作为扩展的简单指令集有效。

这些指令均作为定制指令在NIOS II中实现,通过NIOS II Processor MegaWizard接口可以很容易的设计这些浮点指令。

需要注意的是,浮点除指令若采用硬件来实现,或占用比其他指令多的多的资源,若在设计中不使用硬件实现,则处理器会使用软件来实现浮点除运算。

另外,由于指令集仿真器不支持定制指令,若需要在指令集仿真器上运行软件,可以使用如下的#pragma描述在软件中禁止浮点定制指令,而是用软件实现浮点指令。

NIOS教程4---使用起SRAM

NIOS教程4---使用起SRAM

NIOS教程(4) --------使用板载的SRAM存储器在此实验中我们将建立一个NIOS工程,实验点亮LED的演示使用板载的SRAM并且烧代码烧录到板载的EPCS4存储配置芯片中运行。

1.先打开QuartusII 9.0SP2软件点击菜单栏FileÆ New Project Wizard,弹出如下对话框点击Next>按钮继续,在此步中,What is the working directory for this project? 是询问你的这个项目工程打算放在哪里?我们改为D:\ask2cb_nios\nios4 (表示整个工程建立在D盘的ask2cb_nios目录下的NIOS4目录下面)What is the name of this project? 是询问你这个工程项目名是什么?我们改为nios4(表示这是第四个nios示例工程)What is the name of the top-level design entity for this project? 是询问这个工程项目的顶层设计入门名我们改为nios4,表示顶层模块名为nios4改成如下图所示:点击Next>继续提示D盘ask2cb_nios目录下下面没有nios4这个目录,询问是否要创建它,选择是(y),让QuartusII创建这个目录。

向导开始询问是否有现成的文件需要加到当前新建的工程中?这步不用管它,点击Next>继续,在此步中,向导询问你使用的是何种器件,我们在Device family组合框中,Family下拉列表中选择CycloneII,在Available devices:下面的列表框中选择EP2C5Q208C8,这是我们ASK2CB-5开发板所使用的FPGA主芯片(EP2C5Q208C8),如果您购买的是ASK2CB-8开发板,请选择EP2C8Q208C8。

在本教程中,默认采用的是EP2C5Q208C8,如果你的开发板上的FPGA主芯片为EP2C8Q208,请修改相应的器件为EP2C8Q208C8点击Next按钮继续在此步中询问你要使用何种综合工具,仿真工作,时序分析工具,不用管它,点Next>继续,最后显示一个整个新建的Project的摘要。

NIOSII教程

NIOSII教程

NIOSII教程NIOS II 是一种基于软核的处理器,可用于 FPGA 设计中。

它是由Altera 公司所开发的。

NIOS II 可以在 FPGA 中进行快速原型设计,并且具有高度可配置性和可扩展性。

本文将介绍 NIOS II 的基本架构和使用方法。

NIOSII架构基于RISC架构,它是一个32位的处理器,并且具有可选的指令扩展。

它的流水线深度可以根据设计的需求进行配置,以实现不同的性能要求。

NIOSII支持多种功能,包括硬件中断、异常处理以及浮点运算等。

在开始使用NIOSII进行开发之前,首先要进行软核处理器的配置。

配置包括选择所需的指令集、流水线深度和其他性能参数。

配置完成后,可以将软核处理器添加到FPGA设计中。

一旦软核处理器被添加到FPGA设计中,就可以开始编写应用程序。

NIOSII支持标准的C/C++语法,并且还提供了一些特殊的函数和指令,用于访问FPGA的硬件资源。

例如,可以使用特殊函数来配置GPIO引脚、读取和写入存储器以及执行其他与硬件交互的操作。

使用NIOSII进行FPGA开发具有许多优点。

首先,它提供了一种快速原型设计的方法,可以大大加快开发进程。

其次,NIOSII的可扩展性和高度可配置性使得它适用于各种不同的FPGA设计需求。

最后,NIOSII的开发工具和调试接口使得开发和调试过程更加简单和高效。

总结起来,NIOS II 是一种基于软核的处理器,适用于 FPGA 设计中。

它具有灵活性和可配置性,可以使用 C/C++ 或 HDL 进行开发,并通过Altera 公司提供的工具链进行编译和调试。

NIOS II 提供了一种快速原型设计的方法,并且适用于各种不同的 FPGA 设计需求。

NIOS性能

NIOS性能

175
Cyclone III LS (3)
EP3CLS70F484C7
135
100
140
Cyclone III (3)
EP3C40F324C6
175
145
215
Cyclone II
EP2C20F484C6
140
110
195
Cyclone
EP1C20F400C6
135
120
175
Arria® II GX
■ Timer
f The MIPS reports were obtained using the MIPS* (*Dhrystones 2.1 benchmark). You can download the Dhrystones 2.1 benchmark software from the Nios II Embedded Processor Design Examples page on the Altera website. For more information about the Dhrystones 2.1 benchmark software, refer to the readme.txt file which is included in the Dhrystones 2.1 benchmark design example.
Table 2. MIPS for Nios II Processor System (Note 1) (Part 1 of 2)
Device Family
Device Used
Nios II/f
Stratix V (1)
5SGXMA3H2F35C2
283

NIOS II熟悉开发环境

NIOS II熟悉开发环境

熟悉Nios II开发环境注意:此文档是提供学习Nios II开发环境的过程。

具体的器件要根据自己的学习板上的器件选择。

Nios II的开发涉及到多个软件工具,由于文档需要面向最广泛的开发者,在这一篇中以一般的开发流程,图文并列的方式进行探讨,假设读者已经正确安装Altera公司的Quartus II6.0或更高版本、Nios II Development Kit6.0或更高版本的软件,对软件安装不再赘述。

1软件工具介绍Nios II的开发包括了以32位Nios II软核处理器为核心的硬件配置、硬件设计、软件仿真、软件设计、软件调试等,基本的软件工具有:1.1Quartus II,用于完成Nios II系统的综合、硬件优化、适配、编程下载和硬件测试1.2SOPC Builder是Altera Nios II嵌入式处理器开发软件包,用于实现Nios II系统的配置、生成、Nios II系统相关的软件的生成1.3ModelSim用于对SOPC Builder生成的Nios II的HDL描述进行系统功能仿真1.4Matlab/DSP Builder,生成Nios II系统硬件加速器,并为定制新指令提供支持。

1.5Nios II IDE,软件开发调试环境。

我们主要使用上述工具1、2、5,对3、4工具的开发使用可以根据大家的具体需求另行探讨。

2Nios II应用系统开发设计流程介绍II开发分硬件开发和软件开发两个流程,硬件开发过程主要由用户定制系统硬件, Nios然后由SOPC Builder等工具完成系统硬件和对应的开发软件生成;软件设计和传统方式类似,接近于unix/linux系统开发,软件开发又可以细分为HAL驱动程序开发和应用系统开发。

在以后的实践中我们会体会到Nios II的开发是一个灵活的软硬件融合的开发过程。

3Nios II系统硬件设计实例导航我们以一个简单的基于Nios II的系统开发过程来介绍Nios II系统的开发过程,该系统具有四个按钮,8个LED输出,SDRAM,FLASH硬件,实现简单的流水灯。

NIOS教程2---点亮你的LED灯

NIOS教程2---点亮你的LED灯

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

向导开始询问是否有现成的文件需要加到当前新建的工程中?这步不用管它,点击Next>继续,在此步中,向导询问你使用的是何种器件,我们在Device family组合框中,Family下拉列表中选择CycloneII,在Available devices:下面的列表框中选择EP2C5Q208C8,这是我们ASK2CB-5开发板所使用的FPGA主芯片(EP2C5Q208C8),如果您购买的是ASK2CB-8开发板,请选择EP2C8Q208C8。

在本教程中,默认采用的是EP2C5Q208C8,如果你的开发板上的FPGA主芯片为EP2C8Q208,请修改相应的器件为EP2C8Q208C8点击Next按钮继续在此步中询问你要使用何种综合工具,仿真工作,时序分析工具,不用管它,点Next>继续,最后显示一个整个新建的Project的摘要。

NiosII嵌入式处理器简介

NiosII嵌入式处理器简介

NiosII嵌入式处理器简介Nios II嵌入式处理器简介Nios?II系列嵌入式处理器是一款通用的RISC结构的CPU,它定位于广泛的嵌入式应用。

Nios II处理器系列包括了三种核心——快速的(Nios II/f)、经济的(Nios II/e)和标准的(Nios II/s)内核——每种都针对不同的性能范围和成本而优化。

所有的这三种核都使用共同的32位的指令集结构(ISA)百分之一百的二进制代码兼容。

使用业界领先的设计软件——Altera的Quartus II?软件以及SOPC Builder工具,工程师可以轻松的将Nios II处理器嵌入到他们的系统中。

Nios II系列嵌入式处理器在不到三年的时间里,有超过12,000块Nios开发套件售出,第一代的16位Nios处理器已成为可编程逻辑设计中软核嵌入式处理器的标准。

32位的Nios II嵌入式处理器建立在成功的第一代的Nios 处理器的基础上,它不仅提供更高的性能、更低的成本(即更少的逻辑资源占用率),还提供了齐全的软件开发工具以及更高的系统灵活性。

表1列出了Nios II处理器的特性。

表2列出了Nios II系列成员。

表3列出了Nios II嵌入式处理器支持的FPGA系列。

可配置的软核嵌入式处理器的优势嵌入式开发人员面对的一个最大挑战就是如何选择一个适合他们应用需求的处理器。

现今已有数百种嵌入式处理器——每种都具备一组不同的外设、存储器、接口和性能特性,工程师很难做出一个合理的选择:要么选择在某些性能上多余的处理器(为了匹配实际应用所需的外设和接口要求等等),要么为了保持成本的需求而达不到原先预计的理想方案。

随着Nios II软核处理器的推出,工程师可以轻松创建一款“完美”的处理器,无论是外设、存储器接口、性能特性以及成本。

这些优势的都借助于在Altera的FPGA上创建一个定制的片上系统,或者,更精确的说是一个可编程单芯片系统(SOPC)。

如何在QUARTUS-Ⅱ10.1上建立NIOS-Ⅱ工程

如何在QUARTUS-Ⅱ10.1上建立NIOS-Ⅱ工程

如何在QUARTUS Ⅱ10.1上建立NIOS Ⅱ工程一.打开QUARTUS Ⅱ10.1新建一个工程:设置保存路径及文件名(注意工程文件夹名字以及工程路径不能有空格或者中文字符出现,否则会出错):若不需要添加文件就直接点击Next(这里直接点击Next):选择芯片型号,(包括所属系列、管脚数量、速度等级,这里用的是EP2C8Q208C8)然后点击Next:直接点击Next:点击Finish:接下来新建一个原理图文件并保存文件:至此,Quatus 工程建立完毕,相信对大家来说都是小菜一碟,接下来开始建立SOPC_bulid:二、点击红色方框内图标,进入到SOPC_bulid模块里面:对系统进行命名(这里命名为kernel)选择语言(用的是Verliog),然后点击OK:最好把名字后面的_0去掉,这样看起来比较顺眼,鼠标单击即可修改(我的开发板上晶振是50MHz就不用修改时钟频率,根据个人情况修改),:接下来建立CPU:找到Nios Ⅱ Processor鼠标双击:接着弹出如下窗口(红色方框内暂不做修改),点击Next:在红色方框内选择None,然后点击Next:不做修改直接Next:还是Next:根据需要可选择速度等级(这里不做修改默认即可),点击Next:最后点击Finish:同样对模块进行重命名,选中然后鼠标右键选择Rename:(至此,CPU模块建立完毕)。

接下来开始建立SDRAM,双击SDRAM Controller:器件类型选择为Custom,数据位宽为16,第三个红色方框内勾上对号,然后点击Next:接下来直接点击Finish:同样进行重命名:(SDRAM建立完成)。

接下来开始建立EPCS:找到EPCS Serial Flash Controller,双击:直接点击Finish:还是进行一下重命名,命名为epcs即可。

(EPCS建立完成)。

接下来建立 System ID :找到 System ID Peripheral,双击:直接点击Finish :(System ID 建立完成)。

【翻译】NiosII处理器简介(NiosII)

【翻译】NiosII处理器简介(NiosII)

【翻译】NiosII处理器简介(NiosII)处理器简介本⽂介绍的Altera Nios II处理器是⼀个可在Altera FPGA器件⾥实现的软核处理器。

主要讲述Nios II的基本架构和其指令集。

配合Quartus II 软件,使⽤Altera的SOPC Builder可以很容易的把Nios II处理器和它的内存及外围组件例化。

关于Nios II处理的完整描述请参阅《Nios II处理器参考⼿册》,在Altera官⽹的⽂献区可找到该⼿册。

SOPC Builder的简介在⼊门简介⾥有提供,也可在官⽹的⼤学计划板块找到。

本⽂包含的内容:⽬录Altera Nios II处理器是⼀个软核处理器,⽤硬件描述语⾔定义,使⽤Quartus II软件可在Altera的FPGA器件⾥实现。

本⽂为想要在Altera DE2开发板上实现⼀个基本Nios II系统的⽤户提供⼀个关于Nios II处理器的简介。

系统Nios II处理器可使⽤许多其他组件构成⼀个完整的系统。

这些组件包括许多标准外设之外,还可由⽤户⾃定义外设。

Altera DE2开发板含有⼏个可集成在Nios II系统⾥的组件。

图1就是⼀个这样的系统。

Nios II处理器和⽤来连接DE2上其他芯⽚的接⼝都在Cyclone II FPGA⾥实现。

这些组件通过Avalon 交换结构连接。

Cyclone II器件的内存块可为Nios II处理器提供⽚上内存。

它们可直接或通过Avalon⽹络与处理连接。

通过相应的接⼝访问DE2上的SRAM和SDRAM。

系统使⽤的I/O设备例化为I/O接⼝。

连接主机和DE2的USB线缆接⼝由⼀个特殊的JTAG UART接⼝提供。

这个接⼝电路和其相应的软件叫做USB_Blaster。

另⼀个名为JTAG Debug的模块,⽤来使主机控制Nios II处理器。

这样,就可以执⾏操作,⽐如,下载程序到内存⾥,启动和停⽌执⾏,设置程序断点,和搜集实时数据。

niosii处理器的复位地址和异常地址

niosii处理器的复位地址和异常地址

niosii处理器的复位地址和异常地址学习Nios Development Board Reference Manual, Stratix II Edition。

(1)在使⽤Nios II SDK Shell试运⾏./restore_my_flash时,发现restore_my_flash会区分⽬录名的⼤⼩写,因此使⽤Nios II SDK Shell时最好注意⼤⼩写⼀致。

(2)restore_my_flash.pl为perl脚本,可以直接修改后直接执⾏。

(3)restore_my_flash不能正常取得命令⾏参数,但这不影响恢复出⼚设置的操作,因为restore_my_flash可以不依靠命令⾏参数来执⾏。

(4)最好不要移动NiosII的安装⽬录,例如restore_my_flash就会从⽬录名中提取内容⽣成需要的⽂件名。

(5)恢复出⼚设置需要.sof和.flash两个⽂件,估计.sof⽤于⽣成最⼩的nios 系统,以便将.flash⽂件下载到Flash中。

(restore_my_flash提⽰使⽤J24 JTAG连接器,该连接器是⽤于配置StratixII器件的。

)学习Creating Multiprocessor NiosII Systems Tutorial。

在standard设计的基础上修改了NiosII系统,⼜添加了两个NiosII处理器及各⾃的定时器、共享互斥锁、消息缓冲区。

编译、运⾏和调试了hello_world_multi程序。

给我的感觉是:(1)SOPC Builder中设置的NiosII的Reset和Exception地址很重要;(2)QuartusII⽣成的编程⽂件中包含有NiosII处理器的复位地址;(3)NiosII IDE的编译会⽣成绝对地址的代码和数据;(4)NiosII IDE通过NiosII处理器中的jtag_debug_module重定向程序的执⾏地址;(5)上电或复位后,NiosII处理器从复位地址(通常指向Flash)处执⾏Boot Loader,将程序拷贝到Ram中并在Ram中执⾏;(6)Exception地址确定了程序拷贝到Ram中的位置,Exception地址的低位总是0x20,NiosII处理器跳转到Ram执⾏时先执⾏低位地址为0x00的指令(⽤于初始化指令cache),之后执⾏低位地址为0x20处的系统启动代码。

NIOS II 常见问题总结

NIOS II 常见问题总结

NIOS II 常见问题总结1. 怎样在TCL脚本分配管脚source .tcl 有点问题:# source stratix_pin_assign.tclcouldn't read file "stratix_pin_assign.tcl": no such file or directory答:From the Tools menu select Tcl Scripts, and then from the project folder choose the setup script for your particular development board, and click Run.2.D:\TEST\nios_sst60下载时出现错误:Error: Can't configure device. Expected JTAG ID code 0x020010DD for device 1, but found JTAG ID code 0x020B40DD.答:SOPC所选器件和开发板上的不一致。

3.在NOIS II中Bulid例程hello_world都出现了错误,错误提示为:gdrive/c/altera/kits/nios2/components/altera_nios2/HAL/src/alt_busy_sleep.c:68: error: parse error before '/' token等错误全部由alt_busy_sleep.c引起,都是关于括号不匹配的问题,而alt_busy_sleep.c是IDE中的一个默认程序。

这个错误同样出现在D:\TEST\DE2Project\software\nios2 ,培训用的一个简单实验。

答:找到system.h文件,里面有个关于系统时钟频率的设置项,应该是没有赋值,你手动赋值。

EDA(电子设计自动化)教程

EDA(电子设计自动化)教程

➢ Used to Ensure Hardware/Software Version
Synchronization
➢ Simple 2 read-only register peripheral containing
hardware ID tags.
• Register 1 contains random number
• Register 2 contains time and date when system was
generated in SOPC Builder
➢ Can be checked at runtime to ensure that the software to
be downloaded matches the hardware image
▪ Support for DDR/DDR2 in SOPC Builder GUI ➢ With burst adapter • Sequential master to interleaved slave enhancement ➢ Separate READ/Write duplex slaves • Automatically matches address of read/write slaves • Arbitration logic connects read/write masters to both slaves
7
7.1 Nios Ⅱ嵌入式处理器简介
▪ Nios II提供3种不同的内核,以满足系统对不同性能和成本的需求。
表7-2 Nios Ⅱ系列处理器的成员
最高性能的优化
平衡性能和尺寸
最小逻辑占用的优化
8
7.1 Nios Ⅱ嵌入式处理器简介

基于Nios II的电子时钟设计

基于Nios II的电子时钟设计

电路设计EDA期末设计报告设计题目:基于Nios II的电子时钟设计学号:姓名:2011年12月目录摘要 (3)第一章设计要求与软硬件规划 (3)1.1 系统功能 (3)1.2 硬件系统组成规划 (3)1.2.1 需要的硬件设备 (3)1.2.2 端口定义 (4)1.2 软件系统规划 (4)1.2.1 显示部分 (4)1.2.2 设置部分 (5)1.2.3 软件系统规划 (5)1.2.4 电子钟主程序流程图 (5)1.2.5 程序的设计说明 (6)第二章硬件部分设计 (7)2.1 创建工程 (7)2.2 创建Nios Ⅱ系统模块 (8)2.3 添加CPU和外围器件 (9)2.3.1 添加Nios Ⅱ32bit CPU (9)2.3.2 添加JTAG UART Interface (10)2.3.3 添加定时器 (11)2.3.4 添加外部存储Flash接口 (12)2.3.5 添加外部RAM接口 (12)2.3.6 添加外部RAM总线 (13)2.3.7 添加Button PIO (13)2.3.8 添加重新配置请求PIO (15)2.3.9 添加LCD Display (15)2.4 指定基地址 (15)2.5 系统设置 (16)2.6 生成Nios Ⅱ系统模块 (17)2.7 将Nios Ⅱ系统模块的符号添加到BDF文件 (17)2.8 配置FPGA (18)第三章软件部分设计 (19)3.1 创建工程 (19)3.2 建立源文件time.c和头文件time.h (22)3.2.1 创建源文件time.h (22)3.2.2 将程序和硬件下载到外部Flash中 (24)3.2.3 关键变量说明 (25)3.2.4 操作lcd 的设计 (25)3.2.5 Button PIO以中断的设计 (25)3.2.6 time.h的设计 (26)3.2.7 time.c源码设计 (26)第四章结束语 (29)参考文献 (29)摘要本文介绍基于Nios Ⅱ的电子时钟的设计方法,在文章中主要分为硬件设计和软件设计两个部分。

SOPC_流程图

SOPC_流程图

一、打开电脑,找到Quartues Ⅱ图标;双击打开:二、打开软件后,新建项目:File/New Project Wizard…选择目录;选择器件;完成。

三、新建空原理图文档:四、打开SOPC Builder,设计Nios处理器。

Tools/SOPC Builder…编辑系统名称,注意不能与原理图文档重名;点击OK。

五、添加CPU和外设。

步骤一,添加CPU,点击左边元件库,添加Nios II Processor。

选择标准型;Reset Vector和Exception Vector等到设置完存储器之后再设置;点击Next,Instruction Cache可以设置8kb;Jtag Debug Module中,选择Levev1即可。

点击Finish结束。

步骤二,添加定时器。

元件库中找到Interval Timer,Preset选择Full-featured:点击Finish,完成添加。

步骤三、添加三态总线桥。

点击Finish,完成。

步骤四、添加SDRAM控制器。

Presets选择Custom,我们选用自己的存储器;Data width选择16位;Chip select选择2;Row选择13,Column选择9;点击Finsh,结束。

这些设置和硬件的设置有关,由硬件决定。

步骤五、添加Flash存储器:地址宽度选择25;数据宽度选择16;注意,建立之后,与三态桥总线进行连接。

步骤六、添加串口Uart。

无需更改,点击Finish,完成。

步骤七、添加PIO:添加按键接口;宽度为4;输入模式;点击Next,设置触发方式:设置为上升沿触发;设置为边沿中断;同理,设置Led的PIO接口:宽度为4,输出模式;点击Finish,设计完成;步骤八、添加Systerm ID:点击Finsh,设计完成;步骤九、锁定Flash地址。

修改Flash中的基地址为0x00000000后,点击锁定图标。

为外设重命名。

步骤十、修改cpu复位向量和异常向量:步骤十一、调整外设地址及IRQ System/Auto-Assign Base Addresses;System/Auto-Assign IRQ;步骤十二、生成系统点击next,点击Generate。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Nios II 嵌入式系统
黄树蔚
主要内容
Nios II嵌入式系统简介 使用SOPC Builder建立嵌入式系统 Nios II处理器软件的建立和调试 在Avalon-MM互联架构中加入定制外设 在Nios II指令集中加入定制指令
Nios II嵌入式系统简介
SOPC(可编程芯片系统)是Altera 公司提出来的 一种灵活、高效的SOC 解决方案。它将处理器、 存储器、I/O 口等等系统设计需要的部件,集 成到一个FPGA器件上,构建成一个可编程的片 上系统。它是可编程系统,具有灵活的设计方 式,可裁减、可扩充、可升级,并具备软硬件 在系统可编程的功能。
Nios II/f Stratix III Stratix II HardCopy Stratix II HardCopy Stratix Stratix Cyclone III Cyclone II Cyclone 300 DMIPS@266 MHz EP3SL70F484C2 251 DMIPS@222 MHz EP2S60F1020C3 228 DMIPS@202 MHz HC2300F1020C5 166 DMIPS@147 MHz EP1S80F1020C5_HC 168 DMIPS@148 MHz EP1S80F1020C5 165 DMIPS@163 MHz EP3C40F324C6 144 DMIPS@142 MHz EP2C20F484C6 130 DMIPS@134 MHz EP1C20F400C6 Nios II/s 128 DMIPS@200 MHz EP3SL70F484C2 110 DMIPS@171 MHz EP2S60F1020C3 129 DMIPS@202 MHz HC2300F1020C5 84 DMIPS@131 MHz EP1S80F1020C5_HC 82 DMIPS@128 MHz EP1S80F1020C5 68 DMIPS@136 MHz EP3C40F324C6 55 DMIPS@111 MHz EP2C20F484C6 53 DMIPS@121 MHz EP1C20F400C6 Nios II/e 50 DMIPS@322 MHz EP3SL70F484C2 44 DMIPS@285 MHz EP2S60F1020C3 49 DMIPS@321 MHz HC2300F1020C5 27 DMIPS@176 MHz EP1S80F1020C5_HC 27 DMIPS@172 MHz EP1S80F1020C5 17 DMIPS@190 MHz EP3C40F324C6 18 DMIPS@193 MHz EP2C20F484C6 17 DMIPS@173 MHz EP1C20F400C6
在Nios II指令集中加入定制指令
对定制指令,接口信号名称必须完全与要求一 致,所以开发定制指令要使用定制指令模板。
E:\altera80\nios2eds\examples\verilog(vhdl)\custom_ instruction_templates
将定制好的指令逻辑导入后编译,Nios II IDE 会自动生成访问定制指令的宏,用户可以像调 用任何一个函数一样来使用定制指令。
用SOPC B和编译设计
Nios II处理器软件的建立和调试
System.h
含有系统参数的宏定义
-外设硬件配置 -基地址 -IRQ优先级 -外设符号名称
当以名称调用外设时只需将其包含在应 用代码中。
Nios II 外设头文件
每一个Nios II外设对每一个寄存器提供特定的 读写宏命令。建议使用外设特定的寄存器读写 宏命令来增加代码的可读性。
定制外设的硬件组成
定制外设的硬件组成
任务逻辑。任务逻辑实现外设的基本功能,是 必不可少的组成部分。 寄存器文件。寄存器文件部分提供任务逻辑和 外界交换信息的桥梁。有了寄存器文件,用户 就可以通过Avalon接口采用“基地址+地址偏 移量”的方法来访问外设内部的各个寄存器。 Avalon接口。Avalon接口为寄存器文件提供了 一个标准的Avalon前端,让SOPC使用Avalon规 定的信号来访问寄存器 。
Nios II 还支持
此外Nios II 还提供各种RTOS的支持 (uclinux,uC/OS-II,MicroC/OS-II)。 其中MicroC/OS-II目前包含在Nios II 软 件包中供用户评估使用。
Nios II 的硬件加速
嵌入式CPU的运算能力较差,有些算法在 嵌入式处理器中使用软件实现无法达到 实时性的要求。 考虑采用硬件来实现硬件加速。 Altera在2006年推出了C2H compiler,可 以直接将C语言代码转化为硬件。
Nios II软核处理器体系结构
标准流水线RISC机 32个通用寄存器 3种指令格式 32位数据通路 指令和数据高速缓冲分开 32个外部中断 片内硬件(乘法,移位,循环) 定制指令 基于JTAG的硬件调试单元
Nios II 处理器版本
CPU变化时无需改变软件代码
Nios II 性能指标(DMIPS@Fmax)
Nios II嵌入式系统简介
在很多对速度的要求不是很高的低端应用, Altera 将一个软核放入FPGA中,这个软核就是 NiosII,它只占芯片内部很少的一部分逻辑单 元,成本很低。 Nios II系统是指包含Nios II软核处理器和UART, SPI,定制外设等外设集合的系统。
典型的NiosII系统体系结构
定制外设的软件驱动
除了开发定制外设的硬件部分,还需要 为用户定制的外设准备软件驱动。 常用的方法是定义一个访问定制外设中 各个寄存器的读写宏命令的头文件,并 把头文件手动加入到工程当中。
在Nios II指令集中加入定制指令
采用Nios处理器的定制指令,可以把用户自定义的功 能直接添加到Nios CPU的算术逻辑单元。 充分利用FPGA的灵活性,可以定制多达256条定制指 令。 实质是将部分功能转化为硬件实现,并以定制指令的 方式加入,提升系统性能。 适用于转化为定制指令的是那些计算密集型的功能如: 数据流处理,音频解码,软件循环优化等。
Nios II 的硬件加速
C2H Compiler只对整个函数实施硬件加 速。 不支持含有浮点型指针或者递归算法的C 语言代码的硬件加速。
Nios II C2H 编译器
Nios II IDE中右键单击加速C函数
在Avalon-MM互联架构中加入定制外设 加入Nios II系统中没有的外设。 定制外设映射至Nios II 存储空间。 定制外设可以是片内的功能单元,也可 以是连接到片外设备的控制器或简单接 口。
谢谢大家!
相关文档
最新文档