有关NIOS II软核处理器的简介
有关NIOS II软核处理器的简介:
Altera 正式推出了Nios II系列32位RSIC嵌入式处理器。Nios II系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS,在Altera FPGA中实现仅需35美分。Altera的Stratix 、Stratix GX、 Stratix II和 Cyclone系列FPGA全面支持Nios II处理器,以后推出的FPGA器件也将支持Nios II。
自Altera于2000年推出第一代16位Nios处理器以来,已经交付了13000多套Nios开发套件,Nios成为最流行的软核处理器。刚推出的Nios II系列采用全新的架构,比第一代Nios具有更高水平的效率和性能。和第一代相比,Nios II核平均占用不到50%的FPGA资源,而计算性能增长了1倍。
Nios II系列包括3种产品,分别是:Nios II/f(快速)——最高的系统性能,中等FPGA使用量;Nios II/s(标准)——高性能,低FPGA使用量;Nios II/e(经济)——低性能,最低的FPGA使用量。这3种产品具有32位处理器的基本结构单元——32位指令大小,32位数据和地址路径,32位通用寄存器和32个外部中断源;使用同样的指令集架构(ISA),100%二进制代码兼容,设计者可以根据系统需求的变化更改CPU,选择满足性能和成本的最佳方案,而不会影响已有的软件投入。
特别是,Nios II系列支持使用专用指令。专用指令是用户增加的硬件模块,它增加了算术逻辑单元(ALU)。用户能为系统中使用的每个Nios II处理器创建多达256个专用指令,这使得设计者能够细致地调整系统硬件以满足性能目标。专用指令逻辑和本身Nios II指令相同,能够从多达两个源寄存器取值,可选择将结果写回目标寄存器。同时,Nios II系列支持60多个外设选项,开发者能够选择合适的外设,获得最合适的处理器、外设和接口组合,而不必支付根本不使用的硅片功能。Nios II系列能够满足任何应用32位嵌入式微处理器的需要,客户可以将第一代Nios处理器设计移植到某种Nios II处理器上,Altera将长期支持现有FPGA系列上的第一代Nios处理器。另外,Altera提供了一键式移植选项,可以升级至Nios II系列。Nios II处理器也能够在HardCopy器件中实现,Altera还为基于Nios II处理器的系统提供ASIC的移植方式。
Nios II处理器具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。设计者能够用Altera Quartus II开发软件中的SOPC Builder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加Nios II处理器核的数量。
使用Nios II软件开发工具能够为Nios II系统构建软件,即一键式自动生成适用于系统硬件的专用C/C++运行环境。Nios II集成开发环境(IDE)提供了许多软件模板,简化了项目设置。此外,Nios II开发套件包括两个第三方实时操作系统(RTOS)——MicroC/OS-II(Micrium),Nucleus Plus(ATI/Mentor)以及供网络应用使用的TCP/IP协议栈。长期以来,Altera一直推行嵌入式处理器战略的原因是,随着应用的ASIC开发日益受到成本的困扰,OEM日渐转向FPGA来构建自己的系统。这些系统中绝大多数需要一个处理器,而Altera正是为设计者提供了为FPGA优化的灵活的嵌入式处理器方案,可以满足16位和32位嵌入式处理器市场的需求。估计到2007年,该市场价值将到达110亿美元。
在FPGA中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用最新的技术。随着系统日益先进,基于标准处理器的方案会被淘汰,而基于Nios II处理器的方案是基于HDL源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设,获得恰好满足需求的处理器。
Nios II嵌入式处理器特性
嵌入式处理器Nios®II系列为Altera® FPGA和可编程片上系统(SOPC)的集成应用专门做了优化。表1详细描述了Nios II软核嵌入式处理器系列的特性,更多通用信息请参阅Nios II简介页面。
.clock (s1_clk), file://s1_clk为来自Avalon总线模块上的S1端口的时钟信号
.aclr (s1_reset), file://s1_reset为来自Avalon总线模块上的S1端口的复位信号
.q (s1_readdata), file://s1_readdata为流向Avalon总线模块的S1端口的32位数据
.address (s1_address) file://s1_address为来自于Avalon总线模块的S1端口的地址
);
file://控制寄存器读写端口(S2):
control_register the control_register
(
.clk (s2_clk), file://s2_clk为来自Avalon总线模块上的S2端口的时钟信号
.reset (s2_reset), file://s2_reset为来自Avalon总线模块上的S2端口的复位信号
.read (s2_read), file://s2_read为来自Avalon总线模块上的S2端口的读使能信号
.write (s2_write), file://s2_write为来自Avalon总线模块上的S2端口的写使能信号
.schipselect (s2_chipselect), file://s2_chipselect为来自Avalon总线模块上的S2端口的片选信号
.address (s2_address), file://s2_address为来自Avalon总线模块上的S2端口的地址
.readdata (s_readdata), file://s2_chipselect为流向Avalon总线模块上的S2端口的32位读数据
.writedata (s2_writedata) file://s2_writedata为来自Avalon总线模块上的S2端口的32位写数据
);
启动方案的软件设计
启动方案的软件设计目标是当系统复位后,在外部处理器向Nios II程序存储器和数据存储器传输数据的过程中,Nios II处理器运行要受到外部处理器的控制。当一切就绪后,外部处理器发出一条释放Nios II处理器的命令,接下来Nios II处理器就可以正常运行了。
软件部分主要就是存放在启动延迟模块中ROM的代码,此代码主要是检测启动延迟模块中控制寄存器2的第0位是否为1。若为1,则跳转到控制寄存器1中所存储的地址处执行。若设控制寄存器的基址为CONTROL_REG_BASE,为了减少代码量,这段代码容易用Nios II的汇编指令来实现,代码部分在此从略。
最后本方案在我们自己设计的一块开发板上经过测试,能够正确完成Nios II 处理器的启动。
结语
采用多处理器的系统虽然可以提高系统的性能,但传统的多处理器系统一般只出现在工作站及高端PC上,在嵌入式系统中由于其设计代价太高很少采用。本文设计了一种在多处理器系统中的Nios II软核处理器的启动方案,这个方案在外部处理器向Nios II的程序存储器和数据存储器加载数据时,可以控制Nios II处理器的启动。
在HardCopy II结构化ASIC中实现Nios II处理器
Nios® II系列嵌入式处理器具有三个处理器内核,可实现较大范围的嵌入式处理应用。这些软IP处理器内核可以工作在任何最新一代Altera® FPGA以及HardCopy®系列结构化ASIC上。设计人员可以选择使用高性能内核、低成本内核或者性价比合适的内核。Nios II系列处理器可实现如下任务:
做为系统处理器运行实时操作系统
实现复杂的状态机
分担现有处理器载荷
执行I/O和数据处理任务
加速数字信号处理(DSP)算法
在HardCopy II结构化ASIC中运行时,Nios II嵌入式处理器出众的处理能力满足了高性能片上系统(SOC)的要求。Nios II嵌入式处理器能够提供系统级处理器性能,实现处理器和系统功能以及逻辑在单个器件中的集成。HardCopy II结构化ASIC和Nios II嵌入式处理器结合使用能够满足计算、大容量存储、电信和网络应用的要求。
图1是单个HardCopy II结构化ASIC中多个Nios II处理器在数据处理和控制应用上的实例。
图1. HardCopy II器件中Nios II处理器进行数据处理
HardCopy器件设计流程使设计人员可以在一个FPGA中测试、验证其设计。然后将经过验证的设计递交给HardCopy设计中心,以没有风险的无缝移植方式在结构化ASIC中实现。HardCopy结构化ASIC是唯一能够实现在正式投产前,硬件功能在FPGA中验证以及系统软件在真实系统配置环境中进行设计、测试的器件。
由于设计在移交给Altera之前在FPGA中进行了测试,因此Altera从第一个原型开始就可以保证实现芯片的全部功能。
HardCopy II结构化ASIC体系结构
HardCopy II结构化ASIC基于Stratix II系列FPGA,在HardCopy II器件和Stratix II FPGA之间有多个原型选择。这取决于所需的HardCopy器件、I/O引脚和封装要求。HardCopy II器件具有高达350-MHz的性能,以Nios II处理器内核实现迄今为止最高的性能表现,而只消耗原型Stratix II器件的一半功率。
Stratix II器件结构中的嵌入式DSP模块也可以应用在HardCopy II器件中。这些DSP模块是对Nios II用户指令集和其他硬件加速单元的完美补充。DSP设计人员现在可以在高性能硬件DSP模块中生成DSP算法和复杂的数学程序,做为常用软件程序来访问或者做为Nios II CPU的用户指令来运行。设计人员可以方便灵活的实现高级软件设计,支持结构化ASIC中的并行硬件操作性能,而不需要进行额外的时钟加速。
HardCopy II器件的存储器可满足典型SOC的所有存储要求。每个最大9 M-RAM模块可提供64-K字节段。最大的HardCopy II器件含有576 K字节源码和数据存储。HardCopy II结构化ASIC还支持高速存储器接口,可使用最新的DDR2 SDRAM进行外部源码和数据存储。
低成本许可方式
Nios II系列嵌入式处理器以一次付清的方式进行许可,不需要对每个器件或每个工程支付额外的版税。Nios II许可允许在任何Altera器件中使用处理器内核,因此采用Nios II处理器和HardCopy II器件可为批量产品提供最具成本效益的解决方案。
Nios II许可通常做为Nios II开发包的一部分进行购买。现在可应用于Stratix®、Stratix II 和 Cyclone™ 器件系列,开发包含有Quartus® II FPGA设计软件和Nios II集成开发环境以及Nios II全部许可。所有的开发包都包括一块开发板及所需的电缆、电源,用户在打开包装后的几分钟内就可以使用Nios II处理器进行开发设计。
全面的SOPC解决方案
Altera的SOPC Builder自动系统开发工具为设计人员提供了强大的开发平台,可构成包括处理器、外设和存储器接口等常用系统组成的总线系统。
HardCopy II设计流程得益于采用了在FPGA原型阶段,FPGA设计文件生成时的SOPC Builder模块设计方法。基于模块的设计方法有助于Nios II处理器和其他IP模块同用户逻辑、用户指令和硬件加速器等典型高密度逻辑设计组成的集成。
Nios II外设和接口库页面上有适用于Nios II处理器的外设的更多详细信息
自Altera于2000年推出第一代16位Nios处理器以来,已经交付了13000多套Nios开发套件,Nios成为最流行的软核处理器。刚推出的Nios II系列采用全新的架构,比第一代Nios具有更高水平的效率和性能。和第一代相比,Nios II核平均占用不到50%的FPGA资源,而计算性能增长了1倍。
Nios II系列包括3种产品,分别是:Nios II/f(快速)——最高的系统性能,中等FPGA使用量;Nios II/s(标准)——高性能,低FPGA使用量;Nios II/e(经济)——低性能,最低的FPGA使用量。这3种产品具有32位处理器的基本结构单元——32位指令大小,32位数据和地址路径,32位通用寄存器和32个外部中断源;使用同样的指令集架构(ISA),100%二进制代码兼容,设计者可以根据系统需求的变化更改CPU,选择满足性能和成本的最佳方案,而不会影响已有的软件投入。
特别是,Nios II系列支持使用专用指令。专用指令是用户增加的硬件模块,它增加了算术逻辑单元(ALU)。用户能为系统中使用的每个Nios II处理器创建多达256个专用指令,这使得设计者能够细致地调整系统硬件以满足性能目标。专用指令逻辑和本身Nios II指令相同,能够从多达两个源寄存器取值,可选择将结果写回目标寄存器。同时,Nios II系列支持60多个外设选项,开发者能够选择合适的外设,获得最合适的处理器、外设和接口组合,而不必支付根本不使用的硅片功能。
Nios II系列能够满足任何应用32位嵌入式微处理器的需要,客户可以将第一代Nios处理器设计移植到某种Nios II处理器上,Altera将长期支持现有FPGA系列上的第一代Nios处理器。另外,Altera提供了一键式移植选项,可以升级至Nios II系列。Nios II处理器也能够在HardCopy器件中实现,Altera还为基于Nios II处理器的系统提供ASIC的移植方式。
Nios II处理器具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。设计者能够用Altera Quartus II开发软件中的SOPC Builder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加Nios II处理器核的数量。
使用Nios II软件开发工具能够为Nios II系统构建软件,即一键式自动生成适用于系统硬件的专用C/C++运行环境。Nios II集成开发环境(IDE)提供了许多软件模板,简化了项目设置。此外,Nios II开发套件包括两个第三方实时操作系统(RTOS)——MicroC/OS-II(Micrium),Nucleus Plus(ATI/Mentor)以及供网络应用使用的TCP/IP协议栈。
长期以来,Altera一直推行嵌入式处理器战略的原因是,随着应用的ASIC开发日益受到成本的困扰,OEM日渐转向FPGA来构建自己的系统。这些系统中绝大多数需要一个处理器,而Altera正是为设计者提供了为FPGA优化的灵活的嵌入式处理器方案,可以满足16位和32位嵌入式处理器市场的需求。估计到2007年,该市场价值将到达110亿美元。
在FPGA中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用最新的技术。随着系统日益先进,基于标准处理器的方案会被淘汰,而基于Nios II处理器的方案是基于HDL源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设,获得恰好满足需求的处理器。
Nios II嵌入式处理器特性
嵌入式处理器Nios®II系列为Altera® FPGA和可编程片上系统(SOPC)的集成应用专门做了优化。表1详细描述了Nios II软核嵌入式处理器系列的特性,更多通用信息请参阅Nios II简介页面。
表1. Nios II嵌入处理器系列特性
特性 说明
设计流程及工具
硬件开发工具 本页面详列了搭建Nios II处理器硬件系统所用到的开发工具。
软件开发工具 本页面提供了Nios II集成开发环境(IDE)的相关信息,这是一种开发人员广泛应用的,包含编辑、编译和调试应用软件等功能的集成开发环境。
开发套件 Altera及其合作伙伴提供了大量应用了NiosII系列嵌入式处理器的开发板套件。
系统级设计流程 Altera的SOPC Builder工具提供了快速搭建SOPC系统的能力,这种架构可以是包含一个或几个CPU,提供存储器接口,外围设备和系统互连逻辑的复杂系统。
构架及特性
Nios II处理器核 Nios II处理器系列由三个不同的内核组成,可以灵活地控制成本和性能,从而拥有广泛的应用空间。
JTAG调试模块 JTAG调试模块提供了通过远端PC主机实现Nios II处理器的在芯片控制、调试和通讯功能,这是Nios II处理器的一个极具竞争力的特性。
用户指令 开发人员可以在Nios II CPU 核内增加硬件,用以执行复杂运算任务,为时序要求紧张的软件提供加速算法。
外围设备及接口 Nios II开发套件包括一套标准外围设备库,在Altera的FPGA中可以免费使用。
Avalon™交换式总线 Avalon交换式总线在处理器、外围设备和接口电路之间实现网络连接,并提供高带宽数据路径、多路和实时处理能力。Avalon交换式总线可以通过调用SOPC Builder设计软件自动生成。
设计资源
Nios II处理器支持 Nios II处理器支持页面提供了对Nios II 设计者有帮助的多种信息,其中包括使用许可、下载、参考设计、文档资料、在线展示及常见问题。
嵌入式处理器方案中心 嵌入式处理器方案中心提供了大量的信息以帮助开发人员应用Altera的嵌入式处理器实现系统设计。可获取的信息有器件支持、软件开发工具,外围设备及接口、培训、技术支持和资料。
Nios续订信息 Nios II开发套件包括一年期的CPU、外设和嵌入式软件开发工具的升级许可。(其中不包括Quartus® II软件的升级。)客户可以通过Nios续订程序每年订购包括Nios II 处理器的升级等额外信息。
Nios II嵌入式处理器问与答页面 此页提供Altera Nios II系列嵌入式处理器的常见问题及解答。
Stratix® II器件及Nios II处理器系列 Stratix II器件结构的优异特性和Nios II嵌入式处理器系列相结合,提供了无与伦比的处理能力,满足网络、通信、数据信号处理(DSP)应用、海量存储及其他高带宽系统的应用需求。
Stratix器件及Nios II处理器系列 Stratix FPGA结构的优异特性和Nios II嵌入式处理器相结合,提供了很高的处理能力,满足高带宽系统应用需求。
Cyclone™器件及Nios II处理器系列 在Cyclone器件中应用Nios II嵌入式处理器系列,降低了成本,提高了灵活性,在价格敏感应用环境中给低成本分立式微处理器提供了一个理想的替代品。