何宾 tel:13911127536 email:[email protected]

142
何何 Tel email: 高高高高高高高 北北北北北北北北北北北北北 高高高 &XILINX SOC 高高高高高高高高 FPGA System Design Primer FPGA System Design Primer 何何 Tel:13911127536 email:[email protected] 高高高高 高高高高高高高高高高高高高 高高高高高高高高高高高高高 北北北北北北北北北北北 p://bucteda.eefocus.com 北北

Upload: ondrea

Post on 13-Jan-2016

65 views

Category:

Documents


0 download

DESCRIPTION

版权所有,禁止未经授权的商业使用行为. 何宾 Tel:13911127536 email:[email protected]. 所有培训资料均可从网站 http://bucteda.eefocus.com 下载. 北京中教仪装备技术有限公司. 基于 AXI4 的可编程 SoC 系统设计. 培训内容. Xilinx 片上可编程系统设计导论 AXI4 规范 MicroBlaze 处理器原理 EDK13.1 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 何宾 Tel:13911127536     email:hebin@mail.buct

何宾Tel : email:

高等教育出版社北京中教仪装备技术有

限公司

高教社 &XILINX SOC 竞赛培训系列课程

FPGA System Design FPGA System Design PrimerPrimer

何宾Tel:13911127536

email:[email protected]

版权所有,禁止未经授权的商业使用行为

北京中教仪装备技术有限公司 所有培训资料均可从网站http://bucteda.eefocus.com 下载

Page 2: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

培训内容 Xilinx 片上可编程系统设计导论 AXI4 规范 MicroBlaze 处理器原理 EDK13.1 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 基于 MicroBlaze 和 AXI4 的可编程 SoC 系统实现

基于 AXI4 的可编程 SoC 系统设计

Page 3: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 基本概念

基于现场可编程门阵列( Field Programmable Gate Array, FPGA )的可编程 SoC 系统( Programmable-

System-on-a-chip , P-SoC ),包含嵌入式的软核或硬核处理器

、存储器和硬件加速器。 P-SoC 的出现为设计者提供了设计高性能嵌入式系统和优化系统的条件。 注:为了后面叙述方便,将 Xilinx 的可编程 SoC 系统,英文简述为 P-SOC 。用于区分其它 SOC 的系统。

Page 4: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 基本概念

  P-SoC 嵌入式处理器分为软核和硬核处理器两大类。Xilinx 提供了将物理的处理器核集成到 FPGA 硅片上的硬

核处理器产品。 一个处理器使用专门的硅片实现称为硬核处理器,比如 Xilinx:

将 PowerPC 405/440 硬核集成到 Virtex 系列的 FPGA 芯片中;将 ARM Cortex-A9 MP 双核处理器集成在 Zynq-7000 系列的

FPGA 芯片中。

Page 5: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 基本概念

软核处理器是通过使用 FPGA 的通用逻辑实现的。软

核处理器通过 HDL 语言或网表进行描述的。软核处理器

必须进行综合才能使用。比如 Xilinx: 提供 32位的软核处理器 MicroBlaze; 提供 8 位的软核控制器 Picoblaze;

Page 6: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 基本概念

在基于软核和硬核处理器的 P-SoC 系统中,本地存储器、处理器总线、内部外设、外设控制器和存储器控制器必须使用 FPGA 的通用逻辑实现。 下面给出 Xilinx 公司的软核和硬核处理器的性能。

Page 7: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论--Xilinx P-SoC 类别

处理器种类 总线 IP 核类型

总线 语言 开发环境( Xilinx 提供

)ARM Cortex-A9 MP

(双核)64 位 硬核 AXI c/c++,

汇编XPS&SDK

PowerPC 32 位 硬核 PLB c/c++,汇编

XPS&SDK

MicroBlaze 32 位 软核 PLB/AXI

c/c++,汇编

XPS&SDK

PicoBlaze 8 位 软核 ---- 汇编 ISE& 汇编器

Page 8: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 基本概念

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

Page 9: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 基本概念

很多 FPGA 厂商将专用的嵌入式处理器 PowerPC 、ARM 等嵌入到 FPGA 芯片中。这种集成嵌入式处理器的FPGA 芯片被定义成 FPGA 的平台。这种基于 FPGA 的嵌

入式平台提供了一个灵活的解决方案。 在这个解决方案中,一个单 FPGA 芯片上提供了大量不同的 IP 软核和硬核资源。这些固件和硬件可以在任何时间进行升级。这种可编程的结构特点,大大缩短了系统的开发时间,而同一平台能应用在很多领域,提高了平台的资源复用率。

Page 10: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 基本概念

FPGA 平台结构使设计人员可以优化系统吞吐量和开发周期,提供前所未有的软件和硬件协同设计的灵活性,这种灵活性主要体现在设计人员能够权衡软件和硬件设计的实现方法。 这种协同性不同于传统的嵌入式系统的协同设计,虽然以前也使用软件和硬件的协同设计,但是在实现级别上基本上还是使用大量的分离的设计流程。

Page 11: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 基本概念

FPGA 平台,即 P-SoC 集成了传统软核和硬核处理器、片上总线、大量不同的 I/O 设备和接口标准、定制的硬件加速理器,以及混合的定制的总线或点对点的拓扑结构,以提高系统的性能。 在 P-SoC 的层次上, FPGA 的应用领域已经大大扩宽了,它不再只用于连接不同接口设备的“连接逻辑”。 由于 FPGA 的容量和性能不断提高,因此它就逐步地变成嵌入式系统的中心。

Page 12: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 基本概念

在 P-SoC 阶段,设计已经从以硬件描述语言 HDL 为中

心的硬件设计,转换到了以 C 语言进行功能描述为中心。 形成了以 C 语言描述 P-SoC 的功能,而用 HDL 语言

描述硬件的具体实现方法。这也是和传统的 FPGA 设计和嵌入式系统设计最大的区别,即软件和硬件的真正的协同设计。

Page 13: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 基本概念

作为新的嵌入式系统的设计平台,使用 P-SoC 进行嵌入式系统设计具有以下几个方面的优点:

1 、定制 2 、延缓过时 3 、降低元件成本 4 、硬件加速

Page 14: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 设计流程

正如前面所说,基于 P-SoC 的嵌入式系统的设计需要软件和硬件的协同设计。下面给出了 Xilinx 公司使用 XPS( Xilinx Platform Studio )和 SDK ( Software

Development Kit )进行嵌入式系统设计的流程。 Xilinx 公司的 XPS 和 SDK工具包用于开发基于 FPGA

平台的嵌入式系统,从图可以看出该工具支持传统的硬件和嵌入式软件的设计流程。 注:从 EDK13.1 开始 XPS 不支持软件开发,软件开发必

须在 SDK 中完成

Page 15: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论--P-SoC 设计流程

Data2MEM

下载相关镜像到 FPGA

Compiled ELF Compiled BIT

RTOS, BSP

嵌入式开发工具

Instantiate the ‘System Netlist’ and Implement

the FPGA

?

HDL 入口

Chipscope

标准的 FPGA 硬件开发流程

VHDL or Verilog

Include the BSPand Compile theSoftware Image

?

代码入口

C/C++ 交叉编译器

链接器

加载软件到 Flash

标准的嵌入式软件开发流程

C 代码

板级支持包

12 3 编译比特流编译 ELF

调试器

系统网表仿真 / 综合

实现

下载比特流到 FPGA

SDK XPS

Page 16: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 设计流程

XPS支持硬核 PowerPC 、 ARM Cortex-A9 MP 和软核Microblaze 处理器。并将设计的导入、创建和 IP 核定制进

行了流水化的处理。由于 XPS知道平台 FPGA 的硅片属性和选项,能自动的为其外设生成软件驱动、测试代码以及创建板级支持包 BSP ( Board Support Package )。 这些 BSP 是常用的实时操作系统 RTOS ( Real-Time Operating System ),比如 VxWorks 和嵌入式 Linux 提供的

设备驱动。

Page 17: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 设计流程

Xilinx 的 JTAG 连接技术,完成 FPGA 的下载、 FPGA

的调试、 C代码的下载和软件的调试。 XPS 和 SDK工具集成了软件和硬件调试工具,使

它们之间可以相互触发,这使得嵌入式系统内部变成“可见”

,使嵌入式设计者能很快地找到和发现问题,而无需知道这个问题是软件还是硬件产生的。

Page 18: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 设计优化

FPGA 嵌入式处理器设计比较复杂,复杂程度甚至使那些有经验的设计人员在某些情况下都无能为力,因此为了获得 FPGA 平台的优势必须进行权衡。 下面给出一些在设计 FPGA 的 P-SoC 嵌入式系统时,会使用到的一些优化技术。

Page 19: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 设计优化

1 、优化级别2 、使用 FPGA 厂商的优化指令3 、汇编4 、混杂

Page 20: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 存储器使用

只用本地存储器:最快的存储器的选择是将所有的代码放在本地存储器中。

只用外部存储器:如果将所有程序放在外部存储器中,将使系统的性能降到最低。

高速缓存:在建有 PowerPC 处理器的 FPGA 硅片上建立

了的指令和数据高速缓存。使其对处理器总保持性能优势。

分配代码到内部存储器、外部存储器和高速缓存。

Page 21: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论-- 专用 P-SoC 优化技术

1 、提高 FPGA工作频率 –逻辑优化2 、面积和时序约束3 、硬件加速

使用硬件除法器和桶型移位寄存器。 软件瓶颈转换为硬件处理。可以使用硬件协处理的

算法有: DCT 变换、 FFT 变换、 MP3 解码器、 DES

和AES 、矩阵等。使用硬件协处理,可以使性能提高数十倍或数百倍。

Page 22: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论--Xilinx P-SoC 芯片 (目前 )

适合进行 P-SoC 设计的 FPGA 芯片低端产品有 Spartan系列,高端产品有 Virtex 系列。 Spartan 系列 FPGA 只用于 MicroBlaze 软核处理器的片上系统设计, Virtex 系列 FPGA 可以用于 MicroBlaze 软

核处理器和 PowerPC 硬核处理器的片上系统设计。

Page 23: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论--P-SoC 芯片 ( 未来 )

最低成本和功耗 业界最好的性价比 业界最好的性能和

容量

Page 24: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计导论--P-SoC 芯片 ( 未来 )-吸引全球目光

Page 25: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

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年发布

)中。

Page 26: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-- 概述

旧的 性能 新的

Page 27: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-- 概述

AMBA 3.0(2003)

AMBA 4.0(2010)

“灵活性” : ARM / Xilinx 合作

Page 28: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-- 概述

最新一代的 AMBA 接口的目标是:适合于高带宽和低延迟设计;在不使用复杂的桥接方式下,允许更高频率的操作;满足普遍情况下的元件接口要求;适用于高初始访问延迟的存储器控制器;为互联结构的实现提供了灵活性;与已有的 AHB和 APB接口向下兼容。

Page 29: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-- 概述

AXI 协议的关键特性表现在以下几个方面:独立的地址 / 控制和数据阶段;使用字节选通,支持非对齐的数据传输;只有开始地址的猝发交易;独立的读和写数据通道,可以使能低成本的直接存储器访问DMA传输;

能发出多个未解决的地址;完成无序交易;容易添加寄存器 slice,满足时序收敛要求;

Page 30: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-- 概述

AMBA 3.0(2003)

AMBA 4.0(2010)

接口 特性 类似于

AXI4 传统的地址 / 猝发数据 PLBv46, PCI

AXI4-Stream 只有数据 , 猝发 Local Link / DSP 接口 / FIFO / FSL

AXI4-Lite 传统的地址 / 单数据 PLBv46-single, OPB

Page 31: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-- 概述

处理器 r

外设

PLBv46

仲裁器

AXI 从设备

“互连”

AXI AXI

AXI

AXI

AXI

“共享访问” 总线规范的一部分

AXI 互连 IP

•Xilinx 建立自己的•很多公司构建和买 “AXI 互连 IP”

AXI 互连 IP

•Xilinx 建立自己的•很多公司构建和买 “AXI 互连 IP”

箭头表示主 / 从关系 , 而不表示数据流的方向

主 从

AXI

AXI

AXI

PLB

PLB

PLB

PLB

AXI 主设备

AXI AXIAXI 定义点对点 ,

主 /从 接口AXI 定义点对点 ,

主 /从 接口

PLBv46 是总线规范 / AXI 是一个接口规范13- 31 Hardware Design

Page 32: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4 功能

AXI4 协议基于猝发式传输机制。 (1) 在地址通道上,每个交易有地址和控制信息,这些信息描述了需要传输的数据性质。 (2) 在主设备和从设备之间所传输的数据分别使用到从设备的写数据通道和到主设备的读数据通道。 (3) 在从主设备到从设备的写数据交易中, AXI 有

一个额外的写响应通道,从设备通过该通道向主设备发出信号表示完成写交易。

Page 33: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

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) ;

Page 34: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4 功能

每个通道由一个信号集构成,并且使用双向的VALID 和 READY握手信号机制。 (1) 信息源使用 VALID 信号,表示在通道上存在可

用的有效数据或者控制信息; (2) 而信息接收源使用 READY 信号,表示可以接收数据。 (3)读数据通道和写数据通道也包含 LAST 信号,该

信号用来表示在一个交易发生时,最后一个传输的数据项。

Page 35: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4 功能

主接口

地址和控制

读数据 读数据 读数据 读数据

从接口

读地址通道

读数据通道

读通道结构

Page 36: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4 功能

写响应通道

主接口

地址和控制

写数据 写数据 写数据 写数据

从接口

写地址通道

写数据通道

写通道结

写响应

Page 37: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4 功能

读和写交易有各自的地址通道。地址通道上给出交易所要求的地址和控制信息。 AXI4读和写地址通道包括下面的机制:

可变长度的猝发操作,每次猝发操作包含 1-256数据;提供服务质量( QoS)信号支持多个区域接口;猝发传输不能超过 4k边界;包裹、递增和非递增猝发;使用互斥和锁的原子操作;系统级缓存和缓冲控制;安全和特权访问。

Page 38: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--写地址通道信号及其信号定义

信号名 源 描述AWID[3 : 0] 主 写地址 ID 。这个信号用于写地址信号组的标记。

AWADDR[31:0] 主 写地址。写地址信号给出写猝发交易的第一个传输地址。相关的控制信号线用于确定猝发中剩余传输的地址。

AWLEN[7:0] 主 猝发长度。给出猝发中准确的传输个数。该信息给出了和地址相关的数据传输数量。

AWSIZE[2:0] 主 猝发大小。这个信号确定猝发中每个传输的大小。字节通道选通用来说明需要更新的字节通道。

AWBURST[1:0] 主 猝发类型。该信息与大小信息一起,表示在猝发过程中,地址如何用于每个传输。AWLOCK 主 锁类型。这个信号提供了关于传输原子特性的额外信息(普通或互斥访问)

AWCACHE[3:0] 主 缓存类型。这个信号表示可缓冲、可缓存、写通过、写回和分配交易属性。AWPROT[2:0] 主 保护类型。这个信号表示交易的普通、特权、或安全保护级,以及交易是数据访问

还是指令访问。AWVALID 主 写地址有效。这个信号表示写地址有效和控制信息是可用的。该信号一直保持有效

,直到响应信号 AWREADY 为高。AWREADY 从 写地址准备。这个信号表示从设备准备接受地址和相关的控制信号。

AWQOS[3:0] 主 用于每个写交易的地址通道上的 4 位 QoS 标识符(可作为优先级标志)AWREGION[3:0] 主 用于每个写交易的地址通道上的域标识符。

Page 39: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--读地址通道信号及其信号定义

信号名 源 描述ARID[3 : 0] 主 读地址 ID 。这个信号用于读地址信号组的标记。

ARADDR[31:0] 主 读地址。读地址信号给出读猝发交易的第一个传输地址。只提供猝发的开始地址和给出控制信号,详细描述了在猝发的剩余传输中如何计算地址。

ARLEN[7:0] 主 猝发长度。给出猝发中准确的传输个数。该信息给出了和地址相关的数据传输数量。

ARSIZE[2:0] 主 猝发大小。这个信号确定猝发中每个传输的大小。字节通道选通用来指示需要更新的字节通道。

ARBURST[1:0] 主 猝发类型。该信息与大小信息一起,用于在猝发过程中,地址如何用于每个传输。

ARLOCK 主 锁类型。这个信号提供了关于传输原子特性的额外信息(普通或互斥访问)ARCACHE[3:0] 主 缓存类型。这个信号提供可缓存传输属性。ARPROT[2:0] 主 保护类型。这个信号提供用于传输的保护单元信息。

ARVALID 主 读地址有效。这个信号表示读地址有效和控制信息是可用的。该信号一直保持有效,直到响应信号 ARREADY 为高。

ARREADY 从 读地址准备。这个信号表示从设备准备接受地址和相关的控制信号。ARQOS[3:0] 主 用于每个读交易的地址通道上的 4 位 QoS 标识符(可作为优先级标志)

ARREGION[3:0] 主 用于每个读交易的地址通道上的域标识符。

Page 40: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--读数据通道信号及其信号定义

读数据通道传送所有来自从设备到主设备的读数据及读相应信息。 读数据通道包括:

数据总线宽度: 8 、 16 、 32 、 64 、 128 、 256 、 512和 1024 位宽度;

读响应表示读交易完成的状态

Page 41: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--读数据通道信号及其信号定义

信号名 源 描述RID[3:0] 从 读 ID 标记。这个信号是读数据信号组标记。由从设备产生 RID , RID 必须和

读交易中的 ARID 值匹配。

RDATA[31:0] 从 读数据。读数据总线可以是 8,16,32,64,128,256,512 或者 1024 位宽度。RRESP[1:0] 从 读响应。这个信号表示读传输的状态。可允许的相应为 OKAY,EXOKAY,

SLVERR 和 DECERR.

RLAST 从 读最后一个。表示读猝发中的最后一个传输。RVALID 从 读有效。这个信号表示所要求的读数据是可用的,能完成读传输。RREADY 主 读准备。这个信号表示主设备能接受读数据和响应信息。

Page 42: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--写数据通道信号及其信号定义

写数据通道传送所有从主设备到从设备的写数据。写数据通道包括:

• 数据总线宽度: 8 、 16 、 32 、 64 、 128 、 256 、 512 和1024 位宽度;

• 每 8 位有一个字节通道选通,用来表示数据总线上的哪个字节是有效的;

Page 43: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--写数据通道信号及其信号定义

信号名 源 描述WDATA[31:0] 主 写数据。写数据总线可以是 8,16,32,64,128,256,512 或者 1024 位宽度。WSTRB[3:0] 主 写选通。用于表示更新存储器的字节通道。对于数据总线的每 8 位有一个写选

通。WLAST 主 写最后一个。表示写猝发中的最后一个传输。

WVALID 主 写有效。这个信号表示所要求的写有效的写数据和选通是可用的。WREADY 从 写准备。这个信号表示从设备能接受写数据。

Page 44: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--写响应通道信号及其信号定义

写响应通道提供了一种方法,用于从设备响应写交易。所有的写信号使用完成信号。每个响应用于一次猝发的完成,而不是用于每个交易的数据。

Page 45: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--写响应通道信号及其信号定义

信号名 源 描述BID[3:0] 从 响应 ID. 写响应识别标记。 BID 值必须匹配写交易的 AWID 值。

BRESP[1:0] 从 写响应。这个信号表示写交易的状态。可允许的相应为 OKAY,EXOKAY, SLVERR 和 DECERR.

BVALID 从 写响应有效。这个信号表示所要求的有效写响应是可用的。BREADY 主 响应准备。这个信号表示主设备可以接受响应信息。

Page 46: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-读猝发交易过程中典型信号的交互过程

Page 47: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-读猝发交易过程中典型信号的交互过程

在读交易中:在确认 ARREADY 信号前,从设备能等待确认 ARVALID 信号;

在从设备通过确认 RVALID 信号开始返回数据前,必须等待确认

所有的 ARVALID 和 ARREADY 信号;

Page 48: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-写猝发交易过程中典型信号的交互过程

Page 49: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-写猝发交易过程中典型信号的交互过程

Page 50: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-写猝发交易过程中典型信号的交互过程

在写交易中:在确认 AWVALID 和 WVALID 信号前,主设备不需要等待从设备确 认 AWREADY 或者 WREADY 信号;在确认 AWREADY 前,从设备能等待 AWVALID 或 WVALID 信号,

或者全部这两个信号;在确认 WREADY 前,从设备能等待 AWVALID 或 WVALID 信号,或

者全部这两个信号;从设备在确认 BVALID 前,从设备必须等待确认所有的 AWVALID 和 AWREADY 信号;在确认 BVALID 前,从设备不需要等待主设备确认 BREADY 信号。

在确认 BREADY 前,主设备能等待 BVALID 信号;

Page 51: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-互连模型 ( 直通模式 )

主设备 0 从设备 0

图 2.7 直通模式

互联

Page 52: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-互连模型 ( 转换模式 )

连接一个主设备和一个从设备时, AXI互联能执行不同的转换和流水线功能。这些功能主要包括:数据宽度转换;时钟速率转化; AXI4-Lite从适应; AXI-3从适应;

流水线(例如一个寄存器 Slice 或者数据通道 FIFO )。在只转换模式下, AXI互联不包含仲裁、解码或布线逻辑,但是可能产生延迟。

Page 53: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-互连模型 ( 转换模式 )

主设备 0

转 换 / 流水

从设备 0

图 2.8转换模式

互联

Page 54: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-互连模型 (N-1模式 )

AXI互联的一个普通的退化配置模式是,多个主设备访问一个从设备。 典型的情况是,一个存储器控制器,很显然需要仲裁逻辑。这种情况下, AXI互联不需要地址译码逻辑(除非需要确认地址的有效范围)。在这个配置中,也执行数据宽度和时钟速率的转换。

Page 55: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-互连模型 (N-1模式 )

互联

主设备 0 从设备 0

图 2.9 N-1互联模式

主设备 1

仲 裁 器

Page 56: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-互连模型 (1-N模式 )

另一个 AXI互联退化的结构是,一个主设备,典型

的处理器,访问多个存储器映射的从外设。在这种模式下, AXI互联不执行仲裁 ( 在地址和写数据通道 )

。 互联

主设备 0从设备 0

图 2.10 1-N互联模式

从设备 1

解 码 / 布 线

Page 57: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-互连模型 (N-M模式 )

AXI互联提供了一种共享地址多数据流( SAMD)

拓扑结构,这种结构中包含稀疏的数互联写交易仲裁器 .

互联

写交易仲裁器

读交易仲裁器

AW AR

主设备 0

路由器

共享写和读地址仲裁结构

主设备 1

主设备 2

AW AR

AW AR

互联

路由器

AW

AR

从设备 0

从设备 1

从设备 2

AW

AR

AW

AR

Page 58: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议-互连模型 (N-M模式 )

写数据互联开关

读数据互联开关

W R

主设备 0

图 2.12 稀疏互联写和读数据通道

主设备 1

主设备 2

W R

W R

互联

W

R

从设备 0

从设备 1

从设备 2

W

R

W

R

Page 59: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4-Lite 功能

AXI4-Lite 接口是 AXI4 接口的子集专用于和元件内的控制寄存器进行通信。 AXI4-Lite允许构建简单的元件接口,这个接口是较小的,对设计和验证方面的要求更少。 AXI4-Lite 接口的关键特性包含:

所有交易的猝发长度为 1 ;所有访问数据的大小和数据总线宽度相同;支持数据总线宽度为 32 位或 64 位(要求 64 位原子访问);所有的访问相当于 AWCACHE 和 ARCACHE 等于 b0000( 非缓冲和非缓存的 ) ;

不支持互斥性操作;

Page 60: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4-Lite 功能

主接口

地址和控制

读数据

从接口

读地址通道

读数据通道

读通道结构

Page 61: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4-Lite 功能

写响应通道

主接口

地址和控制

写数据

从接口

写地址通道

写数据通道

写通道结

写响应

Page 62: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4-Stream 功能

AXI4-Stream 协议作为一个标准的接口,这个接口用

于连接希望交换数据的元件。 接口用于将产生数据的一个主设备和接收数据的一

个从设备连接。 当很多元件和从元件连接时,也能使用这个协议。

协议支持使用具有相同设置共享总线的多个数据流,允许建立一个互联结构,这个结构能够执行扩展、压缩和路由操作。

Page 63: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4-Stream 功能

写响应通道

主接口

写数据 写数据 写数据 写数据

从接口

写数据通道

Page 64: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4-Stream 功能

信号 源 描述ACLK 时钟源 全局时钟信号。所有信号在 ACLK 信号上升沿采样

ARESETn 复位源 全局复位信号, ARESETn 低有效TVALID 主 TVALID 表明主设备正在驱动一个有效的传输。当确认 TVALID 和 TREADY 信

号后,发生一个传输。TREADY 从 TREADY 表明在当前周期能接收一个传输

TDATA[(8n-1):0]

主 TDATA 是基本的有效载荷,用来提供跨越接口的数据。数据为整数个字节

TSTRB[(n-1):0] 主 TSTRB 为字节修饰符,用来描述 TDATA 相关字节内容作为一个数字字节或者一个位置字节被处理。

TKEEP[(n-1):0] 主 TKEEP 是字节修饰符,用来表明 TDATA 相关字节的内容是否作为数据流的一部分被处理。TKEEP字节修饰符未被确认的那些相关的字节是空字节,可以从数据流中去除。

TLAST 主 TLAST 表明了包的边界TID[(i-1):0] 主 TID 是数据流的标识符,用来表明不同的数据流。

TDEST[(d-1):0] 主 TDEST 为数据流提供路由信息。TUSER[(u-1):0] 主 TUSER 是用户定义的边带信息,这些信息能伴随数据流进行发送。

Page 65: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4-Stream 功能

NCONCO

XX

例子 : 数字上变频器例子 : 数字上变频器

交织滤波器交织滤波器II

QQ

– 没有地址的概念– 空闲运行的数据 ( 在这种情况下 )

– 在这种条件下 , AXI4-Stream 应该优化成非常简单的接口

结果

在 DSP 系统中的所有接口都是 “流”接口

Hardware Design

Page 66: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

AMBA AXI4 协议--AXI4-Stream 功能

– PCIe, 以太网 ,任何可封装的,使用协议的流接口可能是电气特性兼容的,但是彼此之间不能进行互相操作

– 这些包包含不同的信息– 典型的需要创建一些“桥”逻辑。– 对于 AXI4-Stream, TRD 的连接说明了这点

在 PCIe核内的”用户”接口可以是”流”,但是数据被封装”

例子 : PCI Express

Hardware Design

Page 67: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 软核处理器结构 (V8.0)

可选择的配置

指令一侧总线接口 数据一侧总线接口

Page 68: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 软核处理器结构

从图中可以看出该处理器有以下几个方面的特点:采用指令和数据空间分离的哈佛结构;32个 32位通用寄存器;32位的地址总线,可寻址空间 4GB;32位 3 个操作数的指令字,指令字有 2 种寻址模式;单发( Single-issue ,一个时钟周期发出一条指令)流水线结构;

Page 69: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 软核处理器结构

采用指令预测分支策略和预取缓冲区;有独立的存储器管理单元对存储器空间进行管理;提供了可以使用硬件实现的功能单元:桶形移位寄存器;乘法器;除法器;浮点处理单元;

提供了丰富的外设接口资源;采用点对点的流连接结构和共享总线的结构;

Page 70: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 存储器结构

MicroBlaze 处理器采用哈佛存储器结构,即指令和数据访问使用独立的地址空间。 每个一个地址空间都是 32位范围(即,它们可以独立访问 4GB 地址空间的指令和数据存储器)。 MicroBlaze 所有的指令和数据接口,默认情况下是32位,使用大段或小段,位反转格式(取决于C_ENDIANNESS )。 MicroBlaze支持对数据存储器的字,半字和字节访问。

Page 71: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 存储器结构

MicroBlaze 处理器采用存储器映射方式访问 I/O

设备,即存储器和 I/O 设备采用统一编址方式。处理器

有下面三种接口用于存储器访问:

本地存储器总线( LMB);高级可扩展接口 AXI4或处理器本地总线( PLB);高级可扩展接口 AXI4或 Xilinx CacheLink( XCL);

Page 72: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 存储器结构 特别注意:

当时用 AXI4时, C_ENDIANNESS自动设置为小段;使用 PLB时,自动设置为大段。

处理器指令和数据缓存可以配置成 4/8 字的缓存行(缓存最小结构单位)。缓存行越大,可存放的代码就越长,执行效率也就越高。但是当程序中使用很多的随机访问模式时,会降低缓存的命中率,因此给定大小的缓存行反而会降低性能。

Page 73: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze浮点处理单元 FPU

MicroBlaze 处理器的浮点单元 FPU 基于 IEEE754 标准:• 使用 IEEE754单精度浮点格式,包括无穷大定义,不是一个数( NaN)和零;

• 支持加、减、乘、除、比较、转换和平方根指令;• 实现最近舍入( round-to-nearest)模式;• 产生状态位用于:下溢、上溢、除数为零和无效操作;

IEEE754 单精度格式

0 1 8 9 31

符号 指数 小数

Page 74: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 软核处理器流水线

当采用面积优化时,流水线分为三级,即:取指,译码和执行,这样可以减少硬件开销。

取指 译码 执行

取指 译码 执行

取指 译码 执行

执行执行

断流 断流

指令 1

指令 2

指令 3

周期 1 周期 7

图 3.3 三级流水结构

Page 75: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 软核处理器流水线

当不使用面积优化时,流水线分为五级:取指、译码、执行、访问存储器和回写,这样可以提高性能。下图给出了五级流水结构。

指令 1

指令 2

指令 3

周期 1 周期 9

取指 译码 执行 访存 回写

取指 译码 执行 访存 回写访存 访存

取指 译码 执行 断流 回写断流 访存

Page 76: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 软核处理器寄存器

程序计数器 (PC)机器状态寄存器 (MSR)异常地址寄存器 (EAR)异常状态寄存器 (ESR)分支目标寄存器 (BTR)浮点状态寄存器 (FSR)异常数据寄存器 (EDR)进程标识寄存器 (PID)区域保护寄存器 (ZPR)

Page 77: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 软核处理器寄存器

转换旁视缓冲低位寄存器 (TLBLO)转换旁视缓冲高位寄存器 (TLBHI)转换旁视缓冲索引寄存器 (TLBX)TLB查找索引寄存器 (TLBSX)处理器版本寄存器( PREV)

Page 78: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 处理器虚拟存储器管理

  运行在 MicroBlaze 处理器的应用程序要求使用有效地址访问 4GB 地址空间。处理器通过转换模式,以下面两种方式理解该地址空间。

在实模式下,有效地址直接访问物理存储器;在虚拟模式下,通过处理器的虚拟存储器管理硬件

( MMU )有效地址被转化物理地址。

Page 79: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 软核处理器 MMU

MMU 完成以下几个功能:

1 )将有效地址转化成物理地址;2 )在地址转换时,控制页面级访问;3 )在使用区域时,提供额外的虚拟模式保护控制;4 )对指令地址、数据地址转换和保护提供独立控制;5) 支持 8 种页面尺寸:1KB , 4KB , 16KB , 64KB,256KB , 1MB , 4MB 和 16MB;6 )软件提供页面替换策略;

Page 80: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 处理器 MMU 实模式

当处理器取指或使用加载 / 存储指令访问数据时,处理器查看存储器。程序使用处理器计算得到的 32位的有效地址查看存储器的位置。 当使用实模式时,物理地址和有效地址是一样的。

Page 81: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 处理器 MMU虚模式

在虚拟模式下,将有效地址转换成物理地址。通过设置MSR寄存器的 VM 比特来使能虚拟模式下的存储器管理。

Page 82: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 处理器的事件及处理

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

Page 83: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 处理器的事件及处理

事件 向量地址 返回地址的寄存器复位 0x00000000-0x00000004 -

用户矢量(异常) 0x00000008-0x0000000c Rx中断 0x00000010-0x00000014 R14

断点:非屏蔽硬件 0x00000018-0x0000001c R16断点:硬件断点:软件

硬件异常 0x00000020-0x00000024 R17 或 BTR保留 0x00000028-0x0000004f -

Page 84: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 处理器的数据缓存

MicroBlaze 处理器有可选的数据缓存提高性能。缓存的存储器地址不得在 LMB 的地址范围内。 数据缓存有以下特点:

直接映射( 1-way 关联); 完全写入; 用户可选择的缓存地址范围; 可配置的缓存和标记大小; CacheLink ( XCL )接口上的缓存; 选择使用 4/8 线字缓存行; 使用 MSR 寄存器控制打开 /关闭缓存;可选的; WDC指令使指令缓存行无效。

Page 85: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 处理器的指令缓存

MicroBlaze 处理器可选择指令缓存,当执行那些驻留在

LMB 地址范围外的代码时,使用指令缓存可以提高性能。 指令缓存有以下特点: 直接映射( 1-way 关联);

用户可选择的缓存地址范围; 可配置的缓存和标记大小; CacheLink ( XCL )接口上的缓存; 选择使用 4/8 线字缓存行; 使用 MSR 寄存器控制打开 /关闭缓存; 可选的 WIC指令使指令缓存行无效。

Page 86: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 处理器的调试

MicroBlaze 有的调试接口可以用来支持基于 JTAG的

软件调试工具( BDM 或后台调试模式调试器),比如Xilinx Microprocessor Debug ( XMD )工具。 调试接口用于和 Xilinx Microprocessor

Debug ( XMD )连接, XMD 和 Xilinx 的 JTAG端口连接。

多个 MicroBlaze 的例子(例化)使用单个 XDM 连接

进行多处理器调试。

Page 87: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 处理器的调试

调试特点有以下几个方面: 可配置硬件断点数目、观察点和无限的软件断点; 外部处理器控制使能调试工具停止、复位和单步; 读写存储器,通用寄存器,特殊功能寄存器— EAR, EDR, ESR , BTR 和 PVR0-PVR11 只读; 支持多处理器; 写指令和数据缓存。

Page 88: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器接口--MicroBlaze 软核处理器接口概述MicroBlaze 处理器具体外部接口定义如下:

M_AXI_DP: 外设数据总线, AXI4-Lite 或者 AXI4 接口;DPLB :数据接口,处理器本地总线;DLMB :数据接口,本地存储器总线(只有 BRAM );M_AXI_IP: 外设指令接口, AXI4-Lite 接口; IPLB :指令接口,处理器本地总线; ILMB :指令接口,本地存储器总线(只有 BRAM );M0_AXI…M15_AXIS: AXI4_Stream 接口,主直接连接接口;

S0_AXIS…S15_AXIS: AXI4_Stream 接口,从直接连接接口;

Page 89: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

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: 杂项信号 : 时钟,复位,调试和跟踪

Page 90: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器接口--PLB 结构

Page 91: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器接口--PLB 结构

1-16 个 PLB 主设备,每个主设备将它们所有的信号连接

到 PLB仲裁器上。 PLB 仲裁器多路复用信号,这些信号从主设备到共享 总线上,所有从设备的输入被连接到共享总线上。n 个 PLB从设备“ OR” 上它们的输出来驱动共享总线

,并 且将其“ OR” 结果返回到 PLB仲裁器上。 PLB 仲裁器处理总线仲裁,并且在主设备和从设备之 间实现数据和控制信号的移动。

Page 92: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理-- 本地存储器总线( LMB )

LMB 提供了单周期访问用于 MicroBlaze 处理器的片 上双口块 RAM 的能力LMB 提供了简单同步协议用于高效的块 RAM 的传输

DLMB: 数据接口,本地存储器总线 ( 只有 BRAM)ILMB:指令接口,本地存储器总线 ( 只有 BRAM)

Page 93: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--简单快速链路( FSL )

• 单向的点对点的基于 FIFO 的通信• 专用的(非共享的)和无须仲裁的结构• 专用的 MicroBlaze C 和汇编指令用于访问 FSL • 高速,在主机侧两个时钟完成传输• 从 XPS 的 Hardware → Create or Import Peripheral Wizard菜单下来使用 FSL 接口

FSL_M_Clk

FSL_M_Data [0:31]FSL_M_Control

FSL_M_Write

FSL_M_Full

FSL_S_Clk

FSL_S_Data [0:31]

FSL_S_Control

FSL_S_Read

FSL_S_Exists

FIFO

32

位数

FIFO Depth

Page 94: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--简单快速链路( FSL )

Page 95: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--CacheLink 接口

对外部存储器的访问来说, XCL 接口是高性能的解

决方案。 XCL 通过使用集成的 FSL缓冲区直接和存储

器控制器连接,例如 MPMC 。这种方法有最低的延迟和最小数目的例化。下图给出了使用集成 FSL缓冲区的 XCL 连接原理图。

当缓存使能时, XCL 接口可以使用。可以在指令侧或数据侧使用一个 XCL缓存。

Page 96: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理--MicroBlaze 软核典型 P-SoC 结构

MicroBlaze32 位 RISC 核

UART10/100E-Net

Memory Controller

片外存储器

FLASH/SRAM

快速简单链路FSL

0,1….15

定制功能 定制功能

BRAM 本地存储器

总线D-CacheBRAM

I-CacheBRAM

可配置大小

仲裁

器 PLB处理器本地总线 PLB

缓存连接

SDRAM

处理器本地总线 PLB

GPIO

总线桥PLB

仲裁器

片上外设

PLB 的其它短是必须的,当有低速设备操作在低总线速度

需要仲裁器,当一个外设可作为主设备,想要对其它外设进行写操作

Page 97: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

MicroBlaze 软核处理器原理-- MicroBlaze 软核典型 P-SoC 结构

MicroBlaze

AXI 互连块

AXI DDR2/3 存储器控制器

AXI 互连块

BRAM

存储器

MDM

BRAMI-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

TEMACAXI4-Stream

AXI4 support is available starting v8.0

Page 98: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK工具包

Xilinx 的 EDK工具主要包含: Xilinx Platfrom Studio( XPS )人机界面、嵌入式系统工具套件、嵌入式处理 IP核,比如处理器和外设、 Platform Studio SDK ( Software

Development Kit , SDK )。 SDK 基于 Eclipse 开放源码框架,设计人员可以选择使用 SDK 开发自己的嵌入式软件应用程序 (EDK13.1后必须

使用 SDK 开发应用程序。体会 EDK13.1 “生态设计,软件和硬件协同设计”

Page 99: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 开发流程

EDK 中所提供的工具用来完成嵌入式设计的整个过程。下图给出了基本嵌入式设计流程。

Page 100: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

仿真生成器

硬件平台生成库生成

嵌入式软件开发

ISETools

IP 库或者用户定制 IP

MSS

LibGen

.a

编译器 (GCC)

.o, .a

链接器 (GCC)

ELF

MHS

PlatGenDrivers,

MDDMPD, PAO

PcoreHDL

System andWrapper VHD

system.bmm

Synthesis (XST)

NGC

NGDBuildUCF

NGD

MAP, PAR

NCD

BitGensystem_bd.bmm

BITINIT

download.bit

iMPACT

system.bit

SimGen

BehavioralVHD Model

SimGen

StructuralVHD Model

SimGen

TimingVHD Model

Simulation

IP Models ISE Models

CompXLib

应用程序.c, .h, .s

download.cmd

EDK SWLibraries

Libraries,OS, MLD

XMD, GDB

FPGAJTAG Cable

在 SDK 内完成在 SDK 内完成Xilinx 片上系统开发平台结构

EDK 开发流程

Page 101: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 硬件平台的建立

Xilinx 的 FPGA 技术允许设计者在处理器子系统中定制

硬件逻辑。这种定制不可能使用标准的现成的微处理器或控制器芯片。“硬件平台”是指设计人员根据应用的需要而使用 Xilinx 的技术建立的灵活地、嵌入式处理子系统。 硬件平台是由一个或多个处理器或外设连接到处理器总线构成的。 EDK 通过微处理器硬件规范 (Microprocessor Hardware Specification , MHS )文件记录硬件平台信息。

Page 102: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 软件平台的建立

软件平台是软件驱动和用于建立应用程序的操作系统(可选)组成的。所建立的软件映像文件只包含用户所使用到的一部分 Xilinx 的库。 EDK 通过微处理器软件规范( Microprocessor

SoftwareSpectifcation , MSS )记录软件平台信息。设计人员可以

在软件平台运行多个应用程序。

Page 103: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 使用仿真的硬件平台验证

验证硬件平台的正确功能,设计人员可以建立一个仿真模型,并且在 HDL仿真器上运行。当仿真系统时,处理器运行可执行文件。 设计人员可以选择建立行为、结构时序仿真模型。

Page 104: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 使用调试的软件验证

调试嵌入式软件的基本技术是加载设计到所支持的开发板和使用调试工具去调试处理器。 作为可选择的方式,设计人员可以使用指令集仿真器或简化系统仿真器模型运行在主机上来调试设计代码。 设计人员可以通过概要分析代码的执行来估计系统性能。

Page 105: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 芯片配置

一旦软件和硬件平台建立完成,设计人员可以为FPGA建立一个的配置比特文件。 对于原型设计,当连接主机和芯片时,设计者可以在下载比特流时,将希望运行在嵌入式平台上的软件同时下载。 对于产品,设计员将配置比特流和软件保存在和

FPGA连接的非易失性存储器中。

Page 106: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 功能

设计环境Xilinx Platform Studio(XPS) 集成设计环境 GUI ,在这个集成环境

中可以创建完整的嵌入式设计。Xilinx Software Development Kit(SDK) 集成设计环境 GUI ,是对 XPS 的补

充,用来帮助设计人员开发软件应用功能(从 13.1 开始,专用于软件应用的开发)。

EDK 命令行或“非 Windows” 模式 允许设计人员运行嵌入式设计流程或从命令行改变工具选项。

Page 107: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 功能硬件开发The Base System Builder(BSB) 向导

通过使用支持的开发板或通用的基本功能,允许设计人员快速地建立一个嵌入式设计。 Xilinx 推荐使用 BSB 建立最初的项目创建。

The Create and Import IP Wizard 辅助设计人员添加自己的外设到设计中。建立相关的目录或数据文件,保证外设能被 EDK 工具识别。

Configure Coprocessor Wizard 帮助设计人员添加协处理器到 CPU 。Platform Generator(Platgen) 以 HDL 或实现的网表文件在片上构造可

编程系统

Page 108: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 功能

软件开发Library Generator(Libgen) 构建一个软件平台,该软件平台由定制的软件

库、驱动程序和 OS 构成。GNU Compiler Tools(GCC) 基于库产生器建立的平台,建立软件应用程序

Page 109: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 功能

验证Xilinx Microprocessor Debugger(XMD)

打开 shell 用于软件下载和调试,也提供通道用于 GNU 调试器访问设备。

GNU Debugger(GDB) 调试软件的 GUI ,基于仿真模型或目标设备。

Simulation Model Generator(Simgen)

产生硬件仿真模型和编译脚本文件用于对完整系统的仿真。

Simulation Library Compiler(CompEDKLib)

在开始对设计进行仿真时,为目标仿真器编译EDK 仿真库。

Bus Functional Model Compiler(BFM)

通过建立一个总线环境的模型去代替真实的嵌入式系统来帮助简化定制外设的验证。

Page 110: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 功能

设备配置Bitstream

Initializer(Bitinit)更新 FPGA的配置比特流,用可执行的软件初

始化片上指令存储器

System ACE File Generator(GenACE)

基于 FPGA的配置比特流和存储在非易失性存储

器的可执行软件,产生一个 Xilinx系统 ACE配置

文件Flash Memory

Programmer允许设计人员使用目标处理器去编程板上的通用 Flash ( CFI)接口 - 兼容的并行 flash

Page 111: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 功能

杂项类Format Revision(revup)Tool

and Version Management Wizard

Revup 工具更新设计文件(例如 MHS )到当

前的版本。版本管理向导帮助将先前 EDK 建立的 IP 和驱动更新到当前的版本。

LibXil Memory File System Generator (LibXil MFS)

在主机上建立一个 MFS 存储器镜像,该镜

像并被下载到嵌入式系统存储器。Platform Specification Utility 自动产生微处理器外设定义MPD 数据

文件,该文件要求创建 EDK兼容的制定外设。

Page 112: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- Xilinx Platform Studio(XPS)

XPS 提供了集成环境为基于 MicroBlaze 和 PowerPC处

理器的嵌入式处理器系统创建软件和硬件规范流程。 XPS 也提供编辑器和项目管理接口用来创建和编辑源代码。 XPS 提供工具流程配置选项的定制和提供图形化的系统编辑器用来连接处理器、外设和总线。 XPS 可以在 Windows 、 Solaris 和 Linux 平台下使用。 从 XPS 中,设计人员可以运行所有用于处理硬件和软件的嵌入式系统工具。在 XPS环境下可以进行系统验证。

Page 113: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Xilinx Platform Studio(XPS)

XPS 提供下面的特性:能够添加核,编辑核参数和进行总线和信号连接,产生 MHS文件;

能够产生和修改 MSS文件;支持表内的所有工具;能够产生和观察系统块图和设计报告;提供工程管理支持;过程和工具流程依赖管理;输出 MHS文件到 SDK工具中;

Page 114: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Xilinx Software Development Kit(SDK)

SDK 为应用软件提供开发环境。 SDK 基于 Eclipse 开放源码标准。 SDK 主要有以下特点:

功能丰富的 C/C++编辑器和编译环境;导入基于 XPS生成的硬件平台定义;提供项目管理;支持基于单个处理器或者多个处理器系统的软件应用程序的开发;

支持以团队环境的形式开发软件应用程序;为第三方的操作系统创建和配置板级支持包 BSP;

Page 115: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Xilinx Software Development Kit(SDK)

提供现成的简单软件工程来测试硬件和软件功能;通过 GUI 接口为软件应用程序、编程 FPGA 芯片和编程并行 flash 存储器产生链接脚本;应用程序的建立配置和自动的 MAKE文件生成;错误浏览;为无缝调试和概要分析目标提供了好的集成环境;

Page 116: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Base System Builder(BSB)Wizard

BSB向导帮助设计人员快速建立一个嵌入式系统工程。对于更复杂的工程, BSB向导提供基本的系统,通过这个系统设计人员可以定制完成嵌入式设计。为了高效率的建立工程, Xilinx推荐使用 BSB向导。

Page 117: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Base System Builder(BSB)Wizard

基于设计人员选择的板子,设计人员通过 BSB选择并配置基本元素 , 比如:处理器类型、调试接口、缓存配置、存储器类型和大小、外设等。 对于 BSB 不支持的目标系统,设计人员可以选择定制板选项。使用这个选项时,必须指定未来板子的硬件,并且要给出用户约束文件 UCF 。 如果选择的是支持的目标板, BSB向导自动加入

UCF文件。当退出 BSB 时, BSB 所建立的 MHS 和 MSS文件自动

加入到 XPS工程中,设计员能在 XPS 中进行更进一步设计。

Page 118: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Platform Generator(PlatGen)

平台产生器 Platgen 将对嵌入式系统的高级描述编译成能在目标 FPGA 芯片上实现的 HDL 网表。 嵌入式系统硬件平台典型的由一个或多个处理器和不同的外设和存储器模块组成,这些模块通过处理器总线连接。每个外设的 IP 核有很多的参数,通过调整这些参数来定制行为。这些参数也用来为这些存储器和外设进行地址映射。由于 EDK 提供可选择的特性, FPGA 只需要实现应用程序所要求的功能子集。

Page 119: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Platform Generator(PlatGen)

硬件平台保存了 MHS文件。 MHS文件是表示所设计

的嵌入式系统的硬件元件的最主要文件。 MHS文件以ASCII码形式存在。 Platgen读取MHS文件作为设计输入。 Platform 也从

EDK库和用户 IP库中读取处理器核硬件描述文件 MPD , PAO

。 Platgen 为嵌入式系统产生顶层 HDL 设计文件,该文

件包含所有参数化了的 IP 核。

Page 120: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Platform Generator(PlatGen)

在这个过程中,将 MHS 中所有高层总线连接变成连接处理器、外设和片上存储器的真实信号。它也调用 XST 编译器综合每个例化的 IP 核( Platgen 产生的系统级网表也用来作

为FPGA 实现过程的一部分)。 除此之外, Platgen 也产生 BMM ( BRAM Memory Map

)文件,该文件包含所用到的片上 BRAM 的地址。

Page 121: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--建立和导入 IP 向导

该向导帮助设计人员建立定制的外设并且将其导入相应的 XPS工程中。 在创建模式下,创建和输入外设向导建立很多文件,这些文件的一些是模板文件帮助设计人员实现外设,而不需要详细的知道总线协议,命名规则和特殊接口文件的格式。通过参考模板中的例子和使用不同的辅助设计支持文件,设计人员可以很快的进行逻辑定制。

Page 122: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--建立和导入 IP 向导

当创建或输入一个外设时,自动生成 MPD( Microprocessor Peripheral Defination )文件和 PAO( Peripheral Analyze Order )文件:

MPD文件定义了外设的接口; PAO文件通知其它工具( Platgen , Simgen ),对外设需要编译哪个 HDL文件和以什么样的顺序编译。

Page 123: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--配置协处理器向导

如果设计中包含 MicroBlaze 和 PowerPC 处理器时,可以使用该向导。 该向导添加和连接协处理器到 CPU 。协处理器是一个硬件模块用来实现用户在 FPGA 内定义的功能和通过 FSL接口与处理器连接。 FSL 通道是一个专用的 32位,点对点的通信接口。

Page 124: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--库产生器( Libgen )

Libgen 为嵌入式处理器系统配置库,设备驱动,文件系统和中断句柄,称这些为软件平台。 嵌入式软件平台为每个处理器定义了系统内外设的驱动(板级支持包),可选择的库,标准的输入 /输出设备

,中断句柄例程和其它相关的软件特征。 基于这个软件平台,设计人员更进一步的定义了软件的应用程序。

Page 125: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--库产生器( Libgen )

Libgen 为嵌入式处理器系统配置库,设备驱动,文件系统和中断句柄,以及创建板级支持包 BSP 。嵌入式软件平台为每个处理器定义了系统内外设的驱动(板级支持包),可选择的库,标准的输入 /输出设备,中断句柄例程

和其它相关的软件特征。 SDK工程进一步定义了运行在每个处理器上的软件,这些软件基于 BSP运行。

Page 126: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--库产生器( Libgen )

来自于 EDK安装的库和驱动,以及设计人员提供的定

制库和驱动, SDK 将用户程序,包括库和驱动程序编译成处理器硬件平台上可执行可链接的文件( Executable Linked Format , ELF )。 Libgen读取选择的 EDK库和不同的处理器核软件描

述文件( Microprocessor Driver Defination, MDD )和驱动代码。

Page 127: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--GNU 编译工具

GNU 编译工具用于编译和链接应用程序。对于 MicroBlaze处理器的应用, XPS运行 mb-gcc编译器;

对于 PowerPC处理器应用, XPS运行 powerpc-eabi-gcc编译器。

编译器能读取 C代码,头文件和汇编代码。链接器将编译的程序和选择的库连接在一起产生 ELF 可执行文件。连接器也读取连接脚本(默认产生或用户产生)。

Page 128: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Xilinx Microprocessor Debugger ( XMD )

设计人员可以使用指令集仿真器或者虚拟平台调试软件程序。 XMD 读 ELF文件。

对于调试物理的 FPGA , XMD 和 FPGA 通讯使用和FPGA 下载相同的电缆。

Page 129: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--GNU调试器( GDB )

GNU调试器是个强大和灵活的工具,它为在不同的开发周期验证MicroBlaze 和 PowerPC 系统提供了统一的调试和验证手段。 GDB 使用了 XMD作为最基本的引擎和处理器目标通讯

Page 130: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--仿真模型产生器 Simgen

仿真模型产生器 Simgen 为硬件产生和配置不同模型。 为产生行为模型, Simgen 使用 MHS文件作为基本的输

入。为产生结构或时序模型, Simgen 使用综合后或布局布线后的设计数据库作为基本的输入。 Simgen 为每个处理器也读取嵌入式应用 ELF文件去初始化片上存储器;这样处理器在仿真阶段就可以执行这些软件代码。

Page 131: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构 --仿真库编译器( CompEDKLib )

CompEDKLib 使用不同仿真工具厂商提供的仿真器编译 EDK 基于 HDL 的仿真库。这个工具可以运行在 GUI 和批

处理模式下。 在 GUI模式下,允许设计人员使用 CompXLib 编译

Xilinx的库和 EDK 中可以使用的库。

Page 132: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 比特流初始化工具( Bitinit )

比特流初始化工具使用软件信息来初始化与处理器连接的片上 BRAM 存储器。 该工具读取 ISE 产生的比特流文件( system.bit ),

产生一个新输出比特流文件( download.bit ),这个比特流文件包含 ELF文件。 这个工具使用 BMM文件,该文件由 Platgen 产生,

通过使用每个 BRAM块的物理的布局信息由 ISE工具更新。在内部,比特流初始化工具 Bitinit 使用在 ISE 中提供的Data2MEM工具来更新比特流文件。

Page 133: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 系统 ACE生成器 (Gen ACE )

从 FPGA 比特流中产生 Xilinx System ACE配置文件和

ELF/ 数据文件。 产生的 ACE文件用于配置 FPGA ,初始化 BRAM ,

使用有效的程序或数据初始化外部存储器和启动处理器。 EDK 提供了工具命令语言( Tool Command Language , Tcl )脚本, genace.tcl 。该脚本使用 XMD命令

产生 ACE文件。 使用 MDM 系统可以为 PowerPC 或 MicroBlaze 产生

ACE文件。

Page 134: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Flash 编程

编程解决方案被设计成通用的,面向不同的 Flash 硬件和布局。

Page 135: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--格式版本工具( revup )

格式版本工具 revup 更新已经存的 EDK工程到当前的版本。 revup工具只执行格式的变化,对设计不进行更新。在应用 revup 前,备份MHS , MSS , XMP 等文件

。 当使用新版本的 EDK工具打开老版本的工程时,就会显示版本管理向导。 当执行 revup后,调用版本管理向导。向导提供有关

设计中使用的 Xilinx 处理器 IP 核的变化信息。如果新版本

的IP 核可以使用,向导将升级到新的版本。

Page 136: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--LibXil文件系统生成器( LibXil MFS )

以文件句柄的形式提供管理程序存储器的能力。设计人员可以建立目录,并在目录中存放不同文件。文件系统能通过使用高级 C 语言进行函数调用来访问。

Page 137: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 平台规范工具

能够自动产生建立 IP 核的 MPD文件。通过建立和导入

外设向导的帮助,能够使用这个工具提供的功能。

Page 138: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

操作系统及板级支持包--Xilinx 片上处理器支持的 OS

XMKLinuxVxworks其它 uc/osII 等

支持嵌入式的软核和硬核处理器

只支持嵌入式硬核处理器

Page 139: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

操作系统及板级支持包--Xilinx 的 XMK

Xilinx 的微核( Xilinx Microkernel , XMK )包含三

个不同的软件实体,通过它用户应用程序可以与标准 C和 Math库, LibXil库, Xilkernel 或独立运行的操作系

统相接。

Page 140: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

操作系统及板级支持包--Xilinx 片上处理器支持的 OS

标准 C库由 libc组成,该库包含了标准 C 的函数,比如, stdio , stdlib , string例程。数学库是一个扩展 libm库,提供了标准的数学函数。 LibXil库由下面构成:

LibXil Driver-Xilinx 的设备驱动程序;LibXil MFS-Xilinx 存储文件系统 (Memory File System,MFS);LibXil Flash-并行 Flash编程库;LibXil lsf-串行 Flash编程库。

Page 141: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

操作系统及板级支持包--Xilinx 片上处理器支持的 OS

Xilinx 的独立板级支持包( Board Support Package ,BSP )和 Xilkernel 是 XMK 内提供的两个操作系统选择,能被包含在所设计的应用软件平台中。

用户应用程序

Xilkernel

XilFlash

Xil MFS Xil lsf

独立 BSP Xilinx 驱动

C , Math 和 GCC库

Page 142: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

操作系统及板级支持包--板级支持包 BSP

BSP 是单线程库。 BSP 提供对硬件的小的接口。向应

用程序提供所要求的最少的功能。 BSP 提供的一些典型的函数包括 : 设置中断

系统异常 配置缓存 其它硬件指定的功能。