基于Nios Ⅱ内核的FPGA电路系统设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 Nios Ⅱ软核处理器

基于VHDL语言设计的可编程逻辑器件应用电路具有数据传送速度快的优点, 基于C语言设计的微处理器应用电路具有数据处理能力强的优点。如果希望应用电路同时具有数据传送速度快和数据处理能力强这两个优点, 则可联合使用可编程逻辑器件和微处理器这两种器件。

要联合使用可编程逻辑器件和微处理器, 必须先实现它们之间的通信。在需要完成高速数据传送的情况下, 这对电路板的设计和制作都提出了比较高的要求。Altera公司提出的数字系统SOPC解决方案使得处理器能够配置到可编程逻辑器件之中, 这样的处理器被称为软核处理器。

1.2.1 Nios Ⅱ软核处理器系统简介

Altera公司于2000年推出了能够配置到可编程逻辑器件之中的软核处理器系统, 它被称为Nios处理器。2004年, Altera公司又推出了升级产品——Nios Ⅱ软核处理器系统。Nios Ⅱ软核处理器是一种32位RISC嵌入式处理器, 具有超过200DMIP的性能, 在低成本的FPGA芯片中的实现成本只有几十美分。

Nios Ⅱ软核处理器系统的最大特点为它是一种软核、可配置的系统。可配置意味着处理器系统的组成和性能可以根据需要进行调整。如图1-1所示为开发软件中Nios Ⅱ软核处理器配置窗口的部分内容。

图1-1 Nios Ⅱ软核处理器的配置窗口

Nios Ⅱ软核处理器具有3种内核供用户选择, 它们分别为经济型内核“Nios Ⅱ/e”、标准型内核“Nios Ⅱ/s”和快速型内核“Nios Ⅱ/f”。快速型内核“Nios Ⅱ/f”具有最高的程序执行速度, 在200MHz系统时钟的情况下可以获得203DMIP的性能, 但是实现这样的内核将占用可编程逻辑器件1400~1800个逻辑单元。同样在200MHz系统时钟的情况下, 经济型内核“Nios Ⅱ/e”只能获得18DMIP的性能, 不过这时内核只占用可编程逻辑器件600~700个逻辑单元。

Nios Ⅱ软核处理器还可以通过添加硬件进一步提高程序的执行速度, 如可以添加硬件乘法器来实现乘法运算。在没有向Nios Ⅱ软核处理器中添加硬件乘法器时, 乘法运算将通过调用函数来完成;在向Nios Ⅱ软核处理器中添加硬件乘法器后, 乘法运算将通过硬件电路来实现。对于完成一项指定的操作, 使用硬件完成总是比使用软件完成快, 当然这需要使用额外的逻辑资源。

Nios Ⅱ软核处理器系统还提供了60多种处理器外围模块, 如图1-2所示。这些外围模块包括存储器、输入/输出接口和定时器等, 可供系统设计时选择。

图1-2 Nios Ⅱ软核处理器外围模块的配置窗口

创建Nios Ⅱ软核处理器系统的工具SOPC Builder被包含在可编程逻辑器件开发软件Quartus Ⅱ之中, 创建过程与在Quartus Ⅱ开发环境下利用原理图输入方法开发可编程逻辑器件的过程类似。

生成的Nios Ⅱ软核处理器系统可以利用Quartus Ⅱ开发环境提供的原理图输入方式与Qu-artusⅡ开发软件提供的其他基本电路单元、宏功能模块, 以及用户利用硬件描述语言产生的电路模块连接在一起, 实现系统集成, 并一起下载到一片可编程逻辑器件之中。

Nios Ⅱ软核处理器系统的最大特点为它是一种软核、可配置的系统。软核表示处理器的目标器件、可编程逻辑器件, 只有在下载设计文件后才具有处理器的功能。Nios Ⅱ软核处理器系统可以工作在Altera公司的Stratix、StratixⅡ、Cyclone、CycloneⅡ等系列的可编程逻辑器件上。

1.2.2 可配置软核处理器的优点

1. 提供合理的性能

基于处理器进行应用系统设计时, 设计者很难在众多的处理器芯片中选择到合适的芯片。因为处理器芯片的功能和技术指标是确定的, 为了满足某一些性能和技术指标, 常常不得不选择一种还具有多余功能的处理器芯片, 这就导致了产品成本的提高。若为了满足产品成本的要求, 常常又会使设计达不到理想的性能和技术指标。

采用Nios Ⅱ软核处理器系统, 设计者能够根据自己的想法来配置处理器系统, 包括选择合适的处理器内核、希望的外部设备, 以及处理器与外部设备之间的接口。设计者还能够在Nios Ⅱ软核处理器系统中集成自己专有的逻辑功能, 如浮点算术运算电路、数字信号处理(DSP)电路等。

2. 提升系统的性能

设计者不仅可以采用快速型内核“Nios Ⅱ/f”, 并添加硬件电路来提升Nios Ⅱ软核处理器系统的性能, 还可以通过在一个系统中添加多个处理器内核来提高应用系统的性能。

Altera公司现在提供多个系列的可编程逻辑器件, 既有包含大量逻辑资源的芯片, 又有经济、价廉的芯片。例如, 高性能的StratixⅡ系列的EP2S180芯片, 一个Nios Ⅱ软核处理器只占用这种芯片1%的逻辑资源, 这使得在一个可编程逻辑器件中能够实现多个Nios Ⅱ软核处理器系统, 这样便提高了应用系统的性能。

4. 延长产品的生命周期

使用Nios Ⅱ软核处理器进行应用系统设计可以从以下几个方面延长产品的生命周期。

首先, 在硬件方面, Nios Ⅱ软核处理器的目标器件为可编程逻辑器件, 它的可编程特性避免了专用集成电路设计制造周期长的缺点;在软件方面, Altera公司提供了完整的开发软件、大量的设计参考和调试电路。

其次, Nios Ⅱ软核处理器系统的软核、可配置特点使得用户能够容易地对应用系统的硬件电路部分进行升级。即使产品已经交给了用户, 仍然可以方便地进行升级。

最后, Nios Ⅱ软核处理器系统可以方便地移植到新的可编程逻辑器件中。例如, 当一个设计被确定, 并且准备大批量生产时, 可以选择将它移植到Altera公司的HardCopy(一种结构化的专用集成电路)上, 使成本降低。