欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    何宾Tel13911127536emailhebin@mail.buct.edu.cn 版权所有禁止未经授权的商业使用行为.ppt

    • 资源ID:5012807       资源大小:1.78MB        全文页数:142页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    何宾Tel13911127536emailhebin@mail.buct.edu.cn 版权所有禁止未经授权的商业使用行为.ppt

    何宾Tel:13911127536 email:,版权所有,禁止未经授权的商业使用行为,北京中教仪装备技术有限公司,所有培训资料均可从网站http:/下载,培训内容,Xilinx片上可编程系统设计导论 AXI4规范 MicroBlaze处理器原理 EDK13.1工具概述 操作系统(OS)及板级支持包(BSP)概述 基于MicroBlaze和AXI4的可编程SoC系统实现,基于AXI4的可编程SoC系统设计,片上可编程系统设计导论-基本概念,基于现场可编程门阵列(Field Programmable Gate Array,FPGA)的可编程SoC系统(Programmable-System-on-a-chip,P-SoC),包含嵌入式的软核或硬核处理器、存储器和硬件加速器。P-SoC的出现为设计者提供了设计高性能嵌入式系统和优化系统的条件。,注:为了后面叙述方便,将Xilinx的可编程SoC系统,英文简述为P-SOC。用于区分其它SOC的系统。,片上可编程系统设计导论-基本概念,P-SoC嵌入式处理器分为软核和硬核处理器两大类。Xilinx提供了将物理的处理器核集成到FPGA硅片上的硬核处理器产品。一个处理器使用专门的硅片实现称为硬核处理器,比如Xilinx:将PowerPC 405/440硬核集成到Virtex系列的FPGA芯片中;将ARM Cortex-A9 MP双核处理器集成在Zynq-7000系列的FPGA芯片中。,片上可编程系统设计导论-基本概念,软核处理器是通过使用FPGA的通用逻辑实现的。软核处理器通过HDL语言或网表进行描述的。软核处理器必须进行综合才能使用。比如Xilinx:提供32位的软核处理器MicroBlaze;提供8位的软核控制器Picoblaze;,片上可编程系统设计导论-基本概念,在基于软核和硬核处理器的P-SoC系统中,本地存储器、处理器总线、内部外设、外设控制器和存储器控制器必须使用FPGA的通用逻辑实现。下面给出Xilinx公司的软核和硬核处理器的性能。,片上可编程系统设计导论-Xilinx P-SoC类别,片上可编程系统设计导论-基本概念,由于持续的要求嵌入式系统具有更多的功能、更好的性能和灵活性,因此传统上的设计方法已经不适应这种要求。当设计人员试图通过高性能的嵌入式处理器得到更高的性能时,遇到了吞吐量和性能方面的限制,而这种限制源于系统和结构的瓶颈,以及存储器带宽的限制。现在解决问题的方法是“专用”,即对某个嵌入式系统应用使用专门的解决方法。比如,数字信号处理器DSP用于解决某一类专门的数字信号处理。对于一些高容量的应用,设计人员可能还需要专门开发ASIC芯片。,片上可编程系统设计导论-基本概念,很多FPGA厂商将专用的嵌入式处理器PowerPC、ARM等嵌入到FPGA芯片中。这种集成嵌入式处理器的FPGA芯片被定义成FPGA的平台。这种基于FPGA的嵌入式平台提供了一个灵活的解决方案。在这个解决方案中,一个单FPGA芯片上提供了大量不同的IP软核和硬核资源。这些固件和硬件可以在任何时间进行升级。这种可编程的结构特点,大大缩短了系统的开发时间,而同一平台能应用在很多领域,提高了平台的资源复用率。,片上可编程系统设计导论-基本概念,FPGA平台结构使设计人员可以优化系统吞吐量和开发周期,提供前所未有的软件和硬件协同设计的灵活性,这种灵活性主要体现在设计人员能够权衡软件和硬件设计的实现方法。这种协同性不同于传统的嵌入式系统的协同设计,虽然以前也使用软件和硬件的协同设计,但是在实现级别上基本上还是使用大量的分离的设计流程。,片上可编程系统设计导论-基本概念,FPGA平台,即P-SoC集成了传统软核和硬核处理器、片上总线、大量不同的I/O设备和接口标准、定制的硬件加速理器,以及混合的定制的总线或点对点的拓扑结构,以提高系统的性能。在P-SoC的层次上,FPGA的应用领域已经大大扩宽了,它不再只用于连接不同接口设备的“连接逻辑”。由于FPGA的容量和性能不断提高,因此它就逐步地变成嵌入式系统的中心。,片上可编程系统设计导论-基本概念,在P-SoC阶段,设计已经从以硬件描述语言HDL为中心的硬件设计,转换到了以C语言进行功能描述为中心。形成了以C语言描述P-SoC的功能,而用HDL语言描述硬件的具体实现方法。这也是和传统的FPGA设计和嵌入式系统设计最大的区别,即软件和硬件的真正的协同设计。,片上可编程系统设计导论-基本概念,作为新的嵌入式系统的设计平台,使用P-SoC进行嵌入式系统设计具有以下几个方面的优点:,1、定制 2、延缓过时 3、降低元件成本 4、硬件加速,片上可编程系统设计导论-设计流程,正如前面所说,基于P-SoC的嵌入式系统的设计需要软件和硬件的协同设计。下面给出了Xilinx公司使用XPS(Xilinx Platform Studio)和SDK(Software Development Kit)进行嵌入式系统设计的流程。Xilinx公司的XPS和SDK工具包用于开发基于FPGA平台的嵌入式系统,从图可以看出该工具支持传统的硬件和嵌入式软件的设计流程。注:从EDK13.1开始XPS不支持软件开发,软件开发必须在SDK中完成,片上可编程系统设计导论-P-SoC设计流程,SDK,XPS,片上可编程系统设计导论-设计流程,XPS支持硬核PowerPC、ARM Cortex-A9 MP和软核Microblaze处理器。并将设计的导入、创建和IP核定制进行了流水化的处理。由于XPS知道平台FPGA的硅片属性和选项,能自动的为其外设生成软件驱动、测试代码以及创建板级支持包BSP(Board Support Package)。这些BSP是常用的实时操作系统RTOS(Real-Time Operating System),比如VxWorks和嵌入式Linux提供的设备驱动。,片上可编程系统设计导论-设计流程,Xilinx的JTAG连接技术,完成FPGA的下载、FPGA的调试、C代码的下载和软件的调试。XPS和SDK工具集成了软件和硬件调试工具,使它们之间可以相互触发,这使得嵌入式系统内部变成“可见”,使嵌入式设计者能很快地找到和发现问题,而无需知道这个问题是软件还是硬件产生的。,片上可编程系统设计导论-设计优化,FPGA嵌入式处理器设计比较复杂,复杂程度甚至使那些有经验的设计人员在某些情况下都无能为力,因此为了获得FPGA平台的优势必须进行权衡。下面给出一些在设计FPGA的P-SoC嵌入式系统时,会使用到的一些优化技术。,片上可编程系统设计导论-设计优化,1、优化级别2、使用FPGA厂商的优化指令3、汇编4、混杂,片上可编程系统设计导论-存储器使用,只用本地存储器:最快的存储器的选择是将所有的代码放在本地存储器中。只用外部存储器:如果将所有程序放在外部存储器中,将使系统的性能降到最低。高速缓存:在建有PowerPC处理器的FPGA硅片上建立了的指令和数据高速缓存。使其对处理器总保持性能优势。分配代码到内部存储器、外部存储器和高速缓存。,片上可编程系统设计导论-专用P-SoC优化技术,1、提高FPGA工作频率 逻辑优化2、面积和时序约束3、硬件加速 使用硬件除法器和桶型移位寄存器。软件瓶颈转换为硬件处理。可以使用硬件协处理的 算法有:DCT变换、FFT变换、MP3解码器、DES和AES、矩阵等。使用硬件协处理,可以使性能提高数十倍或数百倍。,片上可编程系统设计导论-Xilinx P-SoC芯片(目前),适合进行P-SoC设计的FPGA芯片低端产品有Spartan系列,高端产品有Virtex系列。Spartan系列FPGA只用于MicroBlaze软核处理器的片上系统设计,Virtex系列FPGA可以用于MicroBlaze软核处理器和PowerPC硬核处理器的片上系统设计。,片上可编程系统设计导论-P-SoC芯片(未来),片上可编程系统设计导论-P-SoC芯片(未来)-吸引全球目光,AMBA AXI4协议-概述,Xilinx 同 ARM 密切合作,共同为基于 FPGA 的高性能系统和设计定义了 AXI4 规范。并且在其新一代可编程门阵列芯片上采用了高级可扩展接口(Advanced eXtensible Interface,AXI)协议。AXI总线是ARM高级微控制器总线结构(Advanced Microcontroller Bus Architecture,AMBA)的一部分。AXI总线的第一个版本包含在AMBA3.0(2003年发布)中,AXI总线的第二个版本AXI4包含在AMBA4.0(2010年发布)中。,AMBA AXI4协议-概述,旧的 性能 新的,AMBA AXI4协议-概述,AMBA AXI4协议-概述,最新一代的AMBA接口的目标是:适合于高带宽和低延迟设计;在不使用复杂的桥接方式下,允许更高频率的操作;满足普遍情况下的元件接口要求;适用于高初始访问延迟的存储器控制器;为互联结构的实现提供了灵活性;与已有的AHB和APB接口向下兼容。,AMBA AXI4协议-概述,AXI协议的关键特性表现在以下几个方面:独立的地址/控制和数据阶段;使用字节选通,支持非对齐的数据传输;只有开始地址的猝发交易;独立的读和写数据通道,可以使能低成本的直接存储器访问DMA传输;能发出多个未解决的地址;完成无序交易;容易添加寄存器slice,满足时序收敛要求;,AMBA AXI4协议-概述,AMBA 3.0(2003),AMBA 4.0(2010),AMBA AXI4协议-概述,处理器r,外设,PLBv46,仲裁器,AXI 从设备,“互连”,AXI,AXI,AXI,AXI,AXI,“共享访问”总线规范的一部分,箭头表示主/从关系,而不表示数据流的方向,主,从,AXI,AXI,AXI,PLB,PLB,PLB,PLB,AXI 主设备,AXI,AXI,PLBv46 是总线规范/AXI是一个接口规范,13-31,Hardware Design,AMBA AXI4协议-AXI4功能,AXI4协议基于猝发式传输机制。(1)在地址通道上,每个交易有地址和控制信息,这些信息描述了需要传输的数据性质。(2)在主设备和从设备之间所传输的数据分别使用到从设备的写数据通道和到主设备的读数据通道。(3)在从主设备到从设备的写数据交易中,AXI有一个额外的写响应通道,从设备通过该通道向主设备发出信号表示完成写交易。,AMBA AXI4协议-AXI4功能,所有的AXI4包含了5个不同的通道:读地址通道(Read address channel,AR);写地址通道(Write address channel,AW);读数据通道(Read data channel,R);写数据通道(Write data channel,W);写响应通道(Write response channel,B);,AMBA AXI4协议-AXI4功能,每个通道由一个信号集构成,并且使用双向的VALID和READY握手信号机制。(1)信息源使用VALID信号,表示在通道上存在可用的有效数据或者控制信息;(2)而信息接收源使用READY信号,表示可以接收数据。(3)读数据通道和写数据通道也包含LAST信号,该信号用来表示在一个交易发生时,最后一个传输的数据项。,AMBA AXI4协议-AXI4功能,AMBA AXI4协议-AXI4功能,AMBA AXI4协议-AXI4功能,读和写交易有各自的地址通道。地址通道上给出交易所要求的地址和控制信息。AXI4读和写地址通道包括下面的机制:可变长度的猝发操作,每次猝发操作包含1-256数据;提供服务质量(QoS)信号支持多个区域接口;猝发传输不能超过4k边界;包裹、递增和非递增猝发;使用互斥和锁的原子操作;系统级缓存和缓冲控制;安全和特权访问。,AMBA AXI4协议-写地址通道信号及其信号定义,AMBA AXI4协议-读地址通道信号及其信号定义,AMBA AXI4协议-读数据通道信号及其信号定义,读数据通道传送所有来自从设备到主设备的读数据及读相应信息。读数据通道包括:数据总线宽度:8、16、32、64、128、256、512和1024位宽度;读响应表示读交易完成的状态,AMBA AXI4协议-读数据通道信号及其信号定义,AMBA AXI4协议-写数据通道信号及其信号定义,写数据通道传送所有从主设备到从设备的写数据。写数据通道包括:数据总线宽度:8、16、32、64、128、256、512和1024位宽度;每8位有一个字节通道选通,用来表示数据总线上的哪个字节是有效的;,AMBA AXI4协议-写数据通道信号及其信号定义,AMBA AXI4协议-写响应通道信号及其信号定义,写响应通道提供了一种方法,用于从设备响应写交易。所有的写信号使用完成信号。每个响应用于一次猝发的完成,而不是用于每个交易的数据。,AMBA AXI4协议-写响应通道信号及其信号定义,AMBA AXI4协议-读猝发交易过程中典型信号的交互过程,AMBA AXI4协议-读猝发交易过程中典型信号的交互过程,在读交易中:在确认ARREADY信号前,从设备能等待确认ARVALID信号;在从设备通过确认RVALID信号开始返回数据前,必须等待确认 所有的ARVALID和ARREADY信号;,AMBA AXI4协议-写猝发交易过程中典型信号的交互过程,AMBA AXI4协议-写猝发交易过程中典型信号的交互过程,AMBA AXI4协议-写猝发交易过程中典型信号的交互过程,在写交易中:在确认AWVALID和WVALID信号前,主设备不需要等待从设备确 认AWREADY或者WREADY信号;在确认AWREADY前,从设备能等待AWVALID或WVALID信号,或者全部这两个信号;在确认WREADY前,从设备能等待AWVALID或WVALID信号,或 者全部这两个信号;从设备在确认BVALID前,从设备必须等待确认所有的AWVALID 和AWREADY信号;在确认BVALID前,从设备不需要等待主设备确认BREADY信号。在确认BREADY前,主设备能等待BVALID信号;,AMBA AXI4协议-互连模型(直通模式),AMBA AXI4协议-互连模型(转换模式),连接一个主设备和一个从设备时,AXI互联能执行不同的转换和流水线功能。这些功能主要包括:数据宽度转换;时钟速率转化;AXI4-Lite从适应;AXI-3从适应;流水线(例如一个寄存器Slice或者数据通道FIFO)。在只转换模式下,AXI互联不包含仲裁、解码或布线逻辑,但是可能产生延迟。,AMBA AXI4协议-互连模型(转换模式),AMBA AXI4协议-互连模型(N-1模式),AXI互联的一个普通的退化配置模式是,多个主设备访问一个从设备。典型的情况是,一个存储器控制器,很显然需要仲裁逻辑。这种情况下,AXI互联不需要地址译码逻辑(除非需要确认地址的有效范围)。在这个配置中,也执行数据宽度和时钟速率的转换。,AMBA AXI4协议-互连模型(N-1模式),互联,主设备0,从设备0,图2.9 N-1互联模式,主设备1,仲裁器,AMBA AXI4协议-互连模型(1-N模式),另一个AXI互联退化的结构是,一个主设备,典型的处理器,访问多个存储器映射的从外设。在这种模式下,AXI互联不执行仲裁(在地址和写数据通道)。,AMBA AXI4协议-互连模型(N-M模式),AXI互联提供了一种共享地址多数据流(SAMD)拓扑结构,这种结构中包含稀疏的数互联写交易仲裁器.,AMBA AXI4协议-互连模型(N-M模式),AMBA AXI4协议-AXI4-Lite功能,AXI4-Lite接口是AXI4接口的子集专用于和元件内的控制寄存器进行通信。AXI4-Lite允许构建简单的元件接口,这个接口是较小的,对设计和验证方面的要求更少。AXI4-Lite接口的关键特性包含:所有交易的猝发长度为1;所有访问数据的大小和数据总线宽度相同;支持数据总线宽度为32位或64位(要求64位原子访问);所有的访问相当于AWCACHE和ARCACHE等于b0000(非缓冲和非缓存的);不支持互斥性操作;,AMBA AXI4协议-AXI4-Lite功能,AMBA AXI4协议-AXI4-Lite功能,AMBA AXI4协议-AXI4-Stream功能,AXI4-Stream协议作为一个标准的接口,这个接口用于连接希望交换数据的元件。接口用于将产生数据的一个主设备和接收数据的一个从设备连接。当很多元件和从元件连接时,也能使用这个协议。协议支持使用具有相同设置共享总线的多个数据流,允许建立一个互联结构,这个结构能够执行扩展、压缩和路由操作。,AMBA AXI4协议-AXI4-Stream功能,写响应通道,主接口,写数据,写数据,写数据,写数据,从接口,写数据通道,AMBA AXI4协议-AXI4-Stream功能,AMBA AXI4协议-AXI4-Stream功能,NCO,X,例子:数字上变频器,交织滤波器,I,Q,没有地址的概念空闲运行的数据(在这种情况下)在这种条件下,AXI4-Stream应该优化成非常简单的接口,结果,在DSP系统中的所有接口都是“流”接口,Hardware Design,AMBA AXI4协议-AXI4-Stream功能,PCIe,以太网,任何可封装的,使用协议的流接口可能是电气特性兼容的,但是彼此之间不能进行互相操作这些包包含不同的信息典型的需要创建一些“桥”逻辑。对于 AXI4-Stream,TRD的连接说明了这点,在PCIe核内的”用户”接口可以是”流”,但是数据被封装”,例子:PCI Express,Streaming Interface,User Logic/Bridge/etc,Hardware Design,MicroBlaze软核处理器原理-MicroBlaze软核处理器结构(V8.0),可选择的配置,指令一侧总线接口,数据一侧总线接口,MicroBlaze软核处理器原理-MicroBlaze软核处理器结构,从图中可以看出该处理器有以下几个方面的特点:采用指令和数据空间分离的哈佛结构;32个32位通用寄存器;32位的地址总线,可寻址空间4GB;32位3个操作数的指令字,指令字有2种寻址模式;单发(Single-issue,一个时钟周期发出一条指令)流水线结构;,MicroBlaze软核处理器原理-MicroBlaze软核处理器结构,采用指令预测分支策略和预取缓冲区;有独立的存储器管理单元对存储器空间进行管理;提供了可以使用硬件实现的功能单元:桶形移位寄存器;乘法器;除法器;浮点处理单元;提供了丰富的外设接口资源;采用点对点的流连接结构和共享总线的结构;,MicroBlaze软核处理器原理-MicroBlaze存储器结构,MicroBlaze处理器采用哈佛存储器结构,即指令和数据访问使用独立的地址空间。每个一个地址空间都是32位范围(即,它们可以独立访问4GB地址空间的指令和数据存储器)。MicroBlaze所有的指令和数据接口,默认情况下是32位,使用大段或小段,位反转格式(取决于C_ENDIANNESS)。MicroBlaze支持对数据存储器的字,半字和字节访问。,MicroBlaze软核处理器原理-MicroBlaze存储器结构,MicroBlaze处理器采用存储器映射方式访问I/O设备,即存储器和I/O设备采用统一编址方式。处理器有下面三种接口用于存储器访问:本地存储器总线(LMB);高级可扩展接口AXI4或处理器本地总线(PLB);高级可扩展接口AXI4或Xilinx CacheLink(XCL);,MicroBlaze软核处理器原理-MicroBlaze存储器结构,特别注意:当时用AXI4时,C_ENDIANNESS自动设置为小段;使用PLB时,自动设置为大段。处理器指令和数据缓存可以配置成4/8字的缓存行(缓存最小结构单位)。缓存行越大,可存放的代码就越长,执行效率也就越高。但是当程序中使用很多的随机访问模式时,会降低缓存的命中率,因此给定大小的缓存行反而会降低性能。,MicroBlaze软核处理器原理-MicroBlaze浮点处理单元FPU,MicroBlaze处理器的浮点单元FPU基于IEEE754标准:使用IEEE754单精度浮点格式,包括无穷大定义,不是一个数(NaN)和零;支持加、减、乘、除、比较、转换和平方根指令;实现最近舍入(round-to-nearest)模式;产生状态位用于:下溢、上溢、除数为零和无效操作;,IEEE754单精度格式,MicroBlaze软核处理器原理-MicroBlaze软核处理器流水线,当采用面积优化时,流水线分为三级,即:取指,译码和执行,这样可以减少硬件开销。,MicroBlaze软核处理器原理-MicroBlaze软核处理器流水线,当不使用面积优化时,流水线分为五级:取指、译码、执行、访问存储器和回写,这样可以提高性能。下图给出了五级流水结构。,MicroBlaze软核处理器原理-MicroBlaze软核处理器寄存器,程序计数器(PC)机器状态寄存器(MSR)异常地址寄存器(EAR)异常状态寄存器(ESR)分支目标寄存器(BTR)浮点状态寄存器(FSR)异常数据寄存器(EDR)进程标识寄存器(PID)区域保护寄存器(ZPR),MicroBlaze软核处理器原理-MicroBlaze软核处理器寄存器,转换旁视缓冲低位寄存器(TLBLO)转换旁视缓冲高位寄存器(TLBHI)转换旁视缓冲索引寄存器(TLBX)TLB查找索引寄存器(TLBSX)处理器版本寄存器(PREV),MicroBlaze软核处理器原理-MicroBlaze处理器虚拟存储器管理,运行在MicroBlaze处理器的应用程序要求使用有效地址访问4GB地址空间。处理器通过转换模式,以下面两种方式理解该地址空间。,在实模式下,有效地址直接访问物理存储器;在虚拟模式下,通过处理器的虚拟存储器管理硬件(MMU)有效地址被转化物理地址。,MicroBlaze软核处理器原理-MicroBlaze软核处理器MMU,MMU完成以下几个功能:,1)将有效地址转化成物理地址;2)在地址转换时,控制页面级访问;3)在使用区域时,提供额外的虚拟模式保护控制;4)对指令地址、数据地址转换和保护提供独立控制;5)支持8种页面尺寸:1KB,4KB,16KB,64KB,256KB,1MB,4MB和16MB;6)软件提供页面替换策略;,MicroBlaze软核处理器原理-MicroBlaze处理器MMU实模式,当处理器取指或使用加载/存储指令访问数据时,处理器查看存储器。程序使用处理器计算得到的32位的有效地址查看存储器的位置。当使用实模式时,物理地址和有效地址是一样的。,MicroBlaze软核处理器原理-MicroBlaze处理器MMU虚模式,在虚拟模式下,将有效地址转换成物理地址。通过设置MSR寄存器的VM比特来使能虚拟模式下的存储器管理。,MicroBlaze软核处理器原理-MicroBlaze处理器的事件及处理,MicroBlaze支持复位、中断、用户异常、断点和硬件异常。下面将描述和这些事件相关的处理流程。这些事件按优先级从高到低依次为:复位、硬件异常、非屏蔽断点、断点、中断、用户矢量(异常)。下表记录了这些事件相关的存储器地址和保存返回地址的寄存器。每个矢量分配了两个地址以便允许全地址范围分支(要求 BRAI IMM指令)。地址范围0 x28-0 x4f是为支持将来的Xilinx软件而保留的。,MicroBlaze软核处理器原理-MicroBlaze处理器的事件及处理,MicroBlaze软核处理器原理-MicroBlaze处理器的数据缓存,MicroBlaze处理器有可选的数据缓存提高性能。缓存的存储器地址不得在LMB的地址范围内。数据缓存有以下特点:,直接映射(1-way 关联);完全写入;用户可选择的缓存地址范围;可配置的缓存和标记大小;CacheLink(XCL)接口上的缓存;选择使用4/8线字缓存行;使用MSR寄存器控制打开/关闭缓存;可选的;WDC指令使指令缓存行无效。,MicroBlaze软核处理器原理-MicroBlaze处理器的指令缓存,MicroBlaze处理器可选择指令缓存,当执行那些驻留在LMB地址范围外的代码时,使用指令缓存可以提高性能。指令缓存有以下特点:,直接映射(1-way 关联);用户可选择的缓存地址范围;可配置的缓存和标记大小;CacheLink(XCL)接口上的缓存;选择使用4/8线字缓存行;使用MSR寄存器控制打开/关闭缓存;可选的WIC指令使指令缓存行无效。,MicroBlaze软核处理器原理-MicroBlaze处理器的调试,MicroBlaze有的调试接口可以用来支持基于JTAG的软件调试工具(BDM或后台调试模式调试器),比如Xilinx Microprocessor Debug(XMD)工具。调试接口用于和Xilinx Microprocessor Debug(XMD)连接,XMD和Xilinx的JTAG端口连接。多个MicroBlaze的例子(例化)使用单个XDM连接进行多处理器调试。,MicroBlaze软核处理器原理-MicroBlaze处理器的调试,调试特点有以下几个方面:可配置硬件断点数目、观察点和无限的软件断点;外部处理器控制使能调试工具停止、复位和单步;读写存储器,通用寄存器,特殊功能寄存器EAR,EDR,ESR,BTR和PVR0-PVR11只读;支持多处理器;写指令和数据缓存。,MicroBlaze软核处理器接口-MicroBlaze软核处理器接口概述,MicroBlaze处理器具体外部接口定义如下:M_AXI_DP:外设数据总线,AXI4-Lite或者AXI4接口;DPLB:数据接口,处理器本地总线;DLMB:数据接口,本地存储器总线(只有BRAM);M_AXI_IP:外设指令接口,AXI4-Lite接口;IPLB:指令接口,处理器本地总线;ILMB:指令接口,本地存储器总线(只有BRAM);M0_AXIM15_AXIS:AXI4_Stream接口,主直接连接接口;S0_AXISS15_AXIS:AXI4_Stream接口,从直接连接接口;,MicroBlaze软核处理器接口-MicroBlaze软核处理器结构,MFSL0.15:FSL主接口;DWFSL0.15:FSL主直接连接接口;SFSL0.15:FSL从接口;DRFSL0.15:FSL从直接连接接口;DXCL:数据侧Xilinx CacheLink连接接口(FSL主/从对)M_AXI_DC:数据侧高速缓存AXI4接口IXCL:指令侧Xilinx CacheLink连接接口(FSL主/从对)M_AXI_IC:指令侧高速缓存AXI4接口Core:杂项信号:时钟,复位,调试和跟踪,MicroBlaze软核处理器接口-PLB结构,MicroBlaze软核处理器接口-PLB结构,1-16个PLB主设备,每个主设备将它们所有的信号连接 到PLB仲裁器上。PLB 仲裁器多路复用信号,这些信号从主设备到共享 总线上,所有从设备的输入被连接到共享总线上。n个 PLB从设备“OR”上它们的输出来驱动共享总线,并 且将其“OR”结果返回到PLB仲裁器上。PLB 仲裁器处理总线仲裁,并且在主设备和从设备之 间实现数据和控制信号的移动。,MicroBlaze软核处理器原理-本地存储器总线(LMB),LMB提供了单周期访问用于MicroBlaze处理器的片 上双口块RAM的能力LMB提供了简单同步协议用于高效的块RAM的传输DLMB:数据接口,本地存储器总线(只有BRAM)ILMB:指令接口,本地存储器总线(只有BRAM),MicroBlaze软核处理器原理-简单快速链路(FSL),单向的点对点的基于FIFO的通信专用的(非共享的)和无须仲裁的结构专用的 MicroBlaze C 和汇编指令用于访问FSL 高速,在主机侧两个时钟完成传输从XPS的Hardware Create or Import Peripheral Wizard菜单下来使用FSL接口,MicroBlaze软核处理器原理-简单快速链路(FSL),MicroBlaze软核处理器原理-CacheLink接口,对外部存储器的访问来说,XCL接口是高性能的解决方案。XCL通过使用集成的FSL缓冲区直接和存储器控制器连接,例如MPMC。这种方法有最低的延迟和最小数目的例化。下图给出了使用集成FSL缓冲区的XCL连接原理图。当缓存使能时,XCL接口可以使用。可以在指令侧或数据侧使用一个XCL缓存。,MicroBlaze软核处理器原理-MicroBlaze软核典型P-SoC结构,MicroBlaze32位 RISC核,UART,10/100E-Net,Memory Controller,片外存储器,FLASH/SRAM,快速简单链路FSL,0,1.15,定制功能,定制功能,BRAM,本地存储器总线,D-CacheBRAM,I-CacheBRAM,可配置大小,PLB,缓存连接,SDRAM,GPIO,PLB,片上外设,PLB的其它短是必须的,当有低速设备操作在低总线速度,需要仲裁器,当一个外设可作为主设备,想要对其它外设进行写操作,MicroBlaze软核处理器原理-MicroBlaze软核典型P-SoC结构,MicroBlaze,AXI 互连块,AXI DDR2/3 存储器控制器,AXI 互连块,BRAM,存储器,MDM,BRAM,I-LMB,D-LMB,MBDEBUG,Arrow direction indicates AXI Master/Slave relationship,DMA,GPIO,UARTLITE,RS232,Switches,Timer,中断控制器,Ethernet,Flash接口,To Flash,AXI PLB46 桥,AXI4,AXI4,AXI4,AXI4,AXI4,AXI4-Lite,AXI4,AXI4-Lite,AXI4-Lite,AXI4-Lite,AXI4-Lite,AXI4-Lite,AXI4,TEMAC,AXI4-Stream,AXI4 support is available starting v8.0,Xilinx片上系统开发平台结构-EDK工具包,Xilinx的EDK工具主要包含:Xilinx Platfrom Studio(XPS)人机界面、嵌入式系统工具套件、嵌入式处理IP核,比如处理器和外设、Platform Studio SDK(Software Development Kit,SDK)。SDK基于Eclipse开放源码框架,设计人员可以选择使用SDK开发自己的嵌入式软件应用程序(EDK13.1后必须使用SDK开发应用程序。,体会EDK13.1“生态设计,软件和硬件协同设计”,Xilinx片上系统开发平台结构-EDK开发流程,EDK中所提供的工具用来完成嵌入式设计的整个过程。下图给出了基本嵌入式设计流程。,Xilinx片上系统开发平台结构,EDK开发流程,Xilinx片上系统开发平台结构-硬件平台的建立,Xilinx的FPGA技术允许设计者在处理器子系统中定制硬件逻辑。这种定制不可能使用标准的现成的微处理器或控制器芯片。“硬件平台”是指设计人员根据应用的需要而使用Xilinx的技术建立的灵活地、嵌入式处理子系统。硬件平台是由一个或多个处理器或外设连接到处理器总线构成的。EDK通过微处理器硬件规范(Microprocessor Hardware Specification,MHS)文件记录硬件平台信息。,Xilinx片上系统开发平台结构-软件平台的建立,软件平台是软件驱动和用于建立应用程序的操作系统(可选)组成的。所建立的软件映像文件只包含用户所使用到的一部分Xilinx的库。EDK通过微处理器软件规范(Microprocessor SoftwareSpectifcation,MSS)记录软件平台信息。设计人员可以在软件平台运行多个应用程序。,Xilinx片上系统开发平台结构-使用仿真的硬件平台验证,验证硬件平台的正确功能,设计人员可以建立一个仿真模型,并且在HDL仿真器上运行。当仿真系统时,处理器运行可执行文件。设计人员可以选择建立行为、结构时序仿真模型。,Xilinx片上系统开发平台结构-使用调试的软件验证,调试嵌入式软件的基本技术是加载设计到所支持的开发板和使用调试工具去调试处理器。作为可选择的方式,设计人员可以使用指令集仿真器或简化系统仿真器模型运行在主机上来调试设计代码。设计人员可以通过概要分析代码的执行来估计系统性能。,Xilinx片上系统开发平台结构-芯片配置,一旦软件和硬件平台建立完成,设计人员可以为FPGA建立一个的配置比特文件。对于原型设计,当连接主机和芯片时,设计者可以在下载比特流时,将希望运行在嵌入式平台上的软件同时下载。对于产品,设计员将配置比特流和软件保存在和FPGA连接的非易失性存储器中。,Xilinx片上系统开发平台结构-EDK功能,Xilinx片上系统开发平台结构-EDK功能,Xilinx片上系统开发平台结构-EDK功能,Xilinx片上系统开发平台结构-EDK功能,Xilinx片上系统开发平台结构-EDK功能,Xilinx片上系统开发平台结构-EDK功能,Xilinx片上系统开发平台结构-Xilinx Platform Studio(XPS),XPS提供了集成环境为基于MicroBlaze和PowerPC处理器的嵌入式处理器系统创建软件和硬件规范流程。XPS也提供编辑器和项目管理接口用来创建和编辑源代码。XPS提供工具流程配置选项的定制和提供图形化的系统编辑器用来连接处理器、外设和总线。XPS可以在Windows、Solaris和Linux平台下使用。从XPS中,设计人员可以运行所有用于处理硬件和软件的嵌入式系统工具。在XPS环境下可以进行系统验证。,Xilinx片上系统开发平台结构-Xilinx Platform Studio(XPS),XPS提供下面的特性:能够添加核,编辑核参数和进行总线和信号连接,产生MHS文件;能够产生和修改MSS文件;支持表内的所有工具;能够产生和观察系统块图和设计报告;提供工程管理支持;过程和工具流程依赖管理;输出MHS文件到SDK工具中;,Xilinx片上系统开发平台结构-Xilinx Software Development Kit(SDK),SDK为应用软件提供开发环境。SDK基于Eclipse开放源码标准。SDK主要有以下特点:功能丰富的C/C+编辑器和编译环境;导入基于XPS生成的硬件平台定义;提供项目管理;支持基于单个处理器或者多个处理器系统的软件应用程序的开发;支持以团队环境的形式开发软件应用程序;为第三方的操作系统创建和配置板级支持包BSP;,Xilinx片上系统开发平台结构-Xilinx Software Development Kit(SDK),提供现成的简单软件工程来测试硬件和软件功能;通过GUI接口为软件应用程序、编程FPGA芯片和编程并行 flash存储器产生链接脚本;应用程序的建立配置和自动的MAKE文件生成;错误浏览;为无缝调试和概要分析目标提供了好的集成环境;,Xilinx片上系统开发平台结构-Base System Builder(BSB)Wizard,BSB向导帮助设计人员快速建立一个嵌入式系统工程。对于更复杂的工程,BSB向导提供基本的系统,通过这个系统设计人员可以定制完成嵌入式设计。为了高效率的建立工程,Xilinx推荐使用BSB向导。,Xilinx片上系统开发平台结构-Base System Builder(BSB)Wizard,基于设计人员选择的板子,设计人员通过BSB选择并配置基本元素,比如:处理器类型、调试接口、缓存配置、存储器类型和大小、外设等。对于BSB不支持的目标系统,设计人员可以选择定制板选项。使用这个选项时,必须指定未来板子的硬件,并且要给出用户约束文件UCF。如果选择的是支持的目标板,BSB向导

    注意事项

    本文(何宾Tel13911127536emailhebin@mail.buct.edu.cn 版权所有禁止未经授权的商业使用行为.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开