MicroBlaze IP核中Local Memory Bus (LMB)接口描述

LMB(Local Memory Bus)是一种同步总线,主要用于访问FPGA上的块RAM(Block RAM,BRAM)。LMB使用最少的控制信号和一个简单的协议,以保证块RAM能在一个时钟周期内被存取。所有的LMB信号都是高电平有效(active high),这意味着当信号处于高电平时,它们才处于活动状态。

  1. N = 32 - 64, 地址总线的宽度N可以是32位到64位,具体取决于配置参数C_ADDR_SIZE。这个特性在MicroBlaze的v9.6版本中引入。

  2. N = 32 - 64, 当使用物理地址扩展(PAE)或64位MicroBlaze时,地址总线的宽度N仍然可以根据C_ADDR_SIZE配置为32位到64位。这个特性在MicroBlaze的v10.0版本中引入。

  3. N = 4, 8, 当使用64位MicroBlaze时,另一个总线或信号(可能是Byte_Enable或其他与数据大小相关的信号)的宽度N可以是4位或8位,具体取决于配置参数C_LMB_DATA_SIZE。这个特性在MicroBlaze的v11.0版本中引入。

  4. N = 32, 64, 当使用64位MicroBlaze时,N的值可以是32位或64位,具体取决于配置参数C_LMB_DATA_SIZE。这个特性是在MicroBlaze的v11.0版本中引入的。
  5. 这部分信息是在MicroBlaze的v8.00版本中首次引入。
Addr[0:N-1]

地址总线是MicroBlaze IP核的输出,用于与外部存储器或其他设备之间的连接,指示当前传输中正被访问的内存地址。

AS为高电平时,地址总线上的Addr[0:N-1]信号才是有效的。在某些情况下,访问外部存储器或设备可能需要多个时钟周期才能完成(例如,因为延迟、等待响应或其他原因)。在这种情况下,尽管整个传输可能需要多个时钟周期,但地址总线上的Addr[0:N-1]只在传输的第一个时钟周期内是有效的。这意味着外部设备应该在第一个时钟周期内捕获地址,并在后续周期中根据该地址进行必要的操作。

Byte_Enable[0:N]

字节使能信号是MicroBlaze IP核的输出,用于指示数据总线的哪些字节通道包含有效的数据。字节使能信号Byte_Enable仅在AS信号为高电平时有效。

当访问外部存储器或设备需要多个时钟周期才能完成时,Byte_Enable信号仅在传输的第一个时钟周期内有效。这意味着外部设备应该在第一个时钟周期内捕获Byte_Enable信号,并根据它来决定哪些字节通道的数据是有效的,然后在后续周期中根据这些信息进行必要的操作。

下表中列出了Byte_Enable信号的有效值。

Data_Write[0:N-1]
写数据总线是MicroBlaze IP核 向外部存储器发送数据时使用的通道。它包含将被写入到存储器中的数据。写数据总线上的数据仅在 AS为高电平时有效。这意味着,只有当 AS信号被激活(置为高)时,写数据总线上的数据才会被外部存储器读取和写入。

Byte_Enable[0:3]是一个4位的字节使能信号,用于指示写数据总线的哪些字节通道包含有效的数据。

AS

地址选通(AS)是MicroBlaze IP核的输出,它用于指示数据传输的开始,并确认地址总线和字节使能信号的有效性。AS信号仅在传输的第一个时钟周期内为高电平。在第一个时钟周期之后,AS信号变为低电平,并保持低电平直到下一次传输的开始。

Read_Strobe

读选通是MicroBlaze IP核的输出,用于指示正在进行的读取传输。读选通信号在传输的第一个时钟周期内变为高电平。它可以保持高电平,直到读取操作完成并且Ready信号被采样为高电平的下一个时钟周期。Ready信号是外部设备(如存储器)向MicroBlaze IP核发送的一个信号,用于指示外部设备已经准备好提供数据或完成当前操作。

Ready信号被采样为高电平时,读选通信号(Read Strobe)可能会在下一个时钟周期变为低电平,表明读取操作已经完成。

如果在Ready信号为高电平的下一个时钟周期直接开始新的读取传输,那么读选通信号可能会保持高电平。这意味着连续的读取操作可能会导致读选通信号保持高电平多个时钟周期,直到最后一次读取操作完成并且Ready信号被采样为高电平。

Write_Strobe

写选通(Write Strobe)是MicroBlaze IP核的输出,用于指示正在进行的写入传输。

写选通信号在传输的第一个时钟周期内变为高电平。它可以保持高电平,直到写入操作完成并且Ready信号被采样为高电平的下一个时钟周期。

Ready信号被采样为高电平时,写选通信号(Write Strobe)可能会在下一个时钟周期变为低电平,表明写入操作已经完成。

如果在Ready信号为高电平的下一个时钟周期直接开始新的写入传输,那么写选通信号(Write_Strobe)可能会保持高电平。

这意味着连续的写入操作可能会导致写选通信号保持高电平多个时钟周期,直到最后一次写入操作完成并且Ready信号被采样为高电平。

Data_Read[0:N-1]

读数据总线是MicroBlaze IP核的输出,包含从外部存储器或其他设备读取的数据。在Ready信号为高电平时,于时钟的上升沿Data_Read变得有效。

Ready

Ready信号是外部设备向MicroBlaze IP核发送的一个输入信号,它用于指示当前传输的完成,并表明下一个传输可以在下一个时钟周期开始。Ready信号在时钟的上升沿被采样。

Ready信号为高电平时,它指示Data_Read[0:31]总线上的数据是有效的。这意味着MicroBlaze IP核可以在该时钟周期的上升沿之后安全地读取这些数据。

Ready信号为高电平时,它表明Data_Write[0:31]总线上的数据已经被写入到本地存储器中。它通知MicroBlaze IP核写入操作已经完成,并可以开始下一个操作或传输。

Wait

Wait信号是外部设备向MicroBlaze IP核发送的一个输入信号,用于指示当前的数据传输请求已经被接受,但传输操作尚未完成。

Wait信号在时钟的上升沿被采样,

Wait信号为高电平时,MicroBlaze IP核知道它发起的数据传输请求已经被外部设备接收,但传输过程仍在进行中,尚未完成。在这种情况下,MicroBlaze IP核通常会暂停或延迟后续的操作,直到Wait信号变为低电平,指示传输已经完成。

CE

CE信号是外部设备向MicroBlaze IP核发送的一个输入信号,用于指示当前的数据传输中存在一个可纠正的错误,并且该错误已经被外部设备或内存系统纠正。CE信号在Ready信号为高电平时,于时钟的上升沿变得有效。

对于读取操作:当CE信号有效时,它表明Data_Read[0:31]总线上的数据在传输过程中存在一个可纠正的错误,但该错误已经被纠正。因此,尽管有错误发生,但读取到的数据是正确的。

对于字节或半字写入操作:如果CE信号有效,则表明在将新数据写入本地存储器之前,相应的数据字在本地存储器中已经存在一个可纠正的错误,并且该错误已经被纠正。这意味着新数据将被写入到一个没有错误的数据字上。

UE

UE信号是外部设备向MicroBlaze IP核发送的一个输入信号,它用于指示当前的数据传输中存在一个不可纠正的错误,即该错误无法被外部设备或内存系统修复。UE信号在Ready信号为高电平时,于时钟的上升沿变得有效。

对于读取操作:当UE信号有效时,它表明Data_Read[0:31]总线上的数据在传输过程中存在一个不可纠正的错误。因此,处理器核心应该认为这个数据值是错误的,并且不能信任它。

对于字节或半字写入操作:如果UE信号有效,则表明在将新数据写入本地存储器之前,相应的数据字(word)在本地存储器中就已经存在一个不可纠正的错误。此时,MicroBlaze IP核需要决定如何处理这个错误,因为新的数据将覆盖一个有问题的数据字。

Clk

所有在LMB上进行的操作(如数据的读写)都是与MicroBlaze IP核时钟同步的,这意味着每一个操作都在MicroBlaze IP核时钟的特定周期(如上升沿或下降沿)开始和结束,这种同步性确保了数据的一致性和传输的效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/732554.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络5:运输层

概述 进程间基于网络的通信 计算机网络中实际进行通信的真正实体,是位于通信两端主机中的进程。 如何为运行在不同主机上的应用进程提供直接的逻辑通信服务,就是运输层的主要任务。运输层协议又称为端到端协议。 运输层向应用层实体屏蔽了下面网络核心…

k8s资源的基本操作

文章目录 一、Namespace1、概述2、预定义的k8s命名空间2.1、default2.2、kube-public2.3、kube-system2.4、kube-node-lease 3、命名空间基本操作3.1、查看3.1.1、查看所有的命名空间3.1.2、查看指定的命名空间3.1.3、指定输出格式3.1.4、查看ns详情 3.2、创建3.2.1、命令行创建…

VMware vSphere Bitfusion 4.5.4 - 面向 AI 和 ML 应用提供弹性基础架构

VMware vSphere Bitfusion 4.5.4 - 面向 AI 和 ML 应用提供弹性基础架构 请访问原文链接:VMware vSphere Bitfusion 4.5.4 - 面向 AI 和 ML 应用提供弹性基础架构,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org VM…

Android图片圆角转换 RoundedImageView开源项目 小记(1)

android:background“#7f000000” android:paddingLeft“8dp” android:paddingRight“8dp” android:textAppearance“?android:attr/textAppearanceMediumInverse” /> <TextView android:id“id/textView1” android:layout_width“wrap_content” android:la…

十一、数据结构(图的最短路)

文章目录 基础部分最短路径问题用 D F S DFS DFS搜索所有的路径用 B F S BFS BFS求最短路径 最短路算法 F l o y d Floyd Floydcode(Floyd的实现): S P F A SPFA SPFAcode(基于邻接表的 S P F A ) SPFA) SPFA) D i j k s t r a Dijkstra Dijkstracode&#xff08;dijkstra的实现…

Excel导出实例

在上一节的基础上&#xff0c;本文演示下如何导出excel数据。 Excel导出操作演示 继承ocean-easyexcel SDK <dependency><groupId>com.angel.ocean</groupId><artifactId>ocean-easyexcel</artifactId><version>1.0.0</version> …

2024头歌数据库期末综合(部分题)

目录 第1关&#xff1a;数据表结构修改1 任务描述 学习补充 答案 第2关&#xff1a;数据记录删除 任务描述 学习补充 答案 第3关&#xff1a;数据表结构修改2 任务描述 学习补充 答案 第5关&#xff1a;数据查询一 任务描述 学习补充 答案 本篇博客声明&…

【ARMv8/ARMv9 硬件加速系列 4 -- 加解密 Cryptographic Extension 介绍】

文章目录 ARMv8.0 Cryptographic ExtensionFEAT_AESFEAT_PMULLFEAT_SHA1FEAT_SHA256ARMv8.2 扩展FEAT_SHA512FEAT_SHA3FEAT_SM3FEAT_SM4ARMv8.0 Cryptographic Extension ARMv8.0引入了加密扩展(Cryptographic Extension),旨在加速加密和解密操作。这一扩展通过新增专用指令…

【Linux】 yum学习

yum介绍 在Linux系统中&#xff0c;yum&#xff08;Yellowdog Updater, Modified&#xff09;是一个用于管理软件包的命令行工具&#xff0c;特别适用于基于RPM&#xff08;Red Hat Package Manager&#xff09;的系统&#xff0c;如CentOS、Fedora和Red Hat Enterprise Linux…

一、docker简介及卸载、安装

目录 一、Docker 简介 二、dockers三要素 1、Docker镜像&#xff08;image&#xff09; 2、Docker仓库 3、Docker容器 三、docker架构图 四. Docker 运行的基本流程 五、docker 卸载 1、停止docker服务 2、查看yum安装的docker文件包 3、查看docker相关的rpm源文件 …

力扣随机一题 模拟+字符串

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 1910.删除一个字符串中所有出现的给定子字符串【中等】 题目&#xff1a; …

利用LabVIEW项目管理和组织LabVIEW应用程序

如何利用LabVIEW项目管理和组织LabVIEW应用程序&#xff0c;提供了关于文件定义、磁盘上的文件组织、LabVIEW项目浏览器、交叉链接和相关资源的建议。这些推荐在开发前就应建立&#xff0c;以确保应用程序能扩展到大量VIs并适应多开发者环境。 目录 定义和识别应用程序文件 磁…

第五篇:构建与维护私有Docker Registry: 企业级实践指南

构建与维护私有Docker Registry: 企业级实践指南 1. 引言&#xff1a;解析私有Docker仓库的必要性 1.1 Docker Registry简介与私有化的好处 Docker Registry是一个用于存储和分发Docker镜像的系统。在Docker生态系统中&#xff0c;Registry扮演着至关重要的角色&#xff0c;为…

labelme使用笔记:目标检测数据集标注和语义分割数据集批量生成

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享&#xff0c;包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

网优小插件_利用Power Automate Desktop抓取物业点信息

日常在无线网络优化&#xff0c;经常需要提取某一地市&#xff0c;某个属性物业点信息&#xff08;物业点名称、地址、及经纬度信息&#xff09;&#xff0c;本文利用Power Automate Desktop&#xff08;PRA&#xff09;和百度地图经纬度拾取网站&#xff0c;通过自动的方式抓取…

DS:堆的应用——两种算法和TOP-K问题

欢迎来到Harper.Lee的学习世界&#xff01;博主主页传送门&#xff1a;Harper.Lee的博客主页想要一起进步的uu可以来后台找我哦&#xff01; 一、堆的排序 1.1 向上调整——建小堆 1.1.1 代码实现 //时间复杂度&#xff1a;O(N*logN) //空间复杂度&#xff1a;O(logN) for (…

一文带你了解CAN协议 - 趋于完美的通信协议

参考自&#xff1a; 常见的通讯协议总结&#xff08;USART、IIC、SPI、485、CAN&#xff09;-CSDN博客 趋近于完美的通讯 CAN总线&#xff01;4分钟看懂&#xff01;_哔哩哔哩_bilibili 概念 CAN 是控制器局域网络(Controller Area Network)的简称&#xff0c; 它是由研发和生…

C++ GPU编程(英伟达CUDA)

安装编译环境 https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.85_windows.exe CMakeLists.txt cmake_minimum_required(VERSION 3.10)set(CMAKE_CXX_STANDARD 17) set(CMAKE_BUILD_TYPE Release) #set(CMAKE_CUDA_ARCHITECTUR…

深度学习前10节

1.机器学习的流程 (1)数据获取 &#xff08;2&#xff09;特征工程 &#xff08;3&#xff09;建立模型 &#xff08;4&#xff09;评估与应用 2.特征工程的作用 &#xff08;1&#xff09;数据特征决定了模型的上限 &#xff08;2&#xff09;预处理和特征提取是最核心的 &…

Java中对象的比较

1. 对象的比较 在Java中&#xff0c;基本类型的对象可以直接比较大小&#xff0c;而自定义类型却不能 class Card {public int rank; // 数值public String suit; // 花色public Card(int rank, String suit) {this.rank rank;this.suit suit;}}public class TestPriori…