MicroBlaze软核处理器简介

MicroBlaze™ 是 Xilinx 嵌入式产品系列的重要组件。MicroBlaze 是功能齐全的、更少指令集的 FPGA 优化型 32 位计算机 (RISC) 软处理器,可充分满足各种应用需求,如工业、医疗、汽车、消费类以及通信基础设施市场等。MicroBlaze 是一款高度可配置的易用型处理器,可在 FPGA 以及全可编程 (AP) SoC 产品系列中使用。它免费配套提供 Vivado® 设计与系统版以及 Vivado Webpack 版。此外,它还可作为原有 IDS 嵌入式版本的一部分提供,用于 Spartan®-6 和 Virtex®-6 等较早的 FPGA 器件系列。

MicroBlaze 是高度可配置的 IP 核,支持 70 多种配置选项。一些重要的配置选项为指令/数据高速缓存、浮点单元和存储器管理单元等。用户可使用高度灵活的可配置内核,实现几乎任何处理器使用案例,从极小型状态机或微控制器到运行 Linux 的高性能计算密集型微处理器系统,无所不能。该 IP 既可配置为在三级管线模式下工作(针对尺寸进行优化),也可配置为在五级管线模式下工作(针对速度进行优化),因而可提供比其它任何 FPGA 软处理解决方案更快的 DMIP 性能。

MicroBlaze 性能指标:基于 Vivado 2017.3

器件 性能优化的 MicroBlaze 支持分支优化 性能优化的 MicroBlaze 面积优化的 MicroBlaze 包含分支优化的频分优化 MicroBlaze
  (5-级流水线) (5-级流水线) (3-级流水线) (8-级流水线)
  1.45 DMIPs/MHz 1.34 DMIPs/MHz 1.07 DMIPs/MHZ 1.07 DMIPs/MHz
  Fmax DMIPs Fmax DMIPs Fmax DMIPs Fmax DMIPs
Virtex-7 (-3) 244 354 341 457 290 310 304 325
Kintex-7 (-3) 236 342 339 454 293 314 294 315
Artix-7 (-3) 181 262 229 307 216 231 197 211
Kintex UltraScale (-3) 309 448 384 515 367 393 350 375
Virtex UltraScale (-3) 299 434 371 497 360 385 345 369
Kintex UltraScale+ (-3) 410 595 530 710 495 530 483 517
Virtex UltraScale+ (-3) 421 610 560 750 511 547 490 524
Zynq UltraScale+ (-3) 425 616 547 733 514 550 471 504
Spartan-7 (-2) 157 228 200 268 183 196 169 181
Spartan-6 (-2) 111 161 135 181 124 132 120 128

注: 因为 Zynq-7000 器件,Zynq-7000 AP SoC 的性能值和 Artix-7 及 Kintex-7 一样。

简化您的生活——MicroBlaze 配置向导!
对于高度可配置的 MicroBlaze 处理器,Xilinx 提供配置向导工具实现易用性。该工具可为用户提供预定义的快速配置选项。用户无需从 70 多种选项进行配置,可根据使用案例选择预定义选项。下表是各种预定义选项以及典型使用案例说明。

预定义配置 简要描述
最小的面积 尽可能最小的 MicroBlaze 内核、无高速缓存、无调试
最大性能 大缓存、调试和执行单元
最大频率 可实现的最大频率小型高速缓存、无调试,提供几个执行单元
支持 MMU 的 Linux 适用于获得高性能的设置(在运行支持存储器管理单元 (MMU) 的 Linux 时)。支持存储器管理、大型高速缓存与调试以及所有执行单元
支持 MMU 的低端 Linux 与 MicroBlaze 嵌入式参考系统相对应的设置。可为低端系统上的 Linux 开发提供适当的设置。支持存储器管理,小型高速缓存与调试
典型值 合理平衡性能、面积与频率的设置。适用于独立程序与低开销内核。支持高速缓存与调试

用户可以选择两步配置流程:第一步选择表 1 中列出的预定义配置;第二步调整几个所选的配置选项,使其适合实际使用案例。

MicroBlaze 的主要特性(包括可配置特性/选项):

  • 3 级或 5 级管线支持
  • 支持原生 AXI-4
  • 支持 AXI 一致性扩展 (ACE)
  • 高速缓存行字长:4、8 或 16
  • 面积与速度优化型配置选项
  • 支持存储器管理单元
  • 支持低时延中断模式
  • 容错性,其中包括纠错码 (ECC) 和锁步支持
  • MPU 模式,可以实现安全 RTOS 应用的区域保护
  • 指令和数据高速缓存
  • 高速缓存量可配置:2kB - 64kB(基于模块 RAM)

  • 本地存储器总线 (LMB) 指令和数据端接口。
  • 硬件桶形移位器
  • 硬件乘法器和除法器
  • 多达 16 个 AXI 数据流接口
  • 浮点单元(单精度、与 IEEE 754 兼容)
  • 处理器版本寄存器
  • 浮动的基矢量
  • 支持睡眠模式与睡眠指令
  • 扩展的调试支持:性能监控、性能跟踪、非侵入式分析
  • 了解更多详情
    MicroBlaze 是完整 Xilinx 嵌入式解决方案不可分割的一部份。可通过 Vivado 集成设计环境和早期 ISE Embedded Edition 获得。对于软件开发,它可作为软件开发套件的一部分获得支持;对于硬件设计,MicroBlaze 和 Xilinx IP 系列相结合,可配合 Vivado IP 集成器使用。