32
何何 Tel email: 高高高高高高高 北北北北北北北北北北北北北 高高高 &XILINX SOC 高高高高高高高高 FPGA System Design Primer FPGA System Design Primer 何何 Tel:13911127536 email:[email protected] 北北北北 北北北北北北北北北北北北北 高高高高高高高高高高高高高

何宾 Tel:13911127536 email:[email protected]

  • Upload
    shayna

  • View
    40

  • Download
    0

Embed Size (px)

DESCRIPTION

版权所有,禁止未经授权的商业使用行为. 何宾 Tel:13911127536 email:[email protected]. 北京中教仪装备技术有限公司. 培训内容. Xilinx 片上可编程系统设计导论 MicroBlaze 处理器原理 EDK 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 基于 EDK10.1 和 MicroBlaze 处理器的设计流程. 指令一侧总线接口. 数据一侧总线接口. 可选择的配置. MicroBlaze 软核处理器原理 -- MicroBlaze 软核处理器结构. - PowerPoint PPT Presentation

Citation preview

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

何宾Tel : email:

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

限公司

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

FPGA System Design FPGA System Design PrimerPrimer

何宾Tel:13911127536

email:[email protected]

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

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

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

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

培训内容

Xilinx 片上可编程系统设计导论 MicroBlaze 处理器原理 EDK 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述基于 EDK10.1 和 MicroBlaze 处理器的设计流程

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

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

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

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

可选择的配置

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

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

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

DPLB ( Data Processor Local Bus ):数据接口,处理器

本地总线;DOPB ( Data On-chip Peripheral Bus ):数据接口,片

上外设总线;DLMB ( Data Local Memory Bus ):数据接口,本地存

储器总线;

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

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

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

IPLB ( Instruction Processor Local Bus ):指令接口,处理器本地总线;

IOPB ( Instruction On-Chip Peripheral Bus ):指令接口,片上外设总线;

ILMB ( Instruction Local Memory Bus ):指令接口,本地存储器总线;

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

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

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

MFSL 0..15 ( Fast Simple Link, FSL master interface ):

FSL 主接口;DWFSL 0..15 ( FSL master direct connection interface ): FSL 主直接连接接口;SFSL0..15 ( Fast Simple Link, FSL slave interface ):

FSL 从接口;DRFSL0..15 ( FSL slave direct connection interface ):

FSL 从直接连接接口;

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

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

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

IXCL ( Instruction side Xilinx CacheLink interface ):指令侧高速缓存链接接口;DXCL ( Data side Xilinx CacheLink interface ):数据侧高速缓存链接接口;Core :时钟、复位、调试和跟踪信号;

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

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

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

• 下面给出一个典型的总线结构。

LMB BRAMCNTLR

LMB BRAM CNTLR

BRAM

PLB

MDM UART

INTC

MicroBlaze

Timer

GPIO

IBA

LEDs

Switch MYIP

EMC CNTLR SRAM

ICON

Flash

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

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

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

MicroBlaze 软核处理器是可配置的,设计人员可以根据设计定制处理器的可选配置,根据版本的不同可配置的选项不同。软核处理器有以下几个方面的固定特征:

1. 32 个 32 位通用寄存器; 2. 32 位 3 个操作数的指令字,指令字有 2 种寻址模

式; 3. 32 位的地址总线; 4. 流水线操作。

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

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

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

MicroBlaze 处理器采用哈佛存储器结构,即指令和数据访问使用独立的地址空间。 每个一个地址空间都是 32 位长度(即,它们可以独立的访问 4GB 的地址空间的指令和数据存储器)。 通过控制使重叠的数据和指令空间映射到相同的相同的物理存储器上。这样对于调试试非常好的。 MicroBlaze 处理器采用存储器映射方式访问 I/O 设备

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

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

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

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

处理器有下面三种接口可以通过存储器的方式访问: 本地存储器总线 (LMB) ; 处理器本地总线 (PLB) 或者片上外设总线 (OPB) ; Xilinx 的 CacheLink(XCL) 。

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

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

MicroBlaze 软核处理器原理--MicroBlaze 软核处理器指令

MicroBlaze 处理器指令为 32 比特长度,指令分为类型A 和类型 B 。 类型 A 指令包含两个源寄存器操作数和一个目的寄存器操作数。 类型 B 指令一个源寄存器、一个 16 位的立即数(通

过imm 指令扩展到 32 位)和一个目的寄存器操作数。 MicroBlaze 处理器的指令完成的功能有:算术操作、逻辑操作、分支操作、加载 / 存储操作和其它特殊操作。

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

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

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

IEEE754 单精度浮点数由 1 位符号位、 8 位偏置指数和 23 位小数(尾数)部分组成。下表给出了 IEEE754 单精度格式。

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

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

MicroBlaze 软核处理器原理--MicroBlaze 软核处理器 FPU 运算

算数操作:加,浮点加( fadd );减,浮点减( fsub );乘,浮点乘( fmul );除,浮点除( fdiv );平方根,浮点平方根( fsqrt );

比较:小于,浮点小于( fcmp.lt )、等于,浮点等于( fcmp.eq );小于等于,浮点小于等于( fcmp.le );大于,浮点大于( fcmp.gt );不等于,浮点不等于( fcmp.ne );大于等于,浮点大于等于( fcmp.ge );无序,浮点无序( fcmp.un , NaN 使用);

转换:有符号整数到浮点( flt );浮点到有符号整数( fint )

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

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

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

MicroBlaze 处理器可配置为 16 个快速单一链接( Fast

Simplex Link , FSL )接口,每个接口由一个输入和输出端口组成。 FSL 通道是专用单向的点对点数据流接口。 MicroBlaze 接口为 32 比特宽度。一个对立的比特用

来描述发送 / 接收字是控制类型还是数据类型。 Get 指令用

来从 FSL 端口到通用寄存器传输信息; put 指令以相反的方

向传输信息。所有指令 4 种类型:阻塞数据、非阻塞数据、阻塞控制、非阻塞控制。

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

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

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

每个 FSL 提供低延迟专用的接口到处理器流水线。FSL 是使用定制加速器和处理器扩展的理想接口。下图给出了使用定制硬件加速的例子。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Page 21: 何宾 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 22: 何宾 Tel:13911127536     email:hebin@mail.buct

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

LMB 地址范围外的代码时,使用指令缓存可以提高性能。 指令缓存有以下特点:

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

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

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

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

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

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

Page 29: 何宾 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 30: 何宾 Tel:13911127536     email:hebin@mail.buct

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

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

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

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

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

MicroBlaze 软核处理器原理--MicroBlaze 信号接口

MicroBlaze 处理器能配置成下面的总线接口: 32 位版本的 PLBV4.6 接口; 32 位版本的 OPB2.0 接口; LMB 提供简单同步协议用于高效的块 RAM 传输; FSL 提供快速无需仲裁的流通信机制; XCL 提供在缓存和外部存储器控制器之间的快速从设备仲裁的流接口; 调试接口和处理器调试模块( MDM )一起使用; 跟踪接口用于性能分析。

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

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

MicroBlaze 软核处理器原理--MicroBlaze应用二进制接口 - 存储器模型

MicroBlaze 所定义的存储器模型有四个不同的部分:1 )小数据区;2 )数据区;3 )普通的非初始化区;4 )字面值( Literal )或常数。