欣欣学习网,老工程师带你学习单片机技术,欢迎来坐坐。
首  页 | 学习NIOSII | 学习C51 | 学习CPLD | 51+CPLD实验板 | | | MY-RTOS

这是个年代久远的项目,需要在 Windows Xp 上操作。建议在 Virtual Box 虚机上安装Windows Xp系统,使用更方便。

 开发板概述
 安装QuartusII6.0软件
 安装Nios II EDS6.0
 电源测试
 时钟与FPGA测试
 AS配置功能测试
 SDRAM测试
 Flash测试
 PS配置功能测试
 以太网接口测试
 Quartus II 使用入门
 安装ModelSim6.0SE
 使用ModelSim仿真
 使用ModelSim做后仿真
 观察FPGA内部信号
 NiosII处理器简介
 建立一个NiosII系统
 软件开发流程
 实现用户自定义外设
 实现用户自定义指令
 Flash 编程
 添加RTL8019以太网接口
 运行LwIP网络协议栈
 运行uClinux操作系统
 HDL 语言例程
 相关软件及技术文档


NiosII/FPGA学习板

NiosII处理器简介


Nios以及NiosII处理器是Altera公司为其FPGA产品配套开发的软核CPU。在逻辑功能上,它们是32位的精简指令集CPU;在实现方式上,它们是在FPGA上通过编程的方式实现的,这也是与传统的CPU的一个根本的差别。

2000年,ALtera公司推出第一代软核CPU--Nios,实现的载体为APEX系列FPGA,后期推出新型FPGA也都持它的实现。Nios包两个型号:16位Nios和32位Nios。这两个型的指令集是完全相同的,差别在于它们的总线宽度.。16位Nios的总线宽度为16bit,32位Nios的总线宽度为32bit。不过,按传统的CPU分类标准,它们都属于32位的CPU,因为们的处理字长都是32bit的,这与其总线宽度无关。16bit的Nios有着更小的体积,而32bit的Nios可以实现更高的性能,所以这两个型号分别针对着不同的应用。Nios CPU 可以实现50DMIPs的性能,最小体积为1000个LEs,和同一时期的其它嵌入式处理器相比,已属于高性能之列。

NiosII处理器是Altera公司在2004年推出的第二代软核CPU。同前一代软核CPU相比,NiosII有着更高的性能,更小的体积。其最大处理力是第一代软核的3倍,而小的体积只有550LEs,只有第一代软核的1/2大。NiosII有三个型号,分别为e型、s型、f型。它们分别是针对不同应用要求优化的。E型的体积最小,只有550个LEs;f型的性能最高,最大可以达到200DMIPs以上;s型又叫标准型,其体积与性能介于e型与f型之间。下表是一个实例对照表,通过它可以大致看出这三个型号的软核,在性能与体积上处于一个什么水平。不过应当注意,其中的测试结果是有条件的,不是绝对的。

NiosII的三个型号都是32位机,其总线宽度为32bit,总线结构为哈弗结构。它们指令集完全相同,所以,同一个软件可以不做任何的修改就可以三个型号间交换。它们的实现平台可以是Altera 的任何一款FPGA。

由于Nios和NiosII是在FPGA上实现的,所以先天的付予了它们很多独有的新特性,使之成为可裁剪、可调整、可补充的系统,更使其成为软硬件紧密融合的系统。

Nios/NiosII有着一个开放式的ALU,用户可以根据自己的需要对其进行补充,从而实现用户自己定义的指令。用户自定义指令在处理方式上同原有指令集中的指令是一样的,ALU面前它们一律平等,所以,在处理速度方面等同于原有指令;而用户自定义指令在专项处理方面要优于原有指令,因为它是有针对性的设计的,所以,应用用户自定义指令可以在不改变CPU主频的情况下大大提高系统处理能力。这个特性比较适合那些要求高处理速度,又不便于提高系统主频的场合。

Nios和NiosII的总线采用了哈佛结构,在很大程度上提高了系统的处理速度。由于系统的总线控制器是在FPGA中实现的,可以进行灵活的配置,在某些外设需要具有冯诺依曼特性时又可以把两套总线合二为一,从而在局部实现冯诺依曼结构,这样就使得系统总线兼有哈佛结的高效率与冯诺依曼结构的灵活性。Nios/NiosII系统总线自动对不同时钟域进行协调,可以使挂在总线上的组件工作在不同的主频下,使系统更为灵活。最新版的NiosII软核又增加了紧凑总线接口,可以让挂在其上的存贮设备工作在cache的速度。

NiosII软核从硬件上支持系统调试、程序下载、指令追踪、数据追踪,而不需要任何的boot程序。与NiosII配套的有四种Jtag调试模块,它们的调试功能有强有弱,占用资源有多有少,由用户根据需求自行选择。由于整个系统具有可重构性,所以,选择较强功能的调试模块不会造成系统资源的浪费,因为可以在调试工作完成以后对系统进行重构,去掉调试模块,释放其所占的资源。在其它的SOC系统中没办法把调试模块的功能做得太强,因为调试模块的选择是要折中考虑的,性能和资源占用是矛盾的,是鱼和熊掌的关系。

Nios/NiosII系统中的外设也具有可配置性,用户可以根据需求自主的选择要哪些外设,不要哪些外设,还可以自己建立外设加到系统中。相信很多人都遇到过这样的问题:对各家的芯片挑来选去也很难决定用哪个,因为没有一个完全符合要求,不是缺这个,就是少那个。也没办法,因为没有一个芯片是专门给你定做的。对于Nios/NiosII系统,完全没这个苦恼,因为系统当中有什么、没有什么是自己说了算,当然,如果不会设计相关的外设,又找不到现成的IP核来用则是另外一回事。

以上对Nios以及NiosII做了个简要的介绍,要想详细的了解还要自己动手实践。




管理员信箱: stonewayqi@hotmail.com

欣 欣 学 习 网

粤ICP备2023138008号