[工学]第四讲 NIOS 微处理器与Avalon总线.ppt_第1页
[工学]第四讲 NIOS 微处理器与Avalon总线.ppt_第2页
[工学]第四讲 NIOS 微处理器与Avalon总线.ppt_第3页
[工学]第四讲 NIOS 微处理器与Avalon总线.ppt_第4页
[工学]第四讲 NIOS 微处理器与Avalon总线.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第四讲、SOPC Builder开发工具 4.1 Nios II软核处理器介绍 4.2 SOPC Builder开发工具介绍 4.3 SOPC Builder的用户界面 4.4 SOPC Builder的设计流程 4.5 Avalon 总线简介,4.1 Nios II软核处理器介绍 2000年,ALTERA发布了Nios处理器,它是基于RISC技术的通用嵌入式处理器芯片软内核,特别为可编程逻辑进行了优化设计。第一代 Nios 嵌入式处理器性能达到50 MIPS, 采用16位指令集, 16/32位数据通道,5级流水线技术。 2004年, ALTERA发布了Nios II嵌入式处理器,在Cyclone II器件上可以达到100 DMIPS,在Stratix II上可以达到超过200 DMIPS,与第一代Nios相比,最大处理性能提高3倍,面积最大可缩小1/2。,4.1 Nios II软核处理器介绍,软核处理器的特点: (1)合理的性能组合:Nios II具有快速型,标准型,经济型三种内核。 (2)多处理器系统:在同一片FPGA内集成多处理器,而不用重新设计PCB。 (3)定制指令:扩展处理器指令,是处理复杂算术运算和加速逻辑的最佳途径。 (4)硬件加速:在同一片FPGA内不仅集成处理器,还可集成用户自定义的硬件加速模块。 (5)更大规模的系统集成,降低系统成本。,4.1 Nios II软核处理器介绍,4.1 Nios II 软核处理器介绍,三种Nios II内核的比较:,第四章、SOPC Builder开发工具,4.2 SOPC Builder开发工具介绍 一、SOPC Builder简介Nios II系统硬件开发工具 SOPC Builder是ALTERA推出的在PLD内实现嵌入式处理器相关设计的工具。SOPC Builder允许用户将工作重点集中在系统级的需求上。设计者可以在SOPC Builder中定义一个从硬件到软件的完整系统。,4.2 SOPC Builder开发工具介绍,SOPC Builder提供了一个强大的平台,用于组建一个在模块级和组件级定义的系统。 所有的Quartus II用户都能把一个基于Nios II处理器的系统经过生成、仿真和编译进而下载到Altera FPGA中,进行实时评估和验证。 SOPC Builder库中已有的组件包括: (1)处理器:片内处理器; (2)IP及外设:包括通用的微控制器外设、通信外设、多种接口(存储器接口、桥接口、PCI接口)、数字信号处理(DSP)IP和硬件加速外设。,二、SOPC Builder 特点: (1)具有直观的图形用户界面 用户可以快速方便的定义和连接复杂的系统。 (2)自动生成和集成软件与硬件 SOPC Builder不仅可以生成硬件部件以及连接部件的片内总线结构,仲裁和中断逻辑;还可以生成C和汇编头文件,包含了存储器映射,中断优先级,和每个外设寄存器空间的数据结构。 (3)开放性 用户可以将自己设计的部件添加到SOPC Builder的列表中。,4.2 SOPC Builder开发工具介绍,4.3 SOPC Builder的用户界面 一、系统元件页 (1)模块池:列出所有可用的库元件以及许可程度;如果用户有Internet连接,可以下载或更新元件; (2)模块列表:包括连接的主、从性,系统地址映射,系统中断请求分配,控制共享从元件的优先权; (3)添加元件到模块:点击Add,并完成相应的参数摄制或安装,即可完成元件添加; (4)附加设置: a.器件系列:用户选择的目标器件; b.系统时钟频率:外围设备利用系统时钟来产生的时钟分频或波特率。,4.3 SOPC Builder的用户界面,二、系统设置页 设置一些附加参数,如用户可以定义程序存储器,数据存储器,reset(复位)address,exception (异常)address,设置是否支持SDK模式(第一代Nios的软件开发模式)。,4.3 SOPC Builder的用户界面,三、系统生成页,4.3 SOPC Builder的用户界面,四、 HDL选项 当用户选择HDL选项,SOPC Builder能用VHDL语言生成系统级的硬件描述语言文件,包括: (1)系统中每个元件的实例; (2)元件之间相互连接的总线逻辑:包括地址译码器,数据总线复用器,对共享资源的仲裁器,复位生成和条件逻辑,中断优先权逻辑,动态总线宽度,主、从设备接口的连接; (3)仿真测试,包括验证系统模块,用默认的驱动时钟和复位输入,对外部元件的验证和连接。,4.3 SOPC Builder的用户界面,五、 Simulation选项 如果选择Simulation选项,SOPC Builder会创建一个ModelSim的工程目录,包括: (1)所有存储器元件的仿真数据; (2)Setup_sim.do文件:它包含了启动设置和其它对仿 真生成系统的设置; (3)Wave_preset.do文件:它包含一个对总线接口波形的初始化设置; (4)一个当前系统的ModelSim工程文件(.mpf)。,4.3 SOPC Builder的用户界面,4.4 SOPC Builder的设计流程 在熟悉SOPC Builder开发工具的基础上,现在我们开始了解SOPC Builder的设计流程。 一、 系统需求分析 对CPU运行性能有什么要求?时钟频率多少?是否需要硬件加速乘法器? 设计需要什么样的外围设备?需要多大的存储设备?需要什么样的通信接口?,第四章、SOPC Builder开发工具,二、 SOPC设计开发流程: (1)在Quartus II下创建一个Project (2)打开SOPC Builder,4.4 SOPC Builder的设计流程,(3)配置系统 (a)指定使用的开发板和系统的时钟频率,SOPC Builder支持多时钟域设计。,4.4 SOPC Builder的设计流程,(b)配置Nios II处理器 Nios II是软核处理器, 所以配置灵活, 用户可以按设计需要选择所不同类型的Nios II处理器。同样, NiosII处理器的性能也和用户使用的不同FPGA器件用很大的关系。在Nios II配置界面,用户可看到当前使用的哪个系列的FPGA器件,不同类型的Nios II处理器的性能及特性。 如果选择支持缓存的Nios II,用户还可以配置指令缓存和数据缓存的大小。(需视FPGA的资源而定) 如果选择支持硬件乘法器的Nios II, 用户可以配置硬件乘法器是用逻辑单元实现,还是DSP块实现(仅Stratix/Stratix II系列支持),或是硬件18x18乘法器实现(仅Cyclone II系列支持)。,4.4 SOPC Builder的设计流程,4.4 SOPC Builder的设计流程,(c)配置JTAG调试模块 JTAG调试模块可以完成系统的下载,程序的调试,还可以当成一个普通的UART设备使用。在开发阶段是必不可少的模块。JTAG调试模块分为4级,第4级需要第三方公司的硬件调试器支持。,4.4 SOPC Builder的设计流程,4.4 SOPC Builder的设计流程,(d)配置外设及其它设备 配置完处理器,还需要配置 RAM, PIO,FLASH,UART,TIMER等外围设备。对于RAM,FLASH等三态设备,还需要添加Avalon总线到三态设备的总线桥等等。 对每个设备,系统会自动分配设备名称,地址和中断,用户也可以自己指定设备名称,地址和中断优先级。对于存储设备,用户还可以锁定地址。,4.4 SOPC Builder的设计流程,4.4 SOPC Builder的设计流程,(e)配置reset地址和exception地址 reset地址一般设为非易失性存储器地址,exception地址一般设为主存储器设备的地址。 配置完毕,点击Generate按键,SOPC Builder开始按照用户的配置生成硬件模块、软件头文件、系统文件、仿真文件等。 当SOPC Builder全部运行完毕后,用户点击exit,即可退出SOPC Builder,回到 Quartus II主界面。,4.4 SOPC Builder的设计流程,4.4 SOPC Builder的设计流程,(4)添加Nios II处理器模块 将生成的Nios II处理器模块添加到前面创建的Project的原理图中,并添加与Nios II处理器相关的 IO接口,这样就完成了SOPC的设计。,4.4 SOPC Builder的设计流程,4.5 Avalon总线简介 总线的定义: (1)总线最初是指计算机系统中各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共通路,例如PCI总线。 (2)随着电子计算机技术和通信技术的发展,总线的概念也被更广泛的使用,现在总线一词不仅用于表示计算机系统中的信号线的集合,也用于表示各种通信系统,例如现场总线,USB总线,485总线。 (3)简而言之,可以这样认为,总线就是一种通信规范以及规范的实现方法,不论是计算机系统还是通信领域。,第四章、SOPC Builder开发工具,计算机总线的分类: (1)按相对于CPU或其它芯片的位置可分为:片内总线、片外总线 ; (2)按总线的功能可分为:地址总线、数据总线、控制总线 ; (3)按总线的层次结构可分为: CPU总线、存储总线、系统总线、外部总线;,4.5 Avalon总线简介,基于IP核互联标准技术的发展,已形成较有影响力的三种片内总线标准为: IBM公司的CoreConnect(和Xilinx公司合作,应用于Xilinx公司的FPGA) ARM公司的AMBA(Advanced Microcontroller Bus Architecture) Silicore Corp公司的Wishbone(先已交由Opencores维护),4.5 Avalon总线简介,Avalon 总线 Avalon总线由ALTERA公司提出,用于在基于FPGA的片上系统中连接片内处理器和片内外设的总线结构。 连接到Avalon总线的设备分为主从设备,并各有其工作模式。 Avalon总线本身是一个数字逻辑系统,它在实现“信号线汇接”这一传统总线功能的同时,增加了许多内部功能模块,引用了很多新的方法,比如从端仲裁模式,多主端工作方式,延时数据传输,这些功能使得在可编程逻辑器件中可以灵活的实现系统增减和IP复用。,4.5 Avalon总线简介,Avalon 总线,Avalon总线是一个设计用于在基于FPGA的片上系统中连接片内处理器和片内外设的总线结构。与AMBA不同的是,后者设计之初就是考虑用于处理器的设计,而非片上系统。 设计这样一个系统总线结构,主要考虑了一下三个 目标: 1.简化片上系统的互联规则,提供一种易用的接口。 2.为总线逻辑优化节省系统资源。 3.同步工作模式。,Avalon 总线,上图展示了Avalon总线在SoPC中的位置和作用。 如图所示,Avalon总线主要用于连接Nios处理器核和各种片内/外设备,片外设备主要包括存储器,PCI接口设备,片内设备主要包括串行接口,时钟电路,通用I/O等一些标准的外设和用户自定义的数字电路逻辑。,4.5 Avalon总线简介,Avalon总线重要特性:,简单的基于向导的配置; 并行的多控制器; 多达4GB的地址空间; 同步接口; 嵌入式地址译码; 带延迟的读写操作; 数据流处理; 动态的外围设备接口大小; 具有支持三态门的I/O接口。,Avalon总线主要功能 (1)数据通道复用多路复用器选择性的把数据从从设备传到适当的主设备,而不是像传统的总线那样,一旦有数据传输,则整个总线都被占用。 (2)地址解码地址解码的主要功能是将地址信号转换成片选信号,因为并非所有的外设都需要进行地址解码,特别是一些简单的外设,这样就避免了传统总线设计模式中,所有的外设都需要解码逻辑的情况。 (3)产生等待状态等待状态产生主要用于一些慢速设备的特殊同步需要,等待状态用以延长一个数据传输行为的时钟周期数,从而使得慢速设备也能跟上系统的工作速度。,4.5 Avalon总线简介,(4)动态总线宽度调整将传统总线中数据对齐的问题和实现方法掩盖起来,自动根据主从设备的数据带宽和传输邀请进行总线宽度对齐和匹配。 (5)中断优先级分配当多个从端设备同时产生中断请求时,Avalon总线模块自动进行优先级比较,并传递合适的中断信号到对应的主设备,这样的设计方法使得主设备不用再设计自己的中断检测判断模块。 (6)延时传输能力Avalon总线逻辑同时包含产生延时传输所需要的时序逻辑,主从设备都不需要考虑传输的建立时延,反应时延所产生的额外的时序要求。 (7)流读写能力Avalon总线还包含流控制的逻辑,从而优化了主从设备间的连续大量的数据传输。,4.5 Avalon总线简介,从设备 的 Avalon 总线 信号,4.5 Avalon总线简介,主设备 的 Avalon 总线 信号,4.5 Avalon总线简介,Avalon 总线传输的类型 按外围设备分有主从端传输的区别 按方向分有读和写的区别 按传输模式分: 基本的avalon总线传输 带延迟的总线传输 固定延迟 可变延迟 流模式传输 不同的传输类型大同小异。,4.5 Avalon总线简介,基本的avalon总线slave读传输。,4.5 Avalon总线简介,传输从一个clk的上升沿开始,首先由avalon总线输出地址,读使能信号。同时avalon总线对地址信号解码,输出相应的片选信号。从端在同一个时钟周期内返回有效的数据。Avalon总线在下一个时钟上升沿获得数据,同时开始下一个传输。,基本的avalon总线slave读传输。,4.5 Avalon总线简介,基本的avalon总线slave写传输。,4.5 Avalon总线简介,传输从一个clk的上升沿开始

温馨提示

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

评论

0/150

提交评论