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

上传人:本田雅阁 文档编号:3139674 上传时间:2019-07-16 格式:PPT 页数:142 大小:1.78MB
返回 下载 相关 举报
何宾Tel13911127536 emailhebin@mail.buct.edu.cn 版权所有,禁止未经授权的商业使用行为.ppt_第1页
第1页 / 共142页
何宾Tel13911127536 emailhebin@mail.buct.edu.cn 版权所有,禁止未经授权的商业使用行为.ppt_第2页
第2页 / 共142页
何宾Tel13911127536 emailhebin@mail.buct.edu.cn 版权所有,禁止未经授权的商业使用行为.ppt_第3页
第3页 / 共142页
何宾Tel13911127536 emailhebin@mail.buct.edu.cn 版权所有,禁止未经授权的商业使用行为.ppt_第4页
第4页 / 共142页
何宾Tel13911127536 emailhebin@mail.buct.edu.cn 版权所有,禁止未经授权的商业使用行为.ppt_第5页
第5页 / 共142页
点击查看更多>>
资源描述

《何宾Tel13911127536 emailhebin@mail.buct.edu.cn 版权所有,禁止未经授权的商业使用行为.ppt》由会员分享,可在线阅读,更多相关《何宾Tel13911127536 emailhebin@mail.buct.edu.cn 版权所有,禁止未经授权的商业使用行为.ppt(142页珍藏版)》请在三一文库上搜索。

1、何宾 Tel:13911127536 email:,版权所有,禁止未经授权的商业使用行为,北京中教仪装备技术有限公司,所有培训资料均可从网站 http:/下载,培训内容,Xilinx片上可编程系统设计导论 AXI4规范 MicroBlaze处理器原理 EDK13.1工具概述 操作系统(OS)及板级支持包(BSP)概述 基于MicroBlaze和AXI4的可编程SoC系统实现,基于AXI4的可编程SoC系统设计,片上可编程系统设计导论 -基本概念,基于现场可编程门阵列(Field Programmable Gate Array, FPGA)的可编程SoC系统(Programmable-Syste

2、m- on-a-chip,P-SoC),包含嵌入式的软核或硬核处理器、 存储器和硬件加速器。 P-SoC的出现为设计者提供了设计高性能嵌入式系统 和优化系统的条件。,注:为了后面叙述方便,将Xilinx的可编程SoC系统,英文简述为P-SOC。用于区分其它SOC的系统。,片上可编程系统设计导论 -基本概念,P-SoC嵌入式处理器分为软核和硬核处理器两大类。 Xilinx提供了将物理的处理器核集成到FPGA硅片上的硬核 处理器产品。 一个处理器使用专门的硅片实现称为硬核处理器,比 如Xilinx: 将PowerPC 405/440硬核集成到Virtex系列的FPGA芯片中; 将ARM Corte

3、x-A9 MP双核处理器集成在Zynq-7000系列的FPGA芯片中。,片上可编程系统设计导论 -基本概念,软核处理器是通过使用FPGA的通用逻辑实现的。软 核处理器通过HDL语言或网表进行描述的。软核处理器 必须进行综合才能使用。比如Xilinx: 提供32位的软核处理器MicroBlaze; 提供8位的软核控制器Picoblaze;,片上可编程系统设计导论 -基本概念,在基于软核和硬核处理器的P-SoC系统中,本地存储 器、处理器总线、内部外设、外设控制器和存储器控制器 必须使用FPGA的通用逻辑实现。 下面给出Xilinx公司的软核和硬核处理器的性能。,片上可编程系统设计导论 -Xili

4、nx P-SoC类别,片上可编程系统设计导论 -基本概念,由于持续的要求嵌入式系统具有更多的功能、更好的 性能和灵活性,因此传统上的设计方法已经不适应这种要 求。当设计人员试图通过高性能的嵌入式处理器得到更高 的性能时,遇到了吞吐量和性能方面的限制,而这种限制 源于系统和结构的瓶颈,以及存储器带宽的限制。 现在解决问题的方法是“专用”,即对某个嵌入式系 统应用使用专门的解决方法。比如,数字信号处理器DSP 用于解决某一类专门的数字信号处理。对于一些高容量的 应用,设计人员可能还需要专门开发ASIC芯片。,片上可编程系统设计导论 -基本概念,很多FPGA厂商将专用的嵌入式处理器PowerPC、

5、ARM等嵌入到FPGA芯片中。这种集成嵌入式处理器的 FPGA芯片被定义成FPGA的平台。这种基于FPGA的嵌入 式平台提供了一个灵活的解决方案。 在这个解决方案中,一个单FPGA芯片上提供了大量 不同的IP软核和硬核资源。这些固件和硬件可以在任何时 间进行升级。这种可编程的结构特点,大大缩短了系统的 开发时间,而同一平台能应用在很多领域,提高了平台的 资源复用率。,片上可编程系统设计导论 -基本概念,FPGA平台结构使设计人员可以优化系统吞吐量和开 发周期,提供前所未有的软件和硬件协同设计的灵活性, 这种灵活性主要体现在设计人员能够权衡软件和硬件设计 的实现方法。 这种协同性不同于传统的嵌入

6、式系统的协同设计,虽 然以前也使用软件和硬件的协同设计,但是在实现级别上 基本上还是使用大量的分离的设计流程。,片上可编程系统设计导论 -基本概念,FPGA平台,即P-SoC集成了传统软核和硬核处理器、 片上总线、大量不同的I/O设备和接口标准、定制的硬件加 速理器,以及混合的定制的总线或点对点的拓扑结构,以 提高系统的性能。 在P-SoC的层次上,FPGA的应用领域已经大大扩宽了 ,它不再只用于连接不同接口设备的“连接逻辑”。 由于FPGA的容量和性能不断提高,因此它就逐步地变 成嵌入式系统的中心。,片上可编程系统设计导论 -基本概念,在P-SoC阶段,设计已经从以硬件描述语言HDL为中 心

7、的硬件设计,转换到了以C语言进行功能描述为中心。 形成了以C语言描述P-SoC的功能,而用HDL语言描 述硬件的具体实现方法。这也是和传统的FPGA设计和嵌 入式系统设计最大的区别,即软件和硬件的真正的协同设 计。,片上可编程系统设计导论 -基本概念,作为新的嵌入式系统的设计平台,使用P-SoC进行嵌入 式系统设计具有以下几个方面的优点:,1、定制 2、延缓过时 3、降低元件成本 4、硬件加速,片上可编程系统设计导论 -设计流程,正如前面所说,基于P-SoC的嵌入式系统的设计需要 软件和硬件的协同设计。下面给出了Xilinx公司使用XPS (Xilinx Platform Studio)和SD

8、K(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的硅片属性和选 项,能自动的

9、为其外设生成软件驱动、测试代码以及创建 板级支持包BSP(Board Support Package)。 这些BSP是常用的实时操作系统RTOS(Real-Time Operating System),比如VxWorks和嵌入式Linux提供的设 备驱动。,片上可编程系统设计导论 -设计流程,Xilinx的JTAG连接技术,完成FPGA的下载、FPGA 的调试、C代码的下载和软件的调试。 XPS和SDK工具集成了软件和硬件调试工具,使它们 之间可以相互触发,这使得嵌入式系统内部变成“可见”, 使嵌入式设计者能很快地找到和发现问题,而无需知道这 个问题是软件还是硬件产生的。,片上可编程系统设计导

10、论 -设计优化,FPGA嵌入式处理器设计比较复杂,复杂程度甚至 使那些有经验的设计人员在某些情况下都无能为力,因 此为了获得FPGA平台的优势必须进行权衡。 下面给出一些在设计FPGA的P-SoC嵌入式系统时, 会使用到的一些优化技术。,片上可编程系统设计导论 -设计优化,1、优化级别 2、使用FPGA厂商的优化指令 3、汇编 4、混杂,片上可编程系统设计导论 -存储器使用,只用本地存储器:最快的存储器的选择是将所有的代 码放在本地存储器中。 只用外部存储器:如果将所有程序放在外部存储器中 ,将使系统的性能降到最低。 高速缓存:在建有PowerPC处理器的FPGA硅片上建立 了的指令和数据高速

11、缓存。使其对处理器总保持性能优 势。 分配代码到内部存储器、外部存储器和高速缓存。,片上可编程系统设计导论 -专用P-SoC优化技术,1、提高FPGA工作频率 逻辑优化 2、面积和时序约束 3、硬件加速 使用硬件除法器和桶型移位寄存器。 软件瓶颈转换为硬件处理。可以使用硬件协处理的 算法有:DCT变换、FFT变换、MP3解码器、DES和 AES、矩阵等。使用硬件协处理,可以使性能提高数 十倍或数百倍。,片上可编程系统设计导论 -Xilinx P-SoC芯片(目前),适合进行P-SoC设计的FPGA芯片低端产品有Spartan 系列,高端产品有Virtex系列。 Spartan系列FPGA只用于

12、MicroBlaze软核处理器的 片上系统设计,Virtex系列FPGA可以用于MicroBlaze软核 处理器和PowerPC硬核处理器的片上系统设计。,片上可编程系统设计导论 -P-SoC芯片(未来),片上可编程系统设计导论 -P-SoC芯片(未来)-吸引全球目光,AMBA AXI4协议 -概述,Xilinx 同 ARM 密切合作,共同为基于 FPGA 的高性 能系统和设计定义了 AXI4 规范。并且在其新一代可编程 门阵列芯片上采用了高级可扩展接口(Advanced eXtensible Interface, AXI)协议。 AXI总线是ARM高级微控制器总线结构(Advanced Mi

13、crocontroller Bus Architecture, AMBA)的一部分。AXI总 线的第一个版本包含在AMBA3.0(2003年发布)中,AXI 总线的第二个版本AXI4包含在AMBA4.0(2010年发布) 中。,AMBA AXI4协议 -概述,旧的 性能 新的,AMBA AXI4协议 -概述,AMBA AXI4协议 -概述,最新一代的AMBA接口的目标是: 适合于高带宽和低延迟设计; 在不使用复杂的桥接方式下,允许更高频率的操作; 满足普遍情况下的元件接口要求; 适用于高初始访问延迟的存储器控制器; 为互联结构的实现提供了灵活性; 与已有的AHB和APB接口向下兼容。,AMBA

14、 AXI4协议 -概述,AXI协议的关键特性表现在以下几个方面: 独立的地址/控制和数据阶段; 使用字节选通,支持非对齐的数据传输; 只有开始地址的猝发交易; 独立的读和写数据通道,可以使能低成本的直接存储器访问DMA传输; 能发出多个未解决的地址; 完成无序交易; 容易添加寄存器slice,满足时序收敛要求;,AMBA AXI4协议 -概述,AMBA 3.0 (2003),AMBA 4.0 (2010),AMBA AXI4协议 -概述,处理器r,外设,PLBv46,仲裁器,AXI 从设备,“互连”,AXI,AXI,AXI,AXI,AXI,“共享访问” 总线 规范的一部分,箭头表示主/从关系,

15、而不表示数据流的方向,主,从,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

16、 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)而信

17、息接收源使用READY信号,表示可以接收 数据。 (3)读数据通道和写数据通道也包含LAST信号,该 信号用来表示在一个交易发生时,最后一个传输的数据 项。,AMBA AXI4协议 -AXI4功能,AMBA AXI4协议 -AXI4功能,AMBA AXI4协议 -AXI4功能,读和写交易有各自的地址通道。地址通道上给出交易 所要求的地址和控制信息。AXI4读和写地址通道包括下 面的机制: 可变长度的猝发操作,每次猝发操作包含1-256数据; 提供服务质量(QoS)信号 支持多个区域接口; 猝发传输不能超过4k边界; 包裹、递增和非递增猝发; 使用互斥和锁的原子操作; 系统级缓存和缓冲控制; 安

18、全和特权访问。,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和10

19、24位宽度; 每8位有一个字节通道选通,用来表示数据总线上的哪个字节是有效的;,AMBA AXI4协议 -写数据通道信号及其信号定义,AMBA AXI4协议 -写响应通道信号及其信号定义,写响应通道提供了一种方法,用于从设备响应写交 易。所有的写信号使用完成信号。每个响应用于一次 猝发的完成,而不是用于每个交易的数据。,AMBA AXI4协议 -写响应通道信号及其信号定义,AMBA AXI4协议 -读猝发交易过程中典型信号的交互过程,AMBA AXI4协议 -读猝发交易过程中典型信号的交互过程,在读交易中: 在确认ARREADY信号前,从设备能等待确认ARVALID信号; 在从设备通过确认RV

20、ALID信号开始返回数据前,必须等待确认 所有的ARVALID和ARREADY信号;,AMBA AXI4协议 -写猝发交易过程中典型信号的交互过程,AMBA AXI4协议 -写猝发交易过程中典型信号的交互过程,AMBA AXI4协议 -写猝发交易过程中典型信号的交互过程,在写交易中: 在确认AWVALID和WVALID信号前,主设备不需要等待从设备确 认AWREADY或者WREADY信号; 在确认AWREADY前,从设备能等待AWVALID或WVALID信号, 或者全部这两个信号; 在确认WREADY前,从设备能等待AWVALID或WVALID信号,或 者全部这两个信号; 从设备在确认BVAL

21、ID前,从设备必须等待确认所有的AWVALID 和AWREADY信号; 在确认BVALID前,从设备不需要等待主设备确认BREADY信号。 在确认BREADY前,主设备能等待BVALID信号;,AMBA AXI4协议 -互连模型(直通模式),AMBA AXI4协议 -互连模型(转换模式),连接一个主设备和一个从设备时,AXI互联能执行不 同的转换和流水线功能。这些功能主要包括:数据宽度转 换;时钟速率转化;AXI4-Lite从适应;AXI-3从适应;流 水线(例如一个寄存器Slice或者数据通道FIFO)。在只转 换模式下,AXI互联不包含仲裁、解码或布线逻辑,但是 可能产生延迟。,AMBA

22、AXI4协议 -互连模型(转换模式),AMBA AXI4协议 -互连模型(N-1模式),AXI互联的一个普通的退化配置模式是,多个主设备 访问一个从设备。 典型的情况是,一个存储器控制器,很显然需要仲 裁逻辑。这种情况下,AXI互联不需要地址译码逻辑(除 非需要确认地址的有效范围)。在这个配置中,也执行 数据宽度和时钟速率的转换。,AMBA AXI4协议 -互连模型(N-1模式),互联,主设备0,从设备0,图2.9 N-1互联模式,主设备1,仲裁器,AMBA AXI4协议 -互连模型(1-N模式),另一个AXI互联退化的结构是,一个主设备,典型 的处理器,访问多个存储器映射的从外设。在这种模

23、式下,AXI互联不执行仲裁(在地址和写数据通道)。,AMBA AXI4协议 -互连模型(N-M模式),AXI互联提供了一种共享地址多数据流(SAMD) 拓扑结构,这种结构中包含稀疏的数互联写交易仲裁 器.,AMBA AXI4协议 -互连模型(N-M模式),AMBA AXI4协议 -AXI4-Lite功能,AXI4-Lite接口是AXI4接口的子集专用于和元件内的 控制寄存器进行通信。AXI4-Lite允许构建简单的元件接 口,这个接口是较小的,对设计和验证方面的要求更少 。AXI4-Lite接口的关键特性包含: 所有交易的猝发长度为1; 所有访问数据的大小和数据总线宽度相同; 支持数据总线宽度

24、为32位或64位(要求64位原子访问); 所有的访问相当于AWCACHE和ARCACHE等于b0000(非缓冲和非缓存的); 不支持互斥性操作;,AMBA AXI4协议 -AXI4-Lite功能,AMBA AXI4协议 -AXI4-Lite功能,AMBA AXI4协议 -AXI4-Stream功能,AXI4-Stream协议作为一个标准的接口,这个接口用 于连接希望交换数据的元件。 接口用于将产生数据的一个主设备和接收数据的一 个从设备连接。 当很多元件和从元件连接时,也能使用这个协议。 协议支持使用具有相同设置共享总线的多个数据流,允 许建立一个互联结构,这个结构能够执行扩展、压缩和 路由操

25、作。,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, 以太网,任何可封装的,使用协议的流接口可

26、能是电气特性兼容的,但是彼此之间不能进行互相操作 这些包包含不同的信息 典型的需要创建一些“桥”逻辑。 对于 AXI4-Stream, TRD的连接说明了这点,在PCIe核内的”用户”接口可 以是”流”,但是数据被封装”,例子: PCI Express,Streaming Interface,User Logic / Bridge / etc,Hardware Design,MicroBlaze软核处理器原理 -MicroBlaze软核处理器结构(V8.0),可选择的配置,指令一侧总线接口,数据一侧总线接口,MicroBlaze软核处理器原理 -MicroBlaze软核处理器结构,从图中可以看

27、出该处理器有以下几个方面的特点: 采用指令和数据空间分离的哈佛结构; 32个32位通用寄存器; 32位的地址总线,可寻址空间4GB; 32位3个操作数的指令字,指令字有2种寻址模式; 单发(Single-issue,一个时钟周期发出一条指令)流水线结构;,MicroBlaze软核处理器原理 -MicroBlaze软核处理器结构,采用指令预测分支策略和预取缓冲区; 有独立的存储器管理单元对存储器空间进行管理; 提供了可以使用硬件实现的功能单元:桶形移位寄存器;乘法器;除法器;浮点处理单元; 提供了丰富的外设接口资源; 采用点对点的流连接结构和共享总线的结构;,MicroBlaze软核处理器原理

28、-MicroBlaze存储器结构,MicroBlaze处理器采用哈佛存储器结构,即指令和 数据访问使用独立的地址空间。 每个一个地址空间都是32位范围(即,它们可以独 立访问4GB地址空间的指令和数据存储器)。 MicroBlaze所有的指令和数据接口,默认情况下是 32位,使用大段或小段,位反转格式(取决于 C_ENDIANNESS)。 MicroBlaze支持对数据存储器的字,半字和字节访 问。,MicroBlaze软核处理器原理 -MicroBlaze存储器结构,MicroBlaze处理器采用存储器映射方式访问I/O设 备,即存储器和I/O设备采用统一编址方式。处理器有 下面三种接口用于

29、存储器访问: 本地存储器总线(LMB); 高级可扩展接口AXI4或处理器本地总线(PLB); 高级可扩展接口AXI4或Xilinx CacheLink(XCL);,MicroBlaze软核处理器原理 -MicroBlaze存储器结构,特别注意: 当时用AXI4时,C_ENDIANNESS自动设置为小段; 使用PLB时,自动设置为大段。 处理器指令和数据缓存可以配置成4/8字的缓存行 (缓存最小结构单位)。缓存行越大,可存放的代码就 越长,执行效率也就越高。但是当程序中使用很多的随 机访问模式时,会降低缓存的命中率,因此给定大小的 缓存行反而会降低性能。,MicroBlaze软核处理器原理 -M

30、icroBlaze浮点处理单元FPU,MicroBlaze处理器的浮点单元FPU基于IEEE754标准: 使用IEEE754单精度浮点格式,包括无穷大定义,不是一个数(NaN)和零; 支持加、减、乘、除、比较、转换和平方根指令; 实现最近舍入(round-to-nearest)模式; 产生状态位用于:下溢、上溢、除数为零和无效操作;,IEEE754单精度格式,MicroBlaze软核处理器原理 -MicroBlaze软核处理器流水线,当采用面积优化时,流水线分为三级,即:取指,译 码和执行,这样可以减少硬件开销。,MicroBlaze软核处理器原理 -MicroBlaze软核处理器流水线,当不

31、使用面积优化时,流水线分为五级:取指、译 码、执行、访问存储器和回写,这样可以提高性能。下 图给出了五级流水结构。,MicroBlaze软核处理器原理 -MicroBlaze软核处理器寄存器,程序计数器(PC) 机器状态寄存器(MSR) 异常地址寄存器(EAR) 异常状态寄存器(ESR) 分支目标寄存器(BTR) 浮点状态寄存器(FSR) 异常数据寄存器(EDR) 进程标识寄存器 (PID) 区域保护寄存器(ZPR),MicroBlaze软核处理器原理 -MicroBlaze软核处理器寄存器,转换旁视缓冲低位寄存器(TLBLO) 转换旁视缓冲高位寄存器(TLBHI) 转换旁视缓冲索引寄存器(T

32、LBX) TLB查找索引寄存器(TLBSX) 处理器版本寄存器(PREV),MicroBlaze软核处理器原理 -MicroBlaze处理器虚拟存储器管理,运行在MicroBlaze处理器的应用程序要求使用有效地 址访问4GB地址空间。处理器通过转换模式,以下面两种 方式理解该地址空间。,在实模式下,有效地址直接访问物理存储器; 在虚拟模式下,通过处理器的虚拟存储器管理硬件 (MMU)有效地址被转化物理地址。,MicroBlaze软核处理器原理 -MicroBlaze软核处理器MMU,MMU完成以下几个功能:,1)将有效地址转化成物理地址; 2)在地址转换时,控制页面级访问; 3)在使用区域时

33、,提供额外的虚拟模式保护控制; 4)对指令地址、数据地址转换和保护提供独立控制; 5) 支持8种页面尺寸:1KB,4KB,16KB,64KB, 256KB,1MB,4MB和16MB; 6)软件提供页面替换策略;,MicroBlaze软核处理器原理 -MicroBlaze处理器MMU实模式,当处理器取指或使用加载/存储指令访问数据时,处 理器查看存储器。程序使用处理器计算得到的32位的有 效地址查看存储器的位置。 当使用实模式时,物理地址和有效地址是一样的。,MicroBlaze软核处理器原理 -MicroBlaze处理器MMU虚模式,在虚拟模式下,将 有效地址转换成物理地 址。通过设置MSR寄

34、存 器的VM比特来使能虚 拟模式下的存储器管理。,MicroBlaze软核处理器原理 -MicroBlaze处理器的事件及处理,MicroBlaze支持复位、中断、用户异常、断点和硬件 异常。下面将描述和这些事件相关的处理流程。这些事件 按优先级从高到低依次为:复位、硬件异常、非屏蔽断点、 断点、中断、用户矢量(异常)。 下表记录了这些事件相关的存储器地址和保存返回地 址的寄存器。每个矢量分配了两个地址以便允许全地址范 围分支(要求 BRAI IMM指令)。地址范围0x28-0x4f是为 支持将来的Xilinx软件而保留的。,MicroBlaze软核处理器原理 -MicroBlaze处理器的事

35、件及处理,MicroBlaze软核处理器原理 -MicroBlaze处理器的数据缓存,MicroBlaze处理器有可选的数据缓存提高性能。缓存的存 储器地址不得在LMB的地址范围内。 数据缓存有以下特点:,直接映射(1-way 关联); 完全写入; 用户可选择的缓存地址范围; 可配置的缓存和标记大小; CacheLink(XCL)接口上的缓存; 选择使用4/8线字缓存行; 使用MSR寄存器控制打开/关闭缓存;可选的; WDC指令使指令缓存行无效。,MicroBlaze软核处理器原理 -MicroBlaze处理器的指令缓存,MicroBlaze处理器可选择指令缓存,当执行那些驻留在 LMB地址范

36、围外的代码时,使用指令缓存可以提高性能。 指令缓存有以下特点:,直接映射(1-way 关联); 用户可选择的缓存地址范围; 可配置的缓存和标记大小; CacheLink(XCL)接口上的缓存; 选择使用4/8线字缓存行; 使用MSR寄存器控制打开/关闭缓存; 可选的WIC指令使指令缓存行无效。,MicroBlaze软核处理器原理 -MicroBlaze处理器的调试,MicroBlaze有的调试接口可以用来支持基于JTAG的 软件调试工具(BDM或后台调试模式调试器),比如 Xilinx Microprocessor Debug(XMD)工具。 调试接口用于和Xilinx Microproces

37、sor Debug(XMD)连接,XMD和Xilinx的JTAG端口连接。 多个MicroBlaze的例子(例化)使用单个XDM连接 进行多处理器调试。,MicroBlaze软核处理器原理 -MicroBlaze处理器的调试,调试特点有以下几个方面: 可配置硬件断点数目、观察点和无限的软件断点; 外部处理器控制使能调试工具停止、复位和单步; 读写存储器,通用寄存器,特殊功能寄存器EAR, EDR, ESR,BTR和PVR0-PVR11只读; 支持多处理器; 写指令和数据缓存。,MicroBlaze软核处理器接口 -MicroBlaze软核处理器接口概述,MicroBlaze处理器具体外部接口定

38、义如下: 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软核处理器结构,MFSL015:FSL主接口; DWFSL

39、015:FSL主直接连接接口; SFSL015:FSL从接口; DRFSL015: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 仲裁器多路复用信号

40、,这些信号从主设备到共享 总线上,所有从设备的输入被连接到共享总线上。 n个 PLB从设备“OR”上它们的输出来驱动共享总线,并 且将其“OR”结果返回到PLB仲裁器上。 PLB 仲裁器处理总线仲裁,并且在主设备和从设备之 间实现数据和控制信号的移动。,MicroBlaze软核处理器原理 -本地存储器总线(LMB),LMB提供了单周期访问用于MicroBlaze处理器的片 上双口块RAM的能力 LMB提供了简单同步协议用于高效的块RAM的传输 DLMB: 数据接口,本地存储器总线 (只有BRAM) ILMB:指令接口,本地存储器总线 (只有BRAM),MicroBlaze软核处理器原理 -简单

41、快速链路(FSL),单向的点对点的基于FIFO的通信 专用的(非共享的)和无须仲裁的结构 专用的 MicroBlaze C 和汇编指令用于访问FSL 高速,在主机侧两个时钟完成传输 从XPS的Hardware Create or Import Peripheral Wizard菜单下来使用FSL接口,MicroBlaze软核处理器原理 -简单快速链路(FSL),MicroBlaze软核处理器原理 -CacheLink接口,对外部存储器的访问来说,XCL接口是高性能的解 决方案。XCL通过使用集成的FSL缓冲区直接和存储 器控制器连接,例如MPMC。这种方法有最低的延迟 和最小数目的例化。下图给

42、出了使用集成FSL缓冲区 的XCL连接原理图。 当缓存使能时,XCL接口可以使用。可以在指令 侧或数据侧使用一个XCL缓存。,MicroBlaze软核处理器原理 -MicroBlaze软核典型P-SoC结构,MicroBlaze 32位 RISC核,UART,10/100 E-Net,Memory Controller,片外 存储器,FLASH/SRAM,快速简单链路 FSL,0,1.15,定制功能,定制功能,BRAM,本地存储器 总线,D-Cache BRAM,I-Cache BRAM,可配置大小,PLB,缓存连接,SDRAM,GPIO,PLB,片上外设,PLB的其它短是必须的,当有低速设备

43、操作在低总线速度,需要仲裁器,当一个外设可作为主设备,想要对其它外设进行写操作,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 PLB4

44、6 桥,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 Developme

45、nt Kit,SDK)。 SDK基于Eclipse开放源码框架,设计人员可以选择使 用SDK开发自己的嵌入式软件应用程序(EDK13.1后必须使 用SDK开发应用程序。,体会EDK13.1 “生态设计,软件和硬件协同设计”,Xilinx片上系统开发平台结构 -EDK开发流程,EDK中所提供的工具用来完成嵌入式设计的整个过 程。下图给出了基本嵌入式设计流程。,Xilinx片上系统开发平台结构,EDK开发流程,Xilinx片上系统开发平台结构 -硬件平台的建立,Xilinx的FPGA技术允许设计者在处理器子系统中定制 硬件逻辑。这种定制不可能使用标准的现成的微处理器或 控制器芯片。“硬件平台”是指

46、设计人员根据应用的需要 而使用Xilinx的技术建立的灵活地、嵌入式处理子系统。 硬件平台是由一个或多个处理器或外设连接到处理器 总线构成的。 EDK通过微处理器硬件规范(Microprocessor Hardware Specification,MHS)文件记录硬件平台信息。,Xilinx片上系统开发平台结构 -软件平台的建立,软件平台是软件驱动和用于建立应用程序的操作系统 (可选)组成的。所建立的软件映像文件只包含用户所使 用到的一部分Xilinx的库。 EDK通过微处理器软件规范(Microprocessor Software Spectifcation,MSS)记录软件平台信息。设计人

47、员可以在 软件平台运行多个应用程序。,Xilinx片上系统开发平台结构 -使用仿真的硬件平台验证,验证硬件平台的正确功能,设计人员可以建立一个仿 真模型,并且在HDL仿真器上运行。当仿真系统时,处理 器运行可执行文件。 设计人员可以选择建立行为、结构时序仿真模型。,Xilinx片上系统开发平台结构 -使用调试的软件验证,调试嵌入式软件的基本技术是加载设计到所支持的开 发板和使用调试工具去调试处理器。 作为可选择的方式,设计人员可以使用指令集仿真器 或简化系统仿真器模型运行在主机上来调试设计代码。 设计人员可以通过概要分析代码的执行来估计系统性 能。,Xilinx片上系统开发平台结构 -芯片配置

48、,一旦软件和硬件平台建立完成,设计人员可以为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提供下面

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

当前位置:首页 > 其他


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