Vivado Microblaze IP核

一、Microblaze configuration wizard

在这里插入图片描述

Predefined configurations:配置模板。
Select Processor Implementation:选择32/64位处理器。64位处理器将两个32位通用寄存器扩展为一个64位寄存器,提供处理64位数据的附加指令,并且可以使用最多64位地址寻址和最多4个EB指令和数据,一般32位即够用。
Select implementation optimization:选择布线优化
AREA(区域):三级优化,速度最慢,占用资源最少。一般用在资源受限的结构。
FREQUENCY(频率):八级优化,速度最快,占用资源最多。一般使用该优化达到系统频率目标。
PERFORMANCE(性能):五级优化,速度和资源占用量在ARE和FREQUENCY之间。除非优化区域或系统频率非常重要,否则一般建议选此选项。
Enable MicroBlaze Debug Module Interface:使能调试接口。一般开启,只有在资源十分紧张时禁用。
Use Instruction and Data Caches:使用指令和数据缓存。当执行放在LMB之外的程序时可以使用指令缓存来改善性能。当使用外部存储时,激活这个选项可以明显地改善性能。
Enable Exceptions:使能异常处理。当使用一个支持异常的操作系统时,需激活。
Use memory management:使用存储管理器。如果使用支持虚拟存储器或存储器保护的操作系统需启用。如果启用了区域优化,存储器管理单元不可用。
Enable Discrete Ports:使能软核上的独立端口。用来产生软件中断、管理处理器的睡眠和启动。

二、General

在这里插入图片描述

Enable Barrel Shifter: 使能软核中的桶形移位器硬件。激活这个参数,就可以使用如下指令(bsrl,bsra,…)。使能这个可以提高应用的性能,但是会增大软核的尺寸。如果激活,编译器会自动使用筒形移位器指令。
Enable Floating Point Unit: 使能一个单精度浮点单元。使用FPU可以明显地提高应用的单精度浮点性能,同时也会增大软核的尺寸。
Enable Integer Multiplier:使能一个整形乘法器硬件。
MUL32:若激活,可以在给MUL32赋值时使用mul和muli命令
MUL64:若激活,可以在给MUL64赋值时使用mulh,mulhu,mulhsu
NONE:将MUL或者DSP48释放,用作其它用途,这样对软核的尺寸影响很小,此时编译器自动使用mul指令。
Enable Integer Divider:使能一个整形除法器硬件。若激活,可以使用idiv、iduvu指令。使能这个选项可以提高应用中的除法性能,但同时增大了软核的尺寸。当使用这个选项,编译器自动使用idiv指令。
Enable Additional Machine Status Register Instructions:使能额外机器状态寄存器指令。若激活,则可以读写MSR,使用msrset和msrclr命令。可以提高访问MSR的性能。
Enable Pattern Comparator:使能模式比较器。若激活,可以使用模式匹配指令pcmpbf,pcmpeq,pcmpne。模式匹配字节查找指令pcmpbf返回找到的第一个字节的位置,提高字符串和模式匹配操作的效率。
Enable Reversed Load/Store and Swap Instructions:使能反向加载/保存和交换指令 lbur,lhur,lwr,sbr,shr,swr,swapb,swaph。这些指令能够以相反的字节顺序来读写数据,交换指令能交换字节或者半个字长。这些指令在处理网络字节序和microblaze字节序时可以提升性能。
Enable Additional Stream Instructions:使能额外的流命令。当使用AXI4-Stream链接时,提供额外的功能。这包括动态访问指令GETD和PUTD,这两个指令用寄存器来选择接口。必须激活流异常功能,才能使用这些指令。
Enable Fault Tolerance Support:使能容错。

Debug:设置断点和查看点的数量,一般保持默认。

三、BUS

在这里插入图片描述

Local Memory Bus Interfaces:本地内存总线接口(LMB)。
AXI and ACE Interfaces:AXI和ACE接口。其中,Enable Peripheral AXI Data interface用来控制外围模块。AXI数据接口是与外围接口数据交互的总线,之后所有模块都挂在这个总线上。
Stream Interfaces:流接口。
Other Interfaces:其它接口。

LMB模块,分为ILMB(指令)和DLMB(数据)。该模块用来作为CPU的内存,可以分成指令和数据两块内存,也可以共享一块内存。若指令和数据内存控制器是分开的,那么LMB模块由两个LMB总线模块、两个LMB内存控制器、一个BRAM模块组成。

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

• 3 级或 5 级管线支持
• 支持原生 AXI-4
• 支持 AXI 一致性扩展 (ACE)
• 高速缓存行字长:4、8 或 16
• 面积与速度优化型配置选项
• 支持存储器管理单元
• 支持低时延中断模式
• 容错性,其中包括纠错码 (ECC) 和锁步支持
• MPU 模式,可以实现安全 RTOS 应用的区域保护
• 指令和数据高速缓存
高速缓存量可配置:2kB - 64kB(基于模块 RAM)
• 本地存储器总线 (LMB) 指令和数据端接口。
• 硬件桶形移位器
• 硬件乘法器和除法器
• 多达 16 个 AXI 数据流接口
• 浮点单元(单精度、与 IEEE 754 兼容)
• 处理器版本寄存器
• 浮动的基矢量
• 支持睡眠模式与睡眠指令
• 扩展的调试支持:性能监控、性能跟踪、非侵入式分析

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hi小瑞同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值