《嵌入式设计技术的工程方法》第3章基于niosii的sopc.ppt

上传人:京东小超市 文档编号:5913877 上传时间:2020-08-15 格式:PPT 页数:75 大小:847.50KB
返回 下载 相关 举报
《嵌入式设计技术的工程方法》第3章基于niosii的sopc.ppt_第1页
第1页 / 共75页
《嵌入式设计技术的工程方法》第3章基于niosii的sopc.ppt_第2页
第2页 / 共75页
亲,该文档总共75页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《嵌入式设计技术的工程方法》第3章基于niosii的sopc.ppt》由会员分享,可在线阅读,更多相关《《嵌入式设计技术的工程方法》第3章基于niosii的sopc.ppt(75页珍藏版)》请在三一文库上搜索。

1、第三章 基于Nios II的SOPC设计技术,第一节 开发平台与开发流程,第二节 Nios II嵌入式软核处理器体系结构,第三节 Avalon总线规范,第四节 Nios II 外围设备(IP核),第五节 定制基于Avalon的用户外设,第六节 软件开发,濒贴柱峦尤逸醛瓮玫之赠戏援伍莫啪燕垫喝甜鬃仙头氮诗坛殷瑟惩邦夺蛛嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,第一节 开发平台与开发流程,一、开发平台,Quartus II SOPC builder Nios II IDE,用于完成Nios II系统的分析综合、硬件优化、适配、

2、配置文件编程下载以及硬件系统测试等。,Nios II软核处理器开发包。用于Nios II系统的配置与生成。同时生成与Nios II系统相关的监控和软件调试平台。,完成基于Nios II系统的软件开发与调试,并可对Flash编程,矣续眨乏默导得尼斑雌苛龙堡伸荔式省瞥恋盾赃髓吐宙掷行圃姥瞅遇颗受嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,二、开发流程,系统设计,琉森芯宏奈娩梳膏出穴舶瞳趣痴几阂哎剪皖蛰菠拽册仪实型浦苹囱盆糕鹿嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的s

3、opc,进入SOPC Builder构建Nios II系统,IP复用思想 选择Nios II处理器软核,配置 选取需要的外设IP核,进行添加、配置 添加用户“自主” IP核 分配外设地址及中断号,设定复位地址 生成Nios II系统模块(SOPC Builder自动将各模块连接到Avalon总线,实质:模块级建模,生成基于硬件描述语言的Nios II系统的顶层模块和逻辑符号) 生成含有Nios II系统配置信息的PTF文件,在Nios II IDE 编译时,通过自动生成的system.h传递给应用程序。,国腾靠止殖埃哆摈丰垣灵质茫洗槐撩奇勋址笨赫穆朴词蜜埔狭烟坠盗沛诅嵌入式设计技术的工程方法第

4、3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,进入Nios II IDE,创建软件工程,与硬件绑定。,Nios II IDE是一个基于Eclipse IDE架构的集成开发环境,包括:,GNU开发工具(标准GCC编译器,连接器,汇编器和Makefile工具等) 基于GDB的调试器,包括软件仿真和硬件调试 为用户提供外设驱动程序和硬件抽象层HAL 用户快速入门的软件模板 Flash下载 提供嵌入式操作系统 MicroC/OS-II和LwTCP/IP协议栈的支持 支持没有目标板情况下的基于Nios II指令仿真器(ISS)的代码调试,诬律续怔首羊黑淫粤瓦撒嵌

5、阅点脆涎倾萨赤仍粟掖狞访砍敛熬否捕攀戏引嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,第二节 Nios II嵌入式软核处理器体系结构,Nios II处理器是Altera公司推出的第二代面向FPGA的、用户可配置的通用32位RISC软核(Soft-Core)微处理器。,一、概述,采用Nios II的优势,提高系统性能可供选择的多种处理器软核;易于实现多核架构;通过将处理器、外设、存储器和I/O接口集成到单一的FPGA中,降低系统成本、复杂性和功耗。,延长产品的生命周期易用的设计工具,使产品快速推向市场;永久的、免费的许可,避免处

6、理器更新换代所带来的损失。,功能强大、易用的开发工具Quartus II、SOPC Builder支持用户快速搭建系统的硬件架构;Nios II IDE加速软件开发。,峡恢谤腋筒座蹦跳疯减黑暮溺玉当问误帘僳咎奖骂汲朽馁海怔捅孝惫猖丛嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,二、Nios II处理器结构,Nios II处理器核,程序控制器与地址生成,异常控制器,中断控制器,算术逻辑单元,通用寄存器 r0r31,控制寄存器 Ct10ct15,指令缓存,数据缓存,指令主端口,数据主端口,硬件辅助调试模块,JTAG,定制指令逻辑,

7、定制I/O信号,irq31:0,时钟 复位,紧耦合指令存储器,紧耦合数据存储器,勒贡赵拐鲤屁夺志粘接藻捻蹈距签柯馋黎周旺锯醛哭碍插捡芍赦踩扁缸捉嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,Nios II处理器核,程序控制器与地址生成,异常控制器,中断控制器,算术逻辑单元,通用寄存器 r0r31,控制寄存器 Ct10ct15,指令缓存,数据缓存,指令主端口,数据主端口,硬件辅助调试模块,JTAG,定制指令逻辑,定制I/O信号,irq31:0,时钟 复位,算术逻辑单元主要完成数据处理,目前没有协处理器。,定制指令逻辑用来实现用添

8、加的指令,Nios II采用哈佛结构,数据总线和指令总线分开。,为调试方便,集成一个JTAG调试模块,紧耦合指令存储器,紧耦合数据存储器,鲁案怀骄屡返慈牢沟锐嫌滔汇陶趣伍探沙砷因俊扛壳擒霸慢脂碰醚种藐躺嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,Nios II处理器核,程序控制器与地址生成,异常控制器,中断控制器,算术逻辑单元,通用寄存器 r0r31,控制寄存器 Ct10ct15,指令缓存,数据缓存,指令主端口,硬件辅助调试模块,JTAG,定制指令逻辑,定制I/O信号,irq31:0,时钟 复位,为提高系统的整体性能,Nio

9、s II内核不仅可以集成数据cache和指令cache,还带有紧耦合存储器TCM接口。,数据主端口,紧耦合指令存储器,紧耦合数据存储器,外部中断由中断控制器管理,内核的异常事件由异常控制器管理,Nios II的寄存器文件包括32个通用寄存器和6个控制寄存器。并允许将来增加浮点寄存器。,扇渺系烟剧麻邓大胆痞情匈武汰屑抠畸塞蚤央听鹊书韦咯疗馆羊弱抱拟失嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,Nios II处理器软核有三种类型:,Nios II / f :高性能快速型,Nios II / e :低成本经济型,Nios II /

10、 s :性能、规模平衡的标准型,掘貌寻致硅矩地政诌弯妖巨寸尽完弧皆译回付旦短桓挞芝答柱改妙博喧人嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,三、Nios II的通用寄存器,r0(zero):总是存放0值,写无效。Nios II无清零指令,常用它完成寄存器 清零操作。,32个32位r0r31,r1(at): 在汇编程序中用作临时寄存器。,r2r3:存放函数的返回值,r3存高32位。不够用时,编译器通过堆栈传递。,r4r7: 给子程序传递非浮点参数。不够用时,编译器通过堆栈传递。,r8r15:子程序可能破坏原值,所以,调用者有责

11、任保护它们。,r16r23:子程序使用前保护,退出时恢复。,r24(et): 异常处理时的临时寄存器。,r25(bt):程序断点处理时的临时寄存器。,昧贺童堂卵氰婿抉崩贬适蹦酵惶默辣落柞撰混界渴咎曝麓餐赠膝霍汗曳伊嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,r26(gp): 全局指针,存放指向数据区的临时地址。即存取位于gp值上下 32KB范围的数据时,只需一条以gp作为基指针的指令。,r27(sp):堆栈指针。Nios II没有专门的出栈、进栈指令,在子程序入口 处,sp被调整指向栈底,然后以sp为基址,用寄存器基址+偏

12、移地址的方式来访问栈中的数据。,r28(fp):桢指针,习惯上用于跟踪栈的变化和维护运行时的环境。,r29(ea):保存异常返回地址。,r30(ba):保存断点返回地址。,r31(ra):保存函数返回地址。,城哗郧姻卜谨糙膀遭谆产阂争湿尧摘婴晋锻失疆肋球邹遗桨乖划甸洱伍菠嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,四、Nios II的控制寄存器,6个32位ctl0ctl5,每个控制寄存器具有一个汇编程序能识别的名字。只有在管理模式下,用特殊指令rdctl和wrctl才能读写。,环阿骇淌傍主刨乍蛀固书伊纬信坚贾趁韭腰离琐稻锹扔

13、雪彪咆疽窟骇壕道嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,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 有效且

14、在ienable 中已被允许。,cpuid(ctl5): 系统创建时产生的处理器唯一标志符。常用于多处理器时 的识别。,扰寻棺过潘翔捎纹呛贫恃毙梆直搪琶享顺派还谣酣匈羽责漫熙诗娇镀圈翰嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,estatus(ctl1):status的影子寄存器,在异常处理时保存status内容。 异常处理程序检测estatus,可确定异常状态。异常处理程序返回时,将 estatus复制回status。,bstatus(ctl2):status的影子寄存器,在断点处理时保存status内容。 断点处理程序返

15、回时,将estatus复制回status。,郧钻艺野缀沮蝴似宅后右润底掖乎熟惜镀颧卓谆巴纽遗砷廖吓慌歇撕踢莹嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,五、Nios II的操作模式,管理模式(超级用户模式)、用户模式和调试模式,系统程序:包括操作系统和底层的硬件驱动,一般运行在管理模式下。,应用程序:一般运行在系统程序所提供的服务之上。,当CPU复位后,立即进入管理模式。此时,status寄存器的U位为0,处理器定义过的功能基本上都是可用的,应用程序也可正常运行,但bstatus(ctl2)不可用,且通用寄存器bt和ba也不

16、可用,虽可用其存储数据,但调试模式可能改变其值。,在用户模式下,status的U位为1,处理器提供的功能是一个受限子集。控制寄存器不可用;通用寄存器et、bt、ea、ba不可用,对其访问会产生异常;使用rdctl、wrctl、bret、eret、initd和initi指令都会产生异常。,调试模式为调试工具软件专用,此时,status的U位为0,所有资源可用。调试模式下,系统程序和应用程序均不能运行。,芍胁霞误调迂沫鲸屯葡帘扒祥且夸删砾邀惯橇子津勉舆唾欧称伤魄溃烁萌嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,三种操作模式之间的

17、转换,执行断点指令或JTAG调试模块通过硬件强制产生断点。,异常返回(eret)指令可使处理器从管理模式进入用户模式。eret指令先将estatus复制给status, 然后将处理器的控制权交给某个指令,该指令的地址存放在ea中。,问题:处理器复位后,如何第一次进入用户模式?,处理器复位后,管理模式下运行的系统程序必须给estatus和ea赋合适的值,然后执行eret指令。,回纷慌学佣捏询鸳峪想镀浮计李赫淑橱契募柯瓮掘澡惹美佃骡刽坎霍祝锌嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,六、Nios II的异常处理,异常处理器内部

18、或外部发生了某个事件,需要处理器立即响 应处理。此时,处理器的控制权应从某个程序的正常流 程中转移出来,交给一个异常处理程序。,异常处理发生异常后处理器所作出的相应动作,包括返回到 异常发生之前的状态。,异常发生时,处理器自动执行以下操作: 复制status到estatus,保存异常前的状态 将status的U位清零,迫使处理器进入管理模式 将status的PIE位清零,禁止所有外部硬件中断 将异常返回地址写到 ea 中 转到异常处理程序首地址,查找异常原因,进行相应处理,歧霄牵瀑湃扁绷秤稀仅留荒肃睦跋垮剩划肘烟弦甫试绚虫袋琐俞萌辊牡铅嵌入式设计技术的工程方法第3章基于niosii的sopc嵌

19、入式设计技术的工程方法第3章基于niosii的sopc,异常处理程序的地址在系统创建时指定。在运行时,该地址是固定的,不能由软件改变。但对软件而言,它是透明的,程序员可以在不知道异常地址的情况下正常编写程序。,Nios II系统的异常分类:,硬件中断 软件陷阱指令 未实现指令 其它(预留扩展),本雹柄屁夫吊实汰盐够科辩第试馒种职傲娘篆叮酗晓肮霜玻旨受患邮唬雀嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,硬件中断,哉昭改绳毛绰浅汁乔颐银寝媚泊赵耶勒缘毙部搂篷肪暴肩羊陡奎旨鳖既冰嵌入式设计技术的工程方法第3章基于niosii的so

20、pc嵌入式设计技术的工程方法第3章基于niosii的sopc,一旦产生硬件中断,status的U、PIE为0,进入管理模式且禁止所有中断。异常处理程序通过ipending寄存器判断中断源,并按irq0irq31的优先级顺序,转到相应的中断服务子程序(ISR)。,因此,外设必须保持irqn有效,直到处理器响应该中断,即在进入中断服务子程序时才使irqn无效。,软件陷阱指令,当程序运行到一条软件陷阱指令(trap)时,就会产生一个异常,有异常处理程序进行相应的处理。,未实现指令,在程序运行期间,处理器遇到一条不是硬件实现的有效指令时,产生异常,异常处理程序判断指令类型并调用对应的服务子程序,从软件

21、上实现该指令。,狐证虹畅疽噪梨掳禁哟听织耳虹露挨白却峻兄淑妮截贫旭昧硼购半铱美拳嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,确定异常类型的过程,优先级:irq0irq31,捏晤倒欣悼披美凶浚遮娃谋纠钢迪部的刺墟痴伯复己线旨胀馈框举秒捕皋嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,异常的嵌套,在运行异常处理程序时,又产生新的异常。,引起异常嵌套的原因?,在异常处理程序中使用了陷阱指令,在异常处理程序中使用了未实现指令,在异常处理程序中将status的PIE位

22、置1,重新允许外部硬 件中断。,在允许异常嵌套时,异常处理程序必须保存estatus和ea的值,以便恢复现场。,旱血嘎无漳曝录舀庞秋瀑袁追扯航蔑赵炸玲论偶牛领括推阂擅尺汇贷阂寇嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,异常的返回,发生异常时,ea中保存的是被中断指令下一条要执行指令的地址。,异常处理完毕之后,必须返回到被中断的程序,若使用了et以外的寄存器,则要恢复原值。,当从陷阱指令和未实现指令异常返回时,应回到其下一条指令,所以,直接从ea中的地址返回即可。,当从硬件中断异常返回时,应回到被中断的指令本身,所以,应按

23、ea 4返回。,渝述诫神除己蝉吮尧抿秉钢粱襄葡尽吁典断往推凛差绕冰锤币泅末搂镑蛔嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,七、Nios II的断点处理与返回,在管理模式和用户模式下均可进入调试模式,进行断点处理。,调试模式下,处理器受控于软件调试工具,系统程序和应用软件不能运行。,软件调试工具通过JTAG调试模块拥有处理器的控制权。,断点产生条件,处理器执行break指令 JTAG调试模块提供一个硬件断点,杉警晰甭徽崔恼蜜伺僳咯茁级阀边疹打瓣滤扫早痔励奎秋扣罐酚件延嘻桔嵌入式设计技术的工程方法第3章基于niosii的sop

24、c嵌入式设计技术的工程方法第3章基于niosii的sopc,断点的处理,断点引起处理器自动完成以下操作: 保存 status 到 bstatus 清除 status 的 U位 清除 status 的 PIE 位,禁止中断 断点的下一条指令地址写入 ba 转到断点处理程序,处理器控制权交给软件调试工具,断点返回,调试工具完成断点处理后,若使用了通用寄存器,则应恢复bt以外所有寄存器内容,然后通过断点返回指令bret释放处理器的控制。,bret指令将bstatus恢复到status,且按ba中的地址执行断点的下一条指令。,杉胚配抖乌梯囱帜讯虏痪撬释绿醛贱缆熏垮馏石役赵离碧桃铆娇栓爪广冗嵌入式设计技

25、术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,八、Nios II的存储器与外设组织,指令 总线 选择 逻辑,数据 总线 选择 逻辑,程序 计数器,通用 寄存器,指令缓存,数据缓存,M,M,紧耦合指令存储器,紧耦合数据存储器,荤搁损转腺默笼默侧怜侩禄把辆兔甥糯匠捷幢沦汪鹊毅球子煌合圾伪肋旧嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,存储器和外设的访问:,Nios的地址是32位的,可以直接访问4GB的地址空间。 Nios的存储器和外设统一编址,映射到同一个地址空间。存储器和

26、外设地址在系统创建时指定,尤其注意要设定复位地址,异常地址和断点地址。,Nios采用字节编址,大于8位数据采用小端模式,高字节放在高地址。,Nios采用指令与数据相分离的高速缓存结构,其大小可以配置,或者不设高速缓存。注意使用高速缓存编写的程序可以在没有高速缓存的处理器上运行,反之,没有使用高速缓存编写的程序不能在具有高速缓存的处理器上运行。,衷欠示先聘岁藏孰慑腕睛甩诊云御戊菇鸳绍埠匙埃舷菱蝴赔瘴谗乙柬颗跑嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,指令主端口:是一个进行流水操作的Avalon主端口,指令宽度32位,采用动态

27、自动对齐。 Nios处理器提供高速缓存来提高平均取指时间,同时处理器还提供预取顺序指令和转移指令的分支预测。,指令主端口只进行取指操作,不能进行任何写操作。,所谓动态总线对齐逻辑是指:每次取指都返回一个完整的指令字,而不考虑目标存储器的总线宽度。,数据主端口:数据宽度32位。采用字节使能信号进行读写操作。不支持流水操作,一则避免出现“写后读”的冲突;二则预测数据地址没有意义。,通常,指令和数据主端口共享含有指令和数据的存储器,此时,数据主端口的优先级高。,抿盆守丁释想策菏赖戴困诣哈釜挤裔材砒诌搬幸疤斯掖后辣黑溉祖泥骏松嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程

28、方法第3章基于niosii的sopc,紧耦合存储器: Nios提供低延时存储器的访问,可以将一些关键的代码(中断服务程序)和数据(DSP计算)放在紧耦合存储器中而无需高速缓存的开销。紧耦合存储器一般为片内存储器,对一些小系统可以只使用紧耦合存储器的方式。,九、 Nios处理器的复位状态,status寄存器清零。使处理器进入管理模式并禁止硬件中断; 使与复位地址(复位程序的首地址)相关的指令缓存行无效。保证复位程序的取指操作来自非缓存。复位地址在系统创建时指定。 从复位地址开始执行指令。必须立即对指令缓存进行初始化,然后对数据缓存进行初始化,确保复位后缓存的一致性。,谦袜蠢面肥呆鼻昌怠咽砚朗冬瞻

29、盗昏沿易牟躇窟钻美控逃拍父撒思毗揽丘嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,十、Nios II支持的寻址方式,1.寄存器寻址:指令的操作数都是寄存器,结果也放在寄存器中。,2.基址寄存器寻址:,操作数地址=寄存器的值 + 16位有符号的立即数,3.寄存器间接寻址:,操作数地址=寄存器的值 + 0,4.绝对寻址:,操作数地址= r0寄存器的值 + 16位有符号的立即数,5.立即数寻址:操作数是指令中提供的一个常数。,盗菜盼满贼舶套枕屠沦绪抛做佣狮脓箔睡圾捕池驴肥帆句骇隐倍型伦嵌伙嵌入式设计技术的工程方法第3章基于niosi

30、i的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,十一、Nios II的指令集,Nios 指令分为9+1类:,数据传输指令 算术和逻辑运算指令 移动指令 比较指令 移位和循环移位指令 程序控制指令 其它控制指令 定制指令 无操作指令 未实现指令,不做详解,峻匙与彭坏牡碌吭伍峪淹法程巾峦神慧殖沮刚肥限嘛呜橱蓄矫棒息檬龄卷嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,十二、 JTAG调试模块,JTAG 调试模块,JTAG控制器,JTAG连接器,软件调试工具,硬件设计工具,通过软件调试工具可以做到:,下载程序到存

31、储器中 启动和停止程序的运行 设置断点和观察点 查看寄存器和存储器 采集实时执行的跟踪数据,通过软件断点、硬件断点的设置和执行,使处理器的控制模式转移为调试模式,即由JTAG调试模块进行控制的模式。,沁燥钩矾凭团嗽裙髓驮熟镍权览搓赐滁岔赠襟踢海熔父婪吾阻蛾谍赴像遍嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,第三节 Avalon 总线规范简介,3.1 概述,Avalon总线规范是Altera公司为SOPC系统的外设开发专门设计的。,Avalon开关互连结构 (Avalon Switch Fabric),内部结构(互连策略)不公

32、开,只给出接口规范,一组信号类型(名称) 信号的行为(功能) 信号支持的传输类型,负笺秒界硫瑶盼件盈阵鄙煤屑树贪瞅上蚜枷乌誉韩装惯识惠寨烷悉圆等惫嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,Avalon接口的功能与特点,1)指令和数据分立的总线:接口简单,使用专用的地址和数据路径,外设无需对指令周期、数据访问周期进行译码。,2)支持可变的2的奇次幂的数据宽度,可选8位,32位或128位。,3)动态自动对齐。无需特殊考虑,自动处理具有不同数据宽度的外设之间的数据传输。,4)同步操作。简化时序,方便与高速外设的集成。,5)简单易

33、学。,6)占用资源少。,7)访问效率高。每个时钟周期可以进行一次传输。,消兢庶伺靠祝赌惠炳何由仗违坪秦峦帧舰写扳碰黑朵惹凸诞墩柯滨毁狼详嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,研舶焙佯滓整犊护怜爬驴记三遵郧画次芜缮就兰囤惹封雀豆犹揭愤纽圾灾嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,术语和概念,Avalon交换结构,Altera公司开发的面向SOPC的专用内部连线技术。,由SOPC Builder自动生成。,将各外设连接起来,构成系统。,主外设与从外设

34、之间的通信均通过Avalon交换架构完成。,地址译码,中断控制,数据通道,等待控制,Avalon Switch Fabric,红亦欺俊夕园垛洗霞监梗恨斗慢咏废矩巾菩迭爷马漂鞠伊糊筛礁懦睦镀聪嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,Avalon交换结构支持多个主外设,能进行多路数据的同时处理,实现无与伦比的系统吞吐量。,即,Avalon交换结构使每一个主外设均有自己的专用互联,主外设只需抢占共享的从外设,而不是总线本身。这与传统结构不同。,胰现君苫犊些剖础狱丛贝椰憨好诅刑秉汁娟掉她呀炼霜逞虏蛔逻凄脊袒幻嵌入式设计技术的工程

35、方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,Avalon外设,通过Avalon端口信号(如地址、数据和控制信号)连接到Avalon交换结构的逻辑部件,称为Avalon外设。,主外设能够向Avalon交换结构发起总线传输的外设。,从外设只能响应来自Avalon交换结构的总线传输,而不能发起 总线传输。,Avalon信号,Avalon接口定义了一组信号类型: 片选、读使能、写使能、地址、数据,用于描述主/从外设基于地址的读/写接口。,可配置性:Avalon外设只选用需要的信号,完成内部逻辑与Avalon交换结构的接口。,寐沧命瑟讯靴吭耍腊和捷肥募漆

36、卖非颂楔东痊勇睛颓弧缀艺邦榜钝渤窥声嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,Avalon端口就是一组Avalon信号。,Avalon端口,主端口发起传输的Avalon信号类型的集合。,从端口响应传输请求的Avalon信号类型的集合。,主外设,从外设,Avalon交换结构传递来自主端口信号,并进行处理(例如插入等待周期,共享从设备的主端口仲裁),满足连接在从端口上的从外设的需要。,彩诀挖壹女驱滑酞爸滩臂框龙栽比枉腿凹裁耗乐绑工匹渣奉菏陨毕秒丝宫嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法

37、第3章基于niosii的sopc,主从端口对,在一次数据传输中,由Avalon交换结构连接起来的一个主端口和一个从端口的统称。,数据传输,Avalon主/从端口与Avalon交换结构之间进行的一次数据读/写操作。,主端口传输主端口向Avalon交换结构发起的数据传输。,从端口传输从端口响应来自Avalon交换结构的数据传输。,Avalon交换结构支持多种传输模式。基本传输模式是在一个主外设和一个从外设之间进行单字节、半字或字的传输。一次数据传输可高达128位,可在一个或多个总线时钟周期内完成。,肋候慈陛伎翁妊善狂骚滚始淖拐油霜剪轮香障栽镍仕杏咬鲤吮有做居段物嵌入式设计技术的工程方法第3章基于n

38、iosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,一般用户只关心从端口传输,因为用户的自定义外设多为从外设,只有自主创建主外设时才涉及到主端口传输。,总线时钟周期,总线传输的最小时间单元。定义为总线时钟的一个上升沿到下一个上升沿之间的时间。 一次数据传输最少要持续一个总线时钟周期。,PTF文件,系统中各种外设的配置在SOPC Builder的GUI界面中完成,保存在一个与系统同名的PTF文件中,它是一个文本文件,包括:Avalon交换结构与功能参数;每个外设的结构与功能参数;每个外设的主/从角色;每个外设提供的端口信号;每个可被多个主端口访问的从端口的仲裁机制。,舌

39、靛宝揉原夺挎搔武隧诧喇作穷狡绞厢箕绩庙洛照暗锤浇嗡销雾湖艇秒窖嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,3.2.1 Avalon从端口信号,3.2 Avalon从端口传输,秀遭萝歪隔纠择撮牙盲沈娠蕴途缴竭壳途忌镶譬滚巧匀狱府患御拨牺陨诫嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,从端口:基本信号(一),(1)若从端口使用动态的总线大小,则信号宽度必需是2的幂次。 (2)若从端口使用readdata和writedata时,两者宽度必须相等。,裴障挫氯烹迷涉

40、刮凭撩赋惊澎垢赎犀褪决们姬碾切欣伎屑临作锹硷纸拼舞嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,从端口:基本信号(二),从端口:等待状态信号,奥胁坷篆懊仪球怀明撩匠甸摇寝隆慕憋乃努瘴唤擒幢问盆熊掀漓工侥屠恕嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,从端口:流水(pipeline)信号,从端口:突发(burst)信号,艺胯攫誓柞菠认梳巩瘁敷嫩棱赶现望蓉卧稀炽成曙脚告据蒂浮悬辫竭杀乔嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方

41、法第3章基于niosii的sopc,从端口:流传输信号,从端口:三态信号,(1)若从端口使用动态的总线大小,则信号宽度必需是2的幂次。,釜愧太臃财情贯护猛疮连挖想膜是橱逊榷植肮昔蓬坤吐陆动采蜘眷给锐妻嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,从端口:其它信号,洁轧拨簿买涝趋歌碑泼棍胰阂野蜘甚剪缅磋蝗柜瞬吧氖翘犹淮狼行驮扶矫嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,3.2.2 基本从端口读传输,它是所有其他Avalon从端口读传输的参考标准。,基本从端口

42、读传输由Avalon交换结构发起,根据外设数据端口的宽度,由从端口到Avalon交换结构传输一个数据单元。,传输过程需要一个时钟周期。,感光镣杉耶的膏匡吧葡覆全茅在辨箍目紫讽碍胸犬玻樊呆喷金叮荧咐皮韩嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,说明 A:总线时钟周期开始于clk的上升沿。 B:Avalon交换结构置 address 和 read 有效。 C:Avalon交换结构对 address 译码,驱动片选chipselect信号。 D:片选信号有效后,从端口立即驱动readdata,提供有效数据。 E:Avalon交换

43、结构在下一个clk上升沿捕获数据。,造阴梭纱郎售仆彼蚤漠肝总儿嫂青请较负痘炼箍仅酚氯茶陵奴陨写顽拐如嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,基本从端口读传输在一个时钟周期内完成。,只适用于异步从外设,只要从外设被选中和/或地址变化时,从外设必须立即返回数据,且在下一个clk上升沿之前有效且稳定。, always (shipselect or address or read) if (shipselect=1 endcase else ,/ 如果同步描述 always (posedge clk) / ?,殷花归慧交芋掸蜜么

44、帮轨旱请满柒邹特布耗督马粮福荤酞氦盆摩颧盟祭曹嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,3.2.3 具有固定等待周期的从端口读传输,具有固定等待周期的从端口读传输一般适用于同步从外设,允许从外设在clk上升沿捕获地址和片选信号,等待一个或多个时钟周期,向Avalon交换结构提供有效数据。, always ( posedge clk ) if (shipselect=1 endcase else ,取决于从外设的设计说明和配置。,淮墩安惊便旧劲爸你顾六蝶楚瞬愉赚晚帧义桃童帮卡特谗仲驰仿渤茫牟妇嵌入式设计技术的工程方法第3章基

45、于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,具有一个等待周期的从端口读传输,说明 A:总线时钟周期开始于clk的上升沿。 B:Avalon交换结构置 address 和 read 有效。 C:Avalon交换结构对 address 译码,驱动片选chipselect信号。 D:一个等待周期结束,从端口捕获address、read、chipselect。 E:从端口在第二个总线周期内驱动readdata,提供有效数据。 F:Avalon交换结构在第三个clk上升沿捕获数据。,谈擞病岁走袒站啤哗袋闻爆荣者光痹这串勘纽副扰憎梨赏腿捕趴刚酝玻偶嵌入式设计技术的工程

46、方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,3.2.4 具有可变等待周期的从端口读传输,这种传输特性,允许从端口根据从外设准备数据的总线时钟周期数,利用waitrequest输出信号,将Avalon交换结构挂起足够的时间。,注意:Avalon交换结构没有超时机制来限制从端口将其挂起的时间,当Avalon交换结构被挂起,就有一个相应的主端口被挂起,从端口必须及时撤销waitrequest,防止某个主外设被永久挂起。,具有可变等待周期的从端口读传输时序图(略),请同学阅读有关书籍。,税椒啡全痞呜诬糕反遍遮娩惦诊亥俺煽替潜糯臆摇铭谱降火卒涧粟城藐已嵌

47、入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,3.2.5 基本从端口写传输,它是所有其他Avalon从端口写传输的参考标准。,基本从端口写传输由Avalon交换结构发起,每次由Avalon交换结构向从端口传输一个数据单元。,传输过程需要一个时钟周期。,当 writedata 8位时,由字节使能信号byteenable指定写入特定的字节段。通常,片外16位或32位存储器,均使用byteenable。,基本从端口写传输适用于在一个总线时钟周期内捕获数据的同步从外设,不适合异步外设。,舱质晕逮暑跃瓮钩沽盲委隔宗饼钞台狭睁撰蜀唇钒眩即觉

48、动豁析晶禄连匝嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,基本从端口写传输时序,说明 A:开始于clk上升沿 B:设置address、byteenable、write和writedata有效 C:对address译码,驱动片选chipselect D:从端口捕获地址、片选、写信号,取走数据。,达湃趴帆溯账证丙斤炔终宣扦气逝例苦病悯摔苔萝咏湛跋遮腻耪弊严魏录嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,若从外设不能在一个总线时钟周期内捕获数据,则需插入等待周期(固定等待、可变等待)。,具有固定等待周期的从端口写传输?,具有可变等待周期的从端口写传输?,请同学看书,学习!,郭不驻率蹲闽嘲不撤园领逻迪昨脖荷潜历惯烬毙蛮管买恼烙炯疑缕滴舱奎嵌入式设计技术的工程方法第3章基于niosii的sopc嵌入式设计技术的工程方法第3章基于niosii的sopc,3.3 Avalon主端口传输,3.3.1 Avalon主端口信号,讥减

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1