第9章SOPC系统构架_第1页
第9章SOPC系统构架_第2页
第9章SOPC系统构架_第3页
第9章SOPC系统构架_第4页
第9章SOPC系统构架_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章 SOPC系统构架 Nios II是软核处理器,可以借助开发工具对其进行配置,然后下载到可编程芯片中。其优势就是,可以根据设计需要选择处理器和外设,并进行灵活配置,组成SOPC系统。这里指的SOPC系统是包含NiosII软核处理器和UART、SPI、定制外设等外设集合的系统,如图9.1所示。9.1 Nios 处理器体系结构 Nios II实现了标准的有流水线支持的RISC处理器。它含有32个通用寄存器,采用3种指令格式和哈佛结构,使用独立的32位指令通路和32位数据通路,具有可配置的指令和数据Cache,具有特有的紧耦合存储器,使用专用通道连接片内存储器,为用户提供一种简单高效的存储器方

2、案。9.1.1 Nios II的内部寄存器 Nios II处理器包含32个通用寄存器、6个控制寄存器。该结构支持管理模式和用户模式,防止控制寄存器受到出错程序的破坏。9.1.1 Nios II的内部寄存器 1通用寄存器寄存器名字功能寄存器名字功能r0zero清零r16子程序要保存的寄存器r1at汇编的临时变量寄存器r17子程序要保存的寄存器r2函数返回值(低32位)r18子程序要保存的寄存器r3函数返回值(高32位)r19子程序要保存的寄存器r4传递给函数的参数r20子程序要保存的寄存器r5传递给函数的参数r21子程序要保存的寄存器r6传递给函数的参数r22子程序要保存的寄存器r7传递给函数的

3、参数r23子程序要保存的寄存器r8调用者要保存的寄存器r24et为异常处理保留r9调用者要保存的寄存器r25bt为程序断点保留r10调用者要保存的寄存器r26gp全局指针r11调用者要保存的寄存器r27sp堆栈指针r12调用者要保存的寄存器r28fp帧指针r13调用者要保存的寄存器r29ea异常返回地址r14调用者要保存的寄存器r30ba断点返回地址r15调用者要保存的寄存器r31ra函数返回地址9.1.1 Nios II的内部寄存器 2控制寄存器寄存器名字bit位意义: 31210ct10status保留UPIEct11estatus保留EUEPIEct12bstatus保留BUBPIEct

4、13ienable中断允许位ct14ipending中断发生标志位ct15cpuid唯一的处理器标识号9.1.2 Nios II存储器与I/O组织 NIos 体系结构采用哈佛结构,指令总线和数据总线分开。指令总线和数据总线均为遵循Avalon主端口规范的主端口,数据主端口可连接存储器和外设,指令主端口只连接存储器。NIos 处理器的存储器和I/O结构,如图9.3所示。 1存储器的访问 2Nios II系统的地址映射 3紧耦合存储器 4NIos 系统的寻址方式9.2 Nios II的异常处理 由于中断或需要立即响应的的处理器内部或外部事件需要离开正常程序执行流程,处理器需要这样的一种转换机制,这

5、就是异常。Nios II结构提供了一个简单的,非向量异常控制器来处理异常。异常处理是指响应异常所进行的处理,并且返回到异常产生前的程序执行状态。异常的类型,如图9.5所示。Nios II异常主要包含以下几类:硬件中断、软件陷阱、未实现指令和其它。9.2.1硬件中断 Nios II体系结构支持32个外部硬件中断irq0irq31,每个中断对应一个独立的中断通道,外设通过处理器32个中断输入通道请求产生硬件中断。硬件中断产生的条件是: (1)status寄存器中PIE位为1。 (2)中断输入请求irqn有效。 (3)ienable寄存器的相应位是1。9.2.2软件异常 当程序遇到软件陷阱指令时,将

6、产生软件陷阱异常。软件陷阱在程序需要操作系统服务时常用到,操作系统的异常处理程序判断产生软件陷阱的原因,然后执行相应任务。9.2.3NIos II的异常处理流程 产生异常时,处理器自动执行的处理流程,如图9.6所示。异常处理程序必须确定异常产生原因,然后转到相应的异常处理子程序。下面显示了一个确定异常产生的流程,如图9.7所示。9.3 算术逻辑单元和复位信号 Nios II的算术逻辑单元(ALU)可以对通用寄存器中的数据进行操作。9.3.1算术逻辑单元 ALU操作从寄存器中取一个或者两个操作数,并将运算结果存回到寄存器中。ALU支持的数据操作,如表9.5所示。种类细节描述算术运算ALU支持有符

7、号和无符号数的加、减、乘、除关系运算支持有符号和无符号数的等于、不等于、大于等于和小于(=,!=,=,)关系运算逻辑运算支持AND、OR、NOR和XOR逻辑运算移位运算支持移位和循环移位运算,每条指令中可以将数据移位和循环移为031位,支持算术右移、左移和逻辑右移、左移,还支持循环左、右移位9.3.2 复位信号 Nios II处理器支持两种复位信号,reset和cpu_resetrequest。reset是强制处理器核立即进入复位状态的全局硬件复位信号。cpu_resetrequest是可以让处理器核复位但不影响Nios II系统其它外设的局部复位信号。CPU复位后,Nios II处理器将执行

8、下列操作:9.4 JTAG调试模块 Nios II结构中包含JTAG调试模块,提供片上仿真部件,便于PC主机对处理器进行远程控制。PC机上的软件调试工具可以通过与JTAG调试模块通信,提供调试和诊断功能。例如, 把程序下载到存储器中。 启动和停止程序的执行。 设置断点和观察点。 分析寄存器和存储器。 采集实时的执行跟踪数据。9.5 Avalon总线 为了轻松、方便地连接处理器和片内/片外的外设,Altera开发了Avalon总线。这是构成SOPC的重要技术。在SOPC Builder添加外设时,Avalon总线会自动生成,还会随着外设的增加和删减而自动调整。对于普通用户,可以不必关心Avalo

9、n总线的细节,但对于开发外设的用户来说,需要了解Avalon互联规范,以便使自己设计的外设符合要求。9.5.1 Avalon互联规范 Avalon互联规范是Altera为Nios II处理器设计的专用互联规范。它描述了主从组件间的端口连接关系,以及组件间通信的时序关系。9.5.2 Avalon总线的概念 Avalon总线与传统的总线有显著的不同,用的许多术语和概念是全新的,这些构成了Avalon总线规范的概念框架。为了更好地理解Avalon总线规范,有必要说明相关术语和概念,以免混淆。 1Avalon信号 2Avalon外设 3主端口和从端口 4总线传输 5主从端口对 6总线周期 7流传输模式

10、 8延迟读传输模式 9Avalon总线模块9.5.3 Avalon总线信号 由于Avalon总线是一个由HDL文件综合而来,所以在连接Avalon总线模块和Avalon外设时需要考虑一些特别的问题,SOPC Builder必须准确地了解每个外设提供了哪些Avalon端口,以便连接外设与Avalon总线模块。还需要了解每个端口的名称和类型,这些信息都在系统ptf文件中定义。 1Avalon从端口信号 2Avalon主端口信号9.5.4 Avalon的中断与复位信号 Avalon接口提供系统级功能的控制信号,如中断请求信号和复位请求信号。这些信号与单个数据传输不直接相关。 1中断请求信号 2复位控制信号9.5.5 Avalon总线传输 Avalon总线规范定义了主端口和从端口之间通过Avalon总线模块传输数据所需的信号和时序。主传输与从传输的接口不同,因而主端口与从端口的信号定义不同。Avalon总线模块和外设接口之间的信号随着传输模式的不同而不同。此外,根据系统ptf文件的设置,所需信号的确切类型与数量也是可变的。为了满足不同类型外设的需要,Avalon总线规范提供了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论