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处理器嵌入到他们的系统中。
在不到三年的时间里,有超过12,000块Nios开发套件售出,第一代的16位Nios处理器已成为可编程逻辑设计中软核嵌入式处理器的标准。32位的Nios II嵌入式处理器建立在成功的第一代的Nios处理器的基础上,它不仅提供更高的性能、更低的成本(即更少的逻辑资源占用率),还提供了齐全的软件开发工具以及更高的系统灵活性。
表1列出了Nios II处理器的特性。表2列出了Nios II系列成员。表3列出了Nios II嵌入式处理器支持的FPGA系列。
| 表1. Nios II嵌入式处理器系列概述 |
| 种类 |
特性 |
| CPU 结构 |
32位指令集 |
| 32位数据线宽度 |
| 32个通用寄存器 |
| 32个外部中断源 |
| 2G Byte寻址空间 |
| 片内调试 |
基于边界扫描测试(JTAG)的调试逻辑,支持硬件断点,数据触发,以及片外和片内的调试跟踪 |
| 定制指令 |
最多达256个用户定义的CPU指令 |
| 软件开发工具 |
Nios II 的集成化开发环境(IDE) |
| 基于GNU的编译器 |
| 硬件辅助的调试模块 |



可配置的软核嵌入式处理器的优势
嵌入式开发人员面对的一个最大挑战就是如何选择一个适合他们应用需求的处理器。现今已有数百种嵌入式处理器——每种都具备一组不同的外设、存储器、接口和性能特性,工程师很难做出一个合理的选择:要么选择在某些性能上多余的处理器(为了匹配实际应用所需的外设和接口要求等等),要么为了保持成本的需求而达不到原先预计的理想方案。
随着Nios II软核处理器的推出,工程师可以轻松创建一款“完美”的处理器,无论是外设、存储器接口、性能特性以及成本。这些优势的都借助于在Altera的FPGA上创建一个定制的片上系统,或者,更精确的说是一个可编程单芯片系统(SOPC)。SOPC设计师由此而得到了产品特性上的多功能性,以及性能、成本、生存周期上的优势。
更多关于嵌入式软核处理器的基本概念等信息,请参考Nios II处理器参考手册中的简介。

提供合理的性能组合
使用Altera Nios II处理器和FPGA,设计师可以创建一个在处理器、外设、存储器和I/O接口方面的完美方案。选择如下:
- 三种处理器内核——Nios II开发人员可以选择一个或任意以下三种内核的组合:快速的内核(NiosII/f)具备高性能,经济的内核(NiosII/e)具备低成本,或标准的内核(NiosII/s),用于性能和尺寸的平衡。
- 超过60种SOPC Builder配备的内核——设计师可以创建一组适合他们应用的外设、存储器和I/O接口。现成的嵌入式处理器可以快速地嵌入Altera的FPGA中,工程师在任何时候都可以得到最适合他们的需求。。
- 无限的DMA通道组合——直接存储器存取(DMA)可以连接到任何外设从而提高系统的性能。
- 可配置的硬件及软件调试特性——软件开发人员具有多个调试选择,包括基本的JTAG的运行控制(运行、停止、单步、存储器等等)、硬件断点、数据触发、片内和片外跟踪、嵌入式逻辑分析仪。这些强大的工具可以在开发阶段使用,一旦调试通过后再去掉,从而使设计者使用的是一个较小的和便宜的器件。

嵌入式开发人员必须选择一款处理器,以此决定合适的系统性能。设计人员通常都会选择一个更高性能的处理器(意味着更高的成本)这个处理器比实际所需的性能要高,从而保留一个安全的性能上的余量。Nios II系统的性能是可以根据应用来裁减的,相比固定的处理器,在较低的时钟速率下,具备更高的性能。Nios II的特性可以在以下几个方面来提升系统的性能:
- 多CPU内核——Nios II开发者可以选择最快的内核(NiosII/f)以获得高性能,还可以通过添加多个处理器来获得所需的系统性能。
- FPGA系列——Nios II处理器可以工作在所有近来Altera推出的FPGA系列上。尤其是在Stratix II器件上,Nios II/f 内核超过200 DMIPS的性能,仅占用1,800 逻辑单元(LE)。在更大的器件上诸如Stratix II EP2S180 器件,一个Nios II的内核只占用了百分之一的可用逻辑资源,这些微量的资源差不多仅仅处Quratus II设计软件资源使用的波动范围之内,可以说用户几乎是免费得到了一个200 DMIPS性能的处理器。
- 多处理器系统——许多开发人员使用Nios来扩充外部的处理器,为了维持系统的性能而分担其任务。其他一些开发人员在FPGA内部实现多个处理器内核。设计人员还可以通过将多个NiosII/f内核集成到单个器件内,获得极高的性能而不用重新设计印刷电路板(PCB)。Nios II的IDE也可以支持这种多处理器在单一FPGA上的开发,或多个FPGA共享一条JTAG链。
- 定制指令——定制指令一个扩展处理器指令的方法,最多达256个针对应用的操作(见图1)。定制指令处理器处理复杂的算术运算和加速逻辑的最佳途径。例如,将一个在64K字的缓冲区实现的循环冗余码校验(CRC)的逻辑块作为一个定制的指令,要比用软件实现快27倍。
图1. Nios II 的定制指令

- 硬件加速——通过将专用的硬件加速器(见图2)添加到FPGA中作为CPU的协处理器,CPU就可以并发地处理大块的数据。例如上面用过的CRC的例子,处理一个64K字的缓冲区,比用软件快530倍。SOPC Builder设计工具中包含的一个引入向导,用户可以用这个功能来教加速逻辑和DMA通道添加到系统中。
图2. 硬件加速器


降低系统成本
嵌入式设计人员总是坚持不懈地寻找降低系统成本的方法。然而,选择一款处理器,在性能上和特性上总是与成本存在着冲突,最终结果总是以增加系统成本为代价。利用Nios II处理器可以通过以下途径来降低成本:
- 更大规模的系统集成——将一个或更多的Nios II处理器组合,选择合适的一组外设、存储器、I/O接口,这些方法减少电路板的成本、复杂程度以及功耗。
- 优化FPGA/CPU的选择——象Cyclone系列的FPGA提供可行的、低成本的嵌入式方案。经济型的内核(Nios II/e)只占用不到35美分的Cyclone器件资源,保留了更多的逻辑资源给其他片外的器件。使用仅仅600个逻辑单元,Nios II/e内核定位于一类新的应用,使得将软核处理器嵌应用于低成本的、需要低处理性能的系统中。小的CPU还使得在单个的FPGA芯片上嵌入多个处理器成为了可能。
- 更好的库存管理—嵌入式系统通常包含了来自多个生产商的多种处理器,以应付多变的系统任务。当一种器件多余而另一种短缺的时候,你会发现管理这些处理器的库存也是个问题。但是使用标准化的Nios II软核处理器,库存的管理将会大大简化,因为通过将处理器实现在标准的FPGA器件上,减少了处理器种类的需求。

应付产品的生命周期
开发人员希望快速将他们的产品推向市场,保持一个较长的产品生命周期,避免更新换代。基于Nios II的系统在以下几个方面可以帮助用户实现此目标:
- 加快产品的上市时间—— FPGA可编程的特性使其具有最快的产品上市时间。许多的设计“sins”通过简单的修改都可以被快速地实现到FPGA设计上。Nios II系统的这些灵活性和加速上市的特性源于Altera提供完整的开发套件、众多的参考设计、强大的硬件开发工具(SOPC Builder)和软件开发工具(Nios II IDE)。许多客户借助Nios开发套件所带的设计,在几个小时内就创建了设计的原型。由于将Nios II处理器放置于FPGA内部就可以验证外部的存储器和I/O组件,电路板设计得以显著地加速。
- 建立有竞争性的优势——维持一个基于通用硬件平台的产品的竞争优势是非常困难的。而创建一个SOPC系统且带有一个或多个Nios II 处理器,具备硬件加速、定制指令、定制的可裁减的外设等配置系统,给对手的超越制造了有效的障碍,具备了竞争的优势。
- 延长了产品的生存时间——抢先占领市场通常会使产品的完善程度低于实际的所需。使用Nios II处理器的SOPC产品带来的一个独特优势就是能够升级硬件的特性,即使产品已经交付给客户。同样,软件也可以定期升级。这些特性可以解决很多问题:
- 延长产品的生存时间,随着时间的增加,可以不断有新的特性添加到硬件中
- 减少由于标准的制定和改变而带来的硬件上的风险
- 简化了硬件缺陷的修复和排除,不再需要做RMA和其他重复工作
- 避免处理器的过时——嵌入式处理器供应商通常提供一个很宽的配置选择范围以适应不同的客户群。不可避免的是,某个或多个处理器有可能会因为生产计划等原因而停止供应或很难寻找。Nios设计人员拥有在Altera FPGA上使用和配置基于Nios的设计的永久许可。一个基于Nios的设计可以容易的被重新实现在新系列的FPGA器件中,从而保护了应用软件的投资。
- 在产品产量增加的情况下减少成本——一旦一个FPGA的设计被选定,并且打算进行大批量的生产,可以选择将它移植到Altera的HardCopy中,一种结构化的ASIC系列,从而减少了成本并提升性能——这仅需几周时间。Altera还可以提供Nios II处理器的ASIC制造许可,您可以将包含Nios II处理器、外设、Avalon交换式总线的设计移植到基于单元的ASIC中。

|