《嵌入式设计技术的工程方法》第3章基于niosii的.ppt
第三章 基于Nios II的SOPC设计技术,第一节 开发平台与开发流程,第二节 Nios II嵌入式软核处理器体系结构,第三节 Avalon总线规范,第四节 Nios II 外围设备(IP核),第五节 定制基于Avalon的用户外设,第六节 软件开发,第一节 开发平台与开发流程,一、开发平台,Quartus II SOPC builder Nios II IDE,用于完成Nios II系统的分析综合、硬件优化、适配、配置文件编程下载以及硬件系统测试等。,Nios II软核处理器开发包。用于Nios II系统的配置与生成。同时生成与Nios II系统相关的监控和软件调试平台。,完成基于Nios II系统的软件开发与调试,并可对Flash编程,二、开发流程,系统设计,进入SOPC Builder构建Nios II系统,IP复用思想选择Nios II处理器软核,配置选取需要的外设IP核,进行添加、配置添加用户“自主”IP核分配外设地址及中断号,设定复位地址生成Nios II系统模块(SOPC Builder自动将各模块连接到Avalon总线,实质:模块级建模,生成基于硬件描述语言的Nios II系统的顶层模块和逻辑符号)生成含有Nios II系统配置信息的PTF文件,在Nios II IDE 编译时,通过自动生成的system.h传递给应用程序。,进入Nios II IDE,创建软件工程,与硬件绑定。,Nios II IDE是一个基于Eclipse IDE架构的集成开发环境,包括:,GNU开发工具(标准GCC编译器,连接器,汇编器和Makefile工具等)基于GDB的调试器,包括软件仿真和硬件调试为用户提供外设驱动程序和硬件抽象层HAL用户快速入门的软件模板Flash下载提供嵌入式操作系统 MicroC/OS-II和LwTCP/IP协议栈的支持支持没有目标板情况下的基于Nios II指令仿真器(ISS)的代码调试,第二节 Nios II嵌入式软核处理器体系结构,Nios II处理器是Altera公司推出的第二代面向FPGA的、用户可配置的通用32位RISC软核(Soft-Core)微处理器。,一、概述,采用Nios II的优势,提高系统性能可供选择的多种处理器软核;易于实现多核架构;通过将处理器、外设、存储器和I/O接口集成到单一的FPGA中,降低系统成本、复杂性和功耗。,延长产品的生命周期易用的设计工具,使产品快速推向市场;永久的、免费的许可,避免处理器更新换代所带来的损失。,功能强大、易用的开发工具Quartus II、SOPC Builder支持用户快速搭建系统的硬件架构;Nios II IDE加速软件开发。,二、Nios II处理器结构,Nios II处理器核,程序控制器与地址生成,异常控制器,中断控制器,算术逻辑单元,通用寄存器r0r31,控制寄存器Ct10ct15,指令缓存,数据缓存,指令主端口,数据主端口,硬件辅助调试模块,JTAG,定制指令逻辑,定制I/O信号,irq31:0,时钟复位,紧耦合指令存储器,紧耦合数据存储器,Nios II处理器核,程序控制器与地址生成,异常控制器,中断控制器,算术逻辑单元,通用寄存器r0r31,控制寄存器Ct10ct15,指令缓存,数据缓存,指令主端口,数据主端口,硬件辅助调试模块,JTAG,定制指令逻辑,定制I/O信号,irq31:0,时钟复位,算术逻辑单元主要完成数据处理,目前没有协处理器。,定制指令逻辑用来实现用添加的指令,Nios II采用哈佛结构,数据总线和指令总线分开。,为调试方便,集成一个JTAG调试模块,紧耦合指令存储器,紧耦合数据存储器,Nios II处理器核,程序控制器与地址生成,异常控制器,中断控制器,算术逻辑单元,通用寄存器r0r31,控制寄存器Ct10ct15,指令缓存,数据缓存,指令主端口,硬件辅助调试模块,JTAG,定制指令逻辑,定制I/O信号,irq31:0,时钟复位,为提高系统的整体性能,Nios II内核不仅可以集成数据cache和指令cache,还带有紧耦合存储器TCM接口。,数据主端口,紧耦合指令存储器,紧耦合数据存储器,外部中断由中断控制器管理,内核的异常事件由异常控制器管理,Nios II的寄存器文件包括32个通用寄存器和6个控制寄存器。并允许将来增加浮点寄存器。,Nios II处理器软核有三种类型:,Nios II/f:高性能快速型,Nios II/e:低成本经济型,Nios II/s:性能、规模平衡的标准型,三、Nios II的通用寄存器,r0(zero):总是存放0值,写无效。Nios II无清零指令,常用它完成寄存器 清零操作。,32个32位r0r31,r1(at):在汇编程序中用作临时寄存器。,r2r3:存放函数的返回值,r3存高32位。不够用时,编译器通过堆栈传递。,r4r7:给子程序传递非浮点参数。不够用时,编译器通过堆栈传递。,r8r15:子程序可能破坏原值,所以,调用者有责任保护它们。,r16r23:子程序使用前保护,退出时恢复。,r24(et):异常处理时的临时寄存器。,r25(bt):程序断点处理时的临时寄存器。,r26(gp):全局指针,存放指向数据区的临时地址。即存取位于gp值上下 32KB范围的数据时,只需一条以gp作为基指针的指令。,r27(sp):堆栈指针。Nios II没有专门的出栈、进栈指令,在子程序入口 处,sp被调整指向栈底,然后以sp为基址,用寄存器基址+偏 移地址的方式来访问栈中的数据。,r28(fp):桢指针,习惯上用于跟踪栈的变化和维护运行时的环境。,r29(ea):保存异常返回地址。,r30(ba):保存断点返回地址。,r31(ra):保存函数返回地址。,四、Nios II的控制寄存器,6个32位ctl0ctl5,每个控制寄存器具有一个汇编程序能识别的名字。只有在管理模式下,用特殊指令rdctl和wrctl才能读写。,status(ctl0):复位时,清零。PIE位中断使能。“0”忽略外部中断;“1”外部中断能 否被处理取决于ienable(ctl3)的值。U位“0”管理模式;“1”用户模式。,ienable(ctl3):32路中断使能控制。每一位控制一个中断输入,“1”允许;“0”禁止。,Nios II能响应中断的条件?,一个中断请求irqn有效,PIE=1,并且 ienablen=1。,ipending(ctl4):中断登记。为“1”表示相应的 irqn 有效且在ienable 中已被允许。,cpuid(ctl5):系统创建时产生的处理器唯一标志符。常用于多处理器时 的识别。,estatus(ctl1):status的影子寄存器,在异常处理时保存status内容。异常处理程序检测estatus,可确定异常状态。异常处理程序返回时,将estatus复制回status。,bstatus(ctl2):status的影子寄存器,在断点处理时保存status内容。断点处理程序返回时,将estatus复制回status。,五、Nios II的操作模式,管理模式(超级用户模式)、用户模式和调试模式,系统程序:包括操作系统和底层的硬件驱动,一般运行在管理模式下。,应用程序:一般运行在系统程序所提供的服务之上。,当CPU复位后,立即进入管理模式。此时,status寄存器的U位为0,处理器定义过的功能基本上都是可用的,应用程序也可正常运行,但bstatus(ctl2)不可用,且通用寄存器bt和ba也不可用,虽可用其存储数据,但调试模式可能改变其值。,在用户模式下,status的U位为1,处理器提供的功能是一个受限子集。控制寄存器不可用;通用寄存器et、bt、ea、ba不可用,对其访问会产生异常;使用rdctl、wrctl、bret、eret、initd和initi指令都会产生异常。,调试模式为调试工具软件专用,此时,status的U位为0,所有资源可用。调试模式下,系统程序和应用程序均不能运行。,三种操作模式之间的转换,执行断点指令或JTAG调试模块通过硬件强制产生断点。,异常返回(eret)指令可使处理器从管理模式进入用户模式。eret指令先将estatus复制给status,然后将处理器的控制权交给某个指令,该指令的地址存放在ea中。,问题:处理器复位后,如何第一次进入用户模式?,处理器复位后,管理模式下运行的系统程序必须给estatus和ea赋合适的值,然后执行eret指令。,六、Nios II的异常处理,异常处理器内部或外部发生了某个事件,需要处理器立即响 应处理。此时,处理器的控制权应从某个程序的正常流 程中转移出来,交给一个异常处理程序。,异常处理发生异常后处理器所作出的相应动作,包括返回到 异常发生之前的状态。,异常发生时,处理器自动执行以下操作:复制status到estatus,保存异常前的状态将status的U位清零,迫使处理器进入管理模式将status的PIE位清零,禁止所有外部硬件中断将异常返回地址写到 ea 中转到异常处理程序首地址,查找异常原因,进行相应处理,异常处理程序的地址在系统创建时指定。在运行时,该地址是固定的,不能由软件改变。但对软件而言,它是透明的,程序员可以在不知道异常地址的情况下正常编写程序。,Nios II系统的异常分类:,硬件中断软件陷阱指令未实现指令其它(预留扩展),硬件中断,一旦产生硬件中断,status的U、PIE为0,进入管理模式且禁止所有中断。异常处理程序通过ipending寄存器判断中断源,并按irq0irq31的优先级顺序,转到相应的中断服务子程序(ISR)。,因此,外设必须保持irqn有效,直到处理器响应该中断,即在进入中断服务子程序时才使irqn无效。,软件陷阱指令,当程序运行到一条软件陷阱指令(trap)时,就会产生一个异常,有异常处理程序进行相应的处理。,未实现指令,在程序运行期间,处理器遇到一条不是硬件实现的有效指令时,产生异常,异常处理程序判断指令类型并调用对应的服务子程序,从软件上实现该指令。,确定异常类型的过程,优先级:irq0irq31,异常的嵌套,在运行异常处理程序时,又产生新的异常。,引起异常嵌套的原因?,在异常处理程序中使用了陷阱指令,在异常处理程序中使用了未实现指令,在异常处理程序中将status的PIE位置1,重新允许外部硬 件中断。,在允许异常嵌套时,异常处理程序必须保存estatus和ea的值,以便恢复现场。,异常的返回,发生异常时,ea中保存的是被中断指令下一条要执行指令的地址。,异常处理完毕之后,必须返回到被中断的程序,若使用了et以外的寄存器,则要恢复原值。,当从陷阱指令和未实现指令异常返回时,应回到其下一条指令,所以,直接从ea中的地址返回即可。,当从硬件中断异常返回时,应回到被中断的指令本身,所以,应按 ea 4返回。,七、Nios II的断点处理与返回,在管理模式和用户模式下均可进入调试模式,进行断点处理。,调试模式下,处理器受控于软件调试工具,系统程序和应用软件不能运行。,软件调试工具通过JTAG调试模块拥有处理器的控制权。,断点产生条件,处理器执行break指令JTAG调试模块提供一个硬件断点,断点的处理,断点引起处理器自动完成以下操作:保存 status 到 bstatus清除 status 的 U位清除 status 的 PIE 位,禁止中断断点的下一条指令地址写入 ba转到断点处理程序,处理器控制权交给软件调试工具,断点返回,调试工具完成断点处理后,若使用了通用寄存器,则应恢复bt以外所有寄存器内容,然后通过断点返回指令bret释放处理器的控制。,bret指令将bstatus恢复到status,且按ba中的地址执行断点的下一条指令。,八、Nios II的存储器与外设组织,指令总线选择逻辑,数据总线选择逻辑,程序计数器,通用寄存器,指令缓存,数据缓存,M,M,紧耦合指令存储器,紧耦合数据存储器,存储器和外设的访问:,Nios的地址是32位的,可以直接访问4GB的地址空间。Nios的存储器和外设统一编址,映射到同一个地址空间。存储器和外设地址在系统创建时指定,尤其注意要设定复位地址,异常地址和断点地址。,Nios采用字节编址,大于8位数据采用小端模式,高字节放在高地址。,Nios采用指令与数据相分离的高速缓存结构,其大小可以配置,或者不设高速缓存。注意使用高速缓存编写的程序可以在没有高速缓存的处理器上运行,反之,没有使用高速缓存编写的程序不能在具有高速缓存的处理器上运行。,指令主端口:是一个进行流水操作的Avalon主端口,指令宽度32位,采用动态自动对齐。Nios处理器提供高速缓存来提高平均取指时间,同时处理器还提供预取顺序指令和转移指令的分支预测。,指令主端口只进行取指操作,不能进行任何写操作。,所谓动态总线对齐逻辑是指:每次取指都返回一个完整的指令字,而不考虑目标存储器的总线宽度。,数据主端口:数据宽度32位。采用字节使能信号进行读写操作。不支持流水操作,一则避免出现“写后读”的冲突;二则预测数据地址没有意义。,通常,指令和数据主端口共享含有指令和数据的存储器,此时,数据主端口的优先级高。,紧耦合存储器:Nios提供低延时存储器的访问,可以将一些关键的代码(中断服务程序)和数据(DSP计算)放在紧耦合存储器中而无需高速缓存的开销。紧耦合存储器一般为片内存储器,对一些小系统可以只使用紧耦合存储器的方式。,九、Nios处理器的复位状态,status寄存器清零。使处理器进入管理模式并禁止硬件中断;使与复位地址(复位程序的首地址)相关的指令缓存行无效。保证复位程序的取指操作来自非缓存。复位地址在系统创建时指定。从复位地址开始执行指令。必须立即对指令缓存进行初始化,然后对数据缓存进行初始化,确保复位后缓存的一致性。,十、Nios II支持的寻址方式,1.寄存器寻址:指令的操作数都是寄存器,结果也放在寄存器中。,2.基址寄存器寻址:,操作数地址=寄存器的值+16位有符号的立即数,3.寄存器间接寻址:,操作数地址=寄存器的值+0,4.绝对寻址:,操作数地址=r0寄存器的值+16位有符号的立即数,5.立即数寻址:操作数是指令中提供的一个常数。,十一、Nios II的指令集,Nios 指令分为9+1类:,数据传输指令算术和逻辑运算指令移动指令比较指令移位和循环移位指令程序控制指令其它控制指令定制指令无操作指令未实现指令,不做详解,十二、JTAG调试模块,JTAG调试模块,JTAG控制器,JTAG连接器,软件调试工具,硬件设计工具,通过软件调试工具可以做到:,下载程序到存储器中启动和停止程序的运行设置断点和观察点查看寄存器和存储器采集实时执行的跟踪数据,通过软件断点、硬件断点的设置和执行,使处理器的控制模式转移为调试模式,即由JTAG调试模块进行控制的模式。,第三节 Avalon 总线规范简介,3.1 概述,Avalon总线规范是Altera公司为SOPC系统的外设开发专门设计的。,Avalon开关互连结构(Avalon Switch Fabric),内部结构(互连策略)不公开,只给出接口规范,一组信号类型(名称)信号的行为(功能)信号支持的传输类型,Avalon接口的功能与特点,1)指令和数据分立的总线:接口简单,使用专用的地址和数据路径,外设无需对指令周期、数据访问周期进行译码。,2)支持可变的2的奇次幂的数据宽度,可选8位,32位或128位。,3)动态自动对齐。无需特殊考虑,自动处理具有不同数据宽度的外设之间的数据传输。,4)同步操作。简化时序,方便与高速外设的集成。,5)简单易学。,6)占用资源少。,7)访问效率高。每个时钟周期可以进行一次传输。,术语和概念,Avalon交换结构,Altera公司开发的面向SOPC的专用内部连线技术。,由SOPC Builder自动生成。,将各外设连接起来,构成系统。,主外设与从外设之间的通信均通过Avalon交换架构完成。,地址译码,中断控制,数据通道,等待控制,Avalon Switch Fabric,Avalon交换结构支持多个主外设,能进行多路数据的同时处理,实现无与伦比的系统吞吐量。,即,Avalon交换结构使每一个主外设均有自己的专用互联,主外设只需抢占共享的从外设,而不是总线本身。这与传统结构不同。,Avalon外设,通过Avalon端口信号(如地址、数据和控制信号)连接到Avalon交换结构的逻辑部件,称为Avalon外设。,主外设能够向Avalon交换结构发起总线传输的外设。,从外设只能响应来自Avalon交换结构的总线传输,而不能发起 总线传输。,Avalon信号,Avalon接口定义了一组信号类型:片选、读使能、写使能、地址、数据,用于描述主/从外设基于地址的读/写接口。,可配置性:Avalon外设只选用需要的信号,完成内部逻辑与Avalon交换结构的接口。,Avalon端口就是一组Avalon信号。,Avalon端口,主端口发起传输的Avalon信号类型的集合。,从端口响应传输请求的Avalon信号类型的集合。,主外设,从外设,Avalon交换结构传递来自主端口信号,并进行处理(例如插入等待周期,共享从设备的主端口仲裁),满足连接在从端口上的从外设的需要。,主从端口对,在一次数据传输中,由Avalon交换结构连接起来的一个主端口和一个从端口的统称。,数据传输,Avalon主/从端口与Avalon交换结构之间进行的一次数据读/写操作。,主端口传输主端口向Avalon交换结构发起的数据传输。,从端口传输从端口响应来自Avalon交换结构的数据传输。,Avalon交换结构支持多种传输模式。基本传输模式是在一个主外设和一个从外设之间进行单字节、半字或字的传输。一次数据传输可高达128位,可在一个或多个总线时钟周期内完成。,一般用户只关心从端口传输,因为用户的自定义外设多为从外设,只有自主创建主外设时才涉及到主端口传输。,总线时钟周期,总线传输的最小时间单元。定义为总线时钟的一个上升沿到下一个上升沿之间的时间。一次数据传输最少要持续一个总线时钟周期。,PTF文件,系统中各种外设的配置在SOPC Builder的GUI界面中完成,保存在一个与系统同名的PTF文件中,它是一个文本文件,包括:Avalon交换结构与功能参数;每个外设的结构与功能参数;每个外设的主/从角色;每个外设提供的端口信号;每个可被多个主端口访问的从端口的仲裁机制。,3.2.1 Avalon从端口信号,3.2 Avalon从端口传输,从端口:基本信号(一),(1)若从端口使用动态的总线大小,则信号宽度必需是2的幂次。(2)若从端口使用readdata和writedata时,两者宽度必须相等。,从端口:基本信号(二),从端口:等待状态信号,从端口:流水(pipeline)信号,从端口:突发(burst)信号,从端口:流传输信号,从端口:三态信号,(1)若从端口使用动态的总线大小,则信号宽度必需是2的幂次。,从端口:其它信号,3.2.2 基本从端口读传输,它是所有其他Avalon从端口读传输的参考标准。,基本从端口读传输由Avalon交换结构发起,根据外设数据端口的宽度,由从端口到Avalon交换结构传输一个数据单元。,传输过程需要一个时钟周期。,说明A:总线时钟周期开始于clk的上升沿。B:Avalon交换结构置 address 和 read 有效。C:Avalon交换结构对 address 译码,驱动片选chipselect信号。D:片选信号有效后,从端口立即驱动readdata,提供有效数据。E:Avalon交换结构在下一个clk上升沿捕获数据。,基本从端口读传输在一个时钟周期内完成。,只适用于异步从外设,只要从外设被选中和/或地址变化时,从外设必须立即返回数据,且在下一个clk上升沿之前有效且稳定。,always(shipselect or address or read)if(shipselect=1 endcase else,/如果同步描述always(posedge clk)/?,3.2.3 具有固定等待周期的从端口读传输,具有固定等待周期的从端口读传输一般适用于同步从外设,允许从外设在clk上升沿捕获地址和片选信号,等待一个或多个时钟周期,向Avalon交换结构提供有效数据。,always(posedge clk)if(shipselect=1 endcase else,取决于从外设的设计说明和配置。,具有一个等待周期的从端口读传输,说明A:总线时钟周期开始于clk的上升沿。B:Avalon交换结构置 address 和 read 有效。C:Avalon交换结构对 address 译码,驱动片选chipselect信号。D:一个等待周期结束,从端口捕获address、read、chipselect。E:从端口在第二个总线周期内驱动readdata,提供有效数据。F:Avalon交换结构在第三个clk上升沿捕获数据。,3.2.4 具有可变等待周期的从端口读传输,这种传输特性,允许从端口根据从外设准备数据的总线时钟周期数,利用waitrequest输出信号,将Avalon交换结构挂起足够的时间。,注意:Avalon交换结构没有超时机制来限制从端口将其挂起的时间,当Avalon交换结构被挂起,就有一个相应的主端口被挂起,从端口必须及时撤销waitrequest,防止某个主外设被永久挂起。,具有可变等待周期的从端口读传输时序图(略),请同学阅读有关书籍。,3.2.5 基本从端口写传输,它是所有其他Avalon从端口写传输的参考标准。,基本从端口写传输由Avalon交换结构发起,每次由Avalon交换结构向从端口传输一个数据单元。,传输过程需要一个时钟周期。,当 writedata 8位时,由字节使能信号byteenable指定写入特定的字节段。通常,片外16位或32位存储器,均使用byteenable。,基本从端口写传输适用于在一个总线时钟周期内捕获数据的同步从外设,不适合异步外设。,基本从端口写传输时序,说明A:开始于clk上升沿B:设置address、byteenable、write和writedata有效C:对address译码,驱动片选chipselectD:从端口捕获地址、片选、写信号,取走数据。,若从外设不能在一个总线时钟周期内捕获数据,则需插入等待周期(固定等待、可变等待)。,具有固定等待周期的从端口写传输?,具有可变等待周期的从端口写传输?,请同学看书,学习!,3.3 Avalon主端口传输,3.3.1 Avalon主端口信号,主端口:基本信号,主端口:主端口流水(pipeline)信号,主端口:突发传输(burst)信号,主端口:流(flow)控制信号,主端口:三态信号,主端口:其它信号,3.3.2 基本主端口读传输,它是所有其他Avalon主端口读传输的参考标准。,基本主端口读传输由Avalon主端口(主外设)发起,每次从Avalon交换结构向主端口传输一个完整的数据单元。,理想情况下,传输过程可在一个时钟周期内完成。,如果Avalon交换结构不能在一个时钟周期内向主端口提供有效数据,就将waitrequest置为有效,使主端口处于等待状态,直到Avalon交换结构为主端口准备好数据为止。因此,主端口读传输支持的等待周期一定是可变的。,无等待周期的主端口基本读传输,说明A:读传输在clk上升沿开始B:主端口发出有效的address、byteenable 和 readC:Avalon交换结构提供有效数据D:主端口捕获数据,并使所有输出信号失效,具有等待周期的主端口基本读传输,A:读传输周期开始于clk上升沿B:主端口发出有效的address、byteenable、readC:Avalon交换结构要求主端口等待D、E:主端口检测到waitrequest有效,保持所有输出不变F:Avalon交换结构提供有效数据G:Avalon交换结构撤销waitrequestH:主端口捕获数据,并使所有输出无效,3.3.3 基本主端口写传输,它是所有其他Avalon主端口写传输的参考标准。,基本主端口写传输由Avalon主端口(主外设)发起,每次从主端口向Avalon交换结构传输一个完整的数据单元。,理想情况下,传输过程可在一个时钟周期内完成。,如果Avalon交换结构不能在一个时钟周期立即捕获有效数据,就将waitrequest置为有效,使主端口处于等待状态,直到Avalon交换结构捕获到数据为止。因此,主端口写传输支持的等待周期一定是可变的。,如果writedata的宽度大于一个字节,主端口可使用byteenable指明需要写入的字节段。,如果主端口没有使用byteenable,则对于所有来自该主端口的写传输,Avalon交换结构永久使能所有字节段。,无等待周期的主端口基本写传输,A:主端口写传输在Clk上升沿开始B:主端口发出有效的address、byteenable、writedata和 writeC:没有等待请求,Avalon交换结构捕获数据,主端口使输出无效,具有等待周期的主端口基本写传输,A:写传输在clk上升沿开始B:主端口发出有效的address、byteenable、writedata、writeC、D:有等待请求,保持所有输出不变E:Avalon交换结构撤消等待请求F:clk上升沿,Avalon交换结构捕获数据,主端口使所有输出信号失效,Avalon总线规范支持的的其他传输特性,流水线传输流控制传输三态传输突发传输,同学可深入研究。,与传输无关的信号,中断请求信号,从端口中断请求信号(irq):从端口的输出信号,其有效时,表示需要一个主端口(主外设)的服务。从端口可在任何时刻发出irq信号,与所有的传输无关。从外设逻辑必须保持irq有效,直到主端口响应后,明确地复位了中断请求。,主端口中断信号(irq 和 irqnumber),主端口的输入信号,使主端口能够检测并响应系统中从端口的IRQ状态。,Avalon交换结构支持两种计算最高中断优先级的IRQ的方法,软件优先级主端口使用32位irq信号,不具有irqnumber信号。,此时,Avalon交换结构将从端口的irq直接传递到主端口,由主端口逻辑(或软件)确定优先级。,硬件优先级主端口只使用1位irq信号,同时使用irqnumber。,有效,说明一个以上从外设发出请求。,当前最高优先IRQ的编码,保持,直到响应为止。,复位控制信号,reset 信号主、从端口的输入信号,只要Avalon交换结构发出reset信号,外设逻辑必须进入一个以定义的初始状态。,resetrequest信号主、从端口均可发出resetrequest信号来复位整个Avalon系统。发出时,Avalon交换结构将系统中其它外设的reset置为有效。,根据这一特点,有益于“看门狗”功能的实现。如果在一个规定的时间内没有对看门狗定时器执行操作,定时器的溢出信号驱动产生resetrequest,引起系统复位。,