基于NIOS2的SOPC系统构建

上传人:gg****m 文档编号:233972598 上传时间:2022-01-03 格式:DOCX 页数:31 大小:1.04MB
返回 下载 相关 举报
基于NIOS2的SOPC系统构建_第1页
第1页 / 共31页
基于NIOS2的SOPC系统构建_第2页
第2页 / 共31页
基于NIOS2的SOPC系统构建_第3页
第3页 / 共31页
基于NIOS2的SOPC系统构建_第4页
第4页 / 共31页
基于NIOS2的SOPC系统构建_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《基于NIOS2的SOPC系统构建》由会员分享,可在线阅读,更多相关《基于NIOS2的SOPC系统构建(31页珍藏版)》请在金锄头文库上搜索。

1、基于NIOS2的SOPC系统构建1 NIOS II体系结构Nios2处理器是Altera公司推出的32位RISC嵌入式处理器,它是SOPC的核心。具有 200DMIPS佣来计算同一秒内系统的处理能力,它的单位以百力来计算)以上的运算能力, 处理器以软核的形式实现,具有高度的灵活性和可配置性。Nios II系列包括三种产品:1 Nios II/f (快速):最共的系统性能,中等FPGA使用量;2 Nios II/s (标准):高性能,低FGPA使用量;3 Nios II/e (经济):低性能,最低的FGPA使用量。Nios II系列支持使用专用指令。专用指令是用户增加的硬件模块,它增加了算术逻笹

2、单 元(ALU)。开发者能为系统中使用的每个Nios II处理器创建多达256个专用指令,这使得 设计者能够细致地调整系统硬件以满足性能目标。专用指令逻辑和木身Nios II指令相同, 能够从多达两个源寄存器取值,可选择将结果写冋目标寄存器。同时,Nios II系列支持6() 多个外设选项,通过选择合适的外设,获得最合适的处理器、外设和接口纟R合,而不必支付 根木不使用的硅片功能。Nios II 特性:/全32位指令集、数据和地址路径;/32个通用寄存器;/32个外部中断源;/ 单指令32*32乘法器、除法器,可产生32位的结果;/专门用于计算64位和12X位乘法的指令;/用于单精度浮点运算的

3、浮点运算指令;/ 单指令筒形移位寄存器;/ 可以同很多片上外设、接口、片外存储器和片外外设接口;/使用IDE驱动硬件调试模块可以轻松的对处理器进行开始、停止、中断等操作;图l.l是Nios II处理器核的结构图,各模块将分别做简要介绍。Custom I/OSignalsJ7AG interface to software debugger图1.1 Nios II处理器核模块图数据处理主要由算术逻辑单元(ALU)完成,现有的Nios II内核中桝时没有协处理器。用 户逻辑接口 (Custom Instruction Logic)用来连接用户定制的逻辑电路与Nios II内核。在上 图中可以看出,

4、Nios II采用哈佛结构,数据总线和指令总线分开。为了调试方便,Nios II 处理器集成了一个JTAG调试模块,可以方便的与IDE环境联合调试。为了提高系统的整体 性能,Nios II内核不仅可以集成数据Cache和指令Cache,还带有紧耦合存储器TCM接口。TCM可以使Nios II处理器既能提高性能,又能获得可预测的实时响应。Nios II把外部硬件的中断事件交由中断控制器管理,内核异常事件交由异常控制器管理O1.1 Nios II的控制寄存器Nios II的控制寄存器共有6个,它们的读/写访问只能在超级用户态(Supervisor Model) 由专用的控制寄存器读/写指令(dct

5、l和wrctl)实现。表1.1是部分寄存器的名字和意义:表1.1各寄存器的名字和意义通用寄存器组寄存器助记符功能寄存器助记符功能rOzerorl6了程序要保存的寄存器rlat汇编中的临时变量rl7了程序要保存的寄存器r2函数返冋值(低32位)rl8子稈序要保存的寄存器r3函数返回值(高32位)rl9了稈序要保存的寄存器r4传递给函数的参数r20了程序要保存的寄存器r5传递给函数的参数21了稈序要保存的寄存器r6传递给函数的参数r22了稈序要保存的寄存器r7传递给函数的参数r23了程序要保存的寄存器r8调用者要保存的寄存器r24et为异常处理保留r9调用者要保存的寄存器r25bt为程序断点保留r

6、lO调用者要保存的寄存器r26gP全局指针rll调用者要保存的寄存器r27sp堆栈指针r!2调用者要保存的寄存器r28fp帧指针rl3调用者要保存的寄存器r29ea异常返冋地址rl4调用者要保存的寄存器r30ba断点返回地址r!5调用者要保存的寄存器r31ra函数返冋地址各寄存器的简要描述:K)或zero:总是存放0值,对它读写无效。Nios II没有专门的清零指令,所以常用它来对 寄存器清零。1或at:这个寄存器在汇编程序中常用作临时变量。2,3:用来传递4个非浮点参数给一个子稈序。3存放返I叫值的高32位。如果这两个寄 存器不够存放需要返I川的值,编译器将通过堆栈来传递。47:用来传递4个

7、非浮点参数给一个子稈序。4传递第一个参数,5传递第二个参数, 以此类推。如果这四个寄存器不够传递参数,编译器将通过堆栈来传递。815:习惯上,子程序可以使用其中的值而不用保存它们。但使用者必须记住,这些寄存 器里血的值可能被一次子程序调用改变,所以调用着有责任保护它们。1.2算术逻辑单元Nios II支持的算术逻辑操作有:算术运算:ALU支持有符号和无符号数的加、减、乘、除运算。关系运算:支持有符号和无符号数的=,!=,=,运算。逻辑运算:支持AND、OR、NOR和XOR逻辑运算。移位运算:支持移位和循环移位运算,在毎条指令中可以将数据移位和环移0到31位。支 持算术右移和算术左移,还支持左、

8、右循环移位。1.3复位信号Nios II处理器支持两个复位信号:reset和cpu_resetrequestreset:是一个强制处理器核立即进入复位状态的全局硕件复位信号。cpu_resetrequest:是一个可以让CPU复位但不影响Nios II系统其它外设的局部复位信乃。CPU复位后,Nios II处理器将执行下列操作: 清除状态寄存器status,使Z为0x0; 指令Cache与稈序存储雅的关联被置为无效,处理辭从固态稈序存储器(比如Flash)中 的reset地址处取得第一条指令; 从复位地址处开始执行稈序。1.4 Nios II处理器运行模式Nios II处理器有3种运行模式:

9、用八模式(User Mode);超级用户模(SupervisorMode); 调试模式(Debug Mode)。通常系统程序代码运行在超级用户模式。在V6.0版木以前的Nios II处理器部不支持用 户模式,永远都运行在超级用户模式。下图位三种模式Z间的切换:图1.2超级用户模式、调试模式、用户模式之间的切换。Nios II的异常处理流程如下:把status寄存器内容复制到estatus寄存器中,保存当前处理器状态T 清除status寄存器的U位为0,强制处理器进入超级用户状态夕 清除status寄存器的PIE位为0,禁止所有的硬件中断T 把异常返冋地址写入ea寄存器(r29); T跳转到异常

10、处理地址。1.5存储器及I/O结构存储器和I/O 口是一个系统不可缺少的部分,图1.3是Nios II这部分的结构图。紧耦合指令存储瞬程序计数器紧利合指令 存储器1Avalon转换结构紧耦合数据存储翻从 s 外通川寄存器文件紧耦介数据存値峑NH Avalon主端口PmI Avalon从端 口NiosII处理器 内核图1.3 Nios II存储器和10接I I模块图 注释:1.指令主端口2指令高速缓存3. 数据主端口4. 数据高速缓存5. 紧耦合指令或数据存储器端口这里只介绍紧耦合寄存器。紧耦合存储器(TCM):紧耦合存储器是一种紧挨着内核的快速SRAM,它不仅能改善系统 性能,而且保证了装载和

11、存储指令或数据的时间是确泄的。紧耦合存储器可向对性能要求严 格的应用提供低延迟访问。紧耦合寄存器与高速缓存相比具有的优点:1 性能类似于高速缓存;2. 软件能够保证将关键性能的代码或数据存放在紧耦合存储器中;3. 代码执行的确定性装载和存储指令或数据的时间是可预测的。实际上,紧耦合存储器是Nios II处理器内核上的一个独立的主端口,与指令或数据主 端口类似。Nios II结构指令和数据访问都支持紧耦合存储器。Nios II内核可以不包含紧耦 合存储器,也可以包含一个或多个紧耦合存储器。每个紧耦合存储器端口直接与具有固定的 低延迟的存储器相连,该存储器在Nios II内核的外部,通常使用FPG

12、A片内存储器。紧耦 合存储器与其它通过Avalon交换结构连接的存储器件一样,占据标准的地址空问。它的地 址范围在生成系统时确定。系统在访问指定的代码或数据时,能够使用紧耦合存储器来获得 最高性能。1.6寻址方式Nios II结构支持以下寻址方式有:寄存器寻址:所有的操作数都是寄存器,结果保存在寄存器中 移位寻址:寄存器和带符号的16位立即数相加的结果作为地址 立即数寻址:操作数是指令中的常量 寄存器间接寻址:使用了移位寻址,只是移位值是常量0 绝对寻址:范围有限制的绝对寻址使用带有寄存器rO (它的值始终是0x00)的移位寻址来实 现。2 NIOS2平台简要介绍Nios H集成开发环境仃DE

13、)是Nios H系列嵌入式处理器的基木软件开发工具。所有 软件开发任务都可以Nios II IDE下完成,包括编辑、编译和调试稈序。Nios II IDE提供 了一个统一的开发平台,用于所有Nios IT处理器系统。仅仅通过一台PC机、一片Altera 的FPGA以及一根JTAG下载电缆,就能够往Nios TT处理器系统写入程序以及和Nios IT 处理器系统进行通讯。Nios II IDE为软件开发提供四个主要的功能 工程管理器 编辑器和编译器 调试器 闪存编稈器2.1工程管理器The Nios II IDE提供多个工程管理任务,加快嵌入式应用程序的开发进度。新工程向导:Nios IT ID

14、E推出了一个新工稈向导,如图2.1所示,用于白动建立C/C+应 用程序工程和系统库工程。采用新T程向导,能够轻松地在Nios II IDE中创建新T程。J New ProjectC/C ApplicationCkk Rmsh to crate this project wth a defJt Ffttem bbryName: |上H闽P Use Default LocebonSelect TorQet HardwareSOPC Bidder Syrtem: |Z:/fer4/Ut 訥2/6(5呵中400匸CPU:|cpuSdect Project TerroteCout BinaryT Descnpbon字巴汽SrrcJe program th* pmFlash Tert$HetoLEDNHto-从 jfKin图2. 1 Nios II工程向导软件工程模板:除了工程创建向导,Nios II IDE还以工程模板的形式提供了软件代码实例, 帮助软件工程师尽可能快速地推出可运行的系统。Setect Project TerrpiateNTPObedt Teinet Server wC/OS-11 Message Box wC/OS-! MiXex wC/OS-I! Tutorial Webserver每个模板包括一系列软件文件和工

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号