基于成功的第一代Nios® 嵌入式处理器 ,Nios II系列嵌入式处理器提供三种处理器内核,定位于广泛的嵌入式处理器市场的不同应用。设计者可以选择以下三种内核:高性能的内核(超过200 Dhrystone MIPS(DMIPS))、低成本内核(低至35美分的逻辑占用)或性能/成本折中的标准内核。Nios II系列处理器可以实现的任务如下:
- 实现复杂的状态机
- 分担已有处理器的任务
- 执行I/O和数据处理任务
- 远程配置FPGA
- 加速数字信号处理(DSP)算法
Stratix® FPGA先进的架构特性配合Nios II嵌入式处理器,为所需的高带宽系统提供了无与伦比的处理能力,最大的Stratix器件包含79,040个逻辑单元(LE),所以多个Nios II处理器可以很容易的嵌入到单个Stratix器件中,非常适合网络、电信、数字信号处理器以及海量存储等应用。图1所示为多个Nios II处理器嵌入到单个Stratix FPGA中,用于包处理器的网络应用设计。
图1. 集成到Stratix II 器件中,用于I/O处理的Nios II 处理器

FPGA架构
Stratix FPGA的架构增强了Nios II嵌入式处理器的易用性和性能。Stratix器件中革新的MultiTrack™ 内连线架构彻底地提升了Nios II处理器的性能,使之超过150MHz。
为了说明这种架构的灵活性,我们有一个例子,它包括了一个Nios II/s 标准可配置的处理器核(不包括联合测试行动组(JTAG)调试核),一个JTAG UART,一个串行的UART,一个以太网器件借口,一些I/O外设(七段显示和LCD模块),一个片外8M字节Flash 存储器几口,一个1兆字节片外SRAM,和一个实现在Stratix EP1S40器件内部64K字节片内RAM,(注:这是Nios II开发套件具备的特性) 这个设计占用了3,104个逻辑单元(LE)(仅占用整个器件LE的7%),两个M512 RAM块(总共384块),11个M4K RAM块(总共183个块),还有八个9乘9的乘法器(总共112个)。这个设计显示了在Stratix器件中实现一个复杂系统时的资源的效率。
Stratix器件的TriMatrix™存储器定位于所有需要典型的可编程单芯片(SOPC)系统。Nios II处理器可以使用每个M-RAM块的64 K字节存储器作为数据和指令存储。Nios II CPU还有可选的指令和数据高速缓存。用户可以添加从512字节到64K字节的高速指令或数据缓存。而且,丰富的TriMatrix 存储器块可以用做加速片外存储器存取速度的片内高速缓存,这就非常有效的增加了嵌入式系统的软件的执行性能。
M-RAM块也可以级连,在Stratix EP1S80 FPGA中为Nios II处理器提供最多到567K字节的存储器。经过重新设计过的Stratix FPGA中的I/O单元含有片内终端匹配,并且支持差分的I/O标准(例如SSTL II),从而可以与外部存储器器件进行高速的数据交换,这些存储器可以双数据速率(DDR)SRAM和四倍数据速率(QDR)SRAM器件。
Nios II处理器还汲取了其他一些Stratix器件的独特特性。Nios II设计人员可以全部采用硬件来实现乘法操作(或者MUL操作——Nios CPU 最优化选项)——充分利用了Stratix FPGA系列嵌入式DSP块中的乘法器。与以前的器件系列相比这个特性增加了乘法器的性能,减少了使用的逻辑单元数量(举例来说,一个16乘16的整数的乘法操作如果在APEX器件中实现,需使用370个逻辑单元、并在两个时钟周期内完成),而同样的操作在Stratix器件中,如果使用DSP块来实现,不需要逻辑单元,只需1个时钟周期。
Stratix器件中的嵌入式DSP块为Nios II定制指令以及硬件加速单元提供了完美的补充。DSP设计师如今可以在高性能的硬件DSP功能块上实现DSP算法和复杂的算术子程序,然后在软件设计中像一个软件子程序一样来调用,或作为NiosII CPU的一条定制的指令来应用。例如,在一个用IP传输声音(VOIP)的应用中,回声消除算法就可以用硬件来实现并利用定制指令来直接调用。在FPGA中实现并行的硬件功能带来性能和维护上的好处,而这些都可以带给设计者用高级软件来设计的灵活性和轻便性。
Stratix器件及Nios II处理器:完整的SOPC方案
Stratix的架构非常适合基于模块化的设计,对于如今非常大的需要用到预优化的IP模块的系统设计,或要求重复使用已存在的设计模块的设计,Stratix FPGA是非常理想的选择。
Altera的SOPC Builder自动系统开发工具提供给设计师一个强大的平台,在这个平台上,将一些通用的系统组件诸如处理器、外设和存储器接口组建成一个基于总线的系统。用SOPC Builder生成的系统(如图2所示)都使用了预优化的IP功能块,他们的实现都借助于Stratix的先进架构。
图2. 典型的SOPC Builder生成的系统

Stratix的开发者可以通过SOPC Builder来添加系统组件,而不对系统性能造成实际的影响;这都得益于Quartus™ II软件的LogicLock™ 这种设计方法。SOPC Builder也替客户的硬件创建了一个仿真环境和一个测试激励,且可以使用Nios II集成化开发环境(IDE)。
SOPC Builder提供了许多可以定制的外设,客户可以在几分钟内将自己的想法变成一个完整功能的系统。这些外设包括:
- 中断控制器
- 直接内存存取(DMA)
- 并行I/O块
- 串行接口
- 存储器接口
Nios II IDE是一个完整的软件开发环境,可以完成所有的软件开发任务,诸如源程序编辑、编译和调试。
Nios II外设及接口页面包含了更多关于已有的用于Nios II处理器外设的详细信息。
