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核时钟的特定周期(如上升沿或下降沿)开始和结束,这种同步性确保了数据的一致性和传输的效率。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一题——冒泡排序

C语言——冒泡排序 冒泡排序练习 前言:CSDN的小伙伴们,大家好!今天我来给大家分享一种解题思想——冒泡排序。 冒泡排序 冒泡法的核心思想:两两相邻的元素进行比较 2.冒泡排序的算法描述如下。 (1)比较相邻的元素。如果第一 个比…

Redis-事务-watch-unwatch

文章目录 1、监视key2、提交事务 1、监视key 打开两个窗口,第一个窗口先监视key,然后开始事务,然后再打开第二个窗口,修改balance为0 2、提交事务 此时事务被打断

做好海外ASO优化的7大核心要素你了解几个?

海外App进行ASO优化时,需要综合考虑多个方面以确保应用在应用商店中获得更高的曝光率和下载量。以下是一些关键的ASO优化步骤,结合参考文章中的相关信息进行详细阐述: 1.关键词优化 调研目标市场的用户行为和检索习惯,挖掘与应用…

【机器学习300问】129、RNN如何在情感分析任务中起作用的?

情感分析是自然语言处理(NLP)领域的一个重要分支,它的目标是自动检测和提取出非结构化文本数据中的主观信息(比如:情绪、意见、评价等) 一、情感分析任务案例 分析电商产品评论的情感倾向(三分类…

python项目(课设)——飞机大战小游戏项目源码(pygame)

主程序 import pygame from plane_sprites import * class PlaneGame: """ 游戏类 """ def __init__(self): print("游戏初始化") # 初始化字体模块 pygame.font.init() # 创建游戏…

python-题库篇-Python语言特性

文章目录 Python语言特性1 Python的函数参数传递2 Python中的元类(metaclass)3 staticmethod和classmethod4 类变量和实例变量5 Python自省6 字典推导式7 Python中单下划线和双下划线8 字符串格式化:%和.format9 迭代器和生成器10 *args and **kwargs11 面向切面编程AOP和装饰器…

PWR电源控制

一、PWR简介 1、PWR(Power Control)电源控制 (1)PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能 (2)可编程电压监测器(PVD)可以监控…

五十五、openlayers官网示例Loading Spinner解析——给地图添加loading效果,瓦片图层加载时等待效果

官网demo地址: Loading Spinner 这篇介绍了一个非常简单的loading效果 利用地图的loadstart和loadend事件,动态的添加和删除class名。 map.on("loadstart", function () {map.getTargetElement().classList.add("spinner");});map…

【数据结构】第十九弹---C语言实现冒泡排序算法

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、冒泡排序基本思想 2、代码的初步实现 3、代码的优化 4、代码的测试 5、时空复杂度分析 6、模拟实现qsort 6.1、冒泡排序函数 6.2、交换数…

2024信息系统、信号处理与通信技术国际会议(ICISPCT2024)

2024信息系统、信号处理与通信技术国际会议(ICISPCT2024) 会议简介 2024国际信息系统、信号处理与通信技术大会(ICISPCT2024)将在青岛隆重开幕。本次会议旨在汇聚全球信息系统、信号处理和通信技术领域的专家学者,共同探索行业…

Docker之overlay2的迁移

原因 docker默认将文件及其容器放置在了系统盘的挂载区内,如果长期使用会发现系统挂载区被overlay2挤爆了,因此在一开始我们将其迁移在大容量外挂磁盘上,就可以避免系统盘被挤爆,放心使用. 具体操作 # 停止容器 systemctl stop docker# 修改容器配置&#xff0c…

基于STM32的智能病房监控和人脸识别系统设计(毕业设计)

摘 要 随着技术的不断进步和医疗需求的不断增长,智能病房控制系统有望在医疗领域发挥更大的作用。基于此,本文研究设计了一款低成本、操作简单、适用性强的基于STM32的智能病房监控和人脸识别系统。该系统通过STM32作为控制器和OpenMV对人脸分辨进行门…

常见调试器介绍

目录 常见调试器 1.1 ST-Link 1.2 DAPLink 1.3 JLink 常见调试器 市面上有很多的调试器,下面是大家比较常见的一些调试器, 比如:ST-Link、DAPLink、JLink、Ulink等 1.1 ST-Link ST-Link是一种用于STM8及STM32系列单片机的调试器和下载…

windows使用curl命令出现乱码的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

视频融合平台LntonCVS视频监控汇聚平台:构建多元接入与智能管理的安防新生态

一、视频融合平台概述 视频融合平台支持多种协议和设备类型的接入,包括GB28181、Onvif、RTSP、RTMP、海康SDK、Ehome、大华SDK、宇视SDK等。它能够统一整合和管理来自不同品牌、不同协议的视频资源,构建视频数据资源池,并通过视频资源目录为…

Mac安装多个jdk环境(jdk8+jdk17)保姆级

Mac安装多个jdk环境(jdk8jdk17)保姆级 背景:新机安装开发环境发现需要找很多文章,,,,这里一篇文章安装所有环境 文章目录 Mac安装多个jdk环境(jdk8jdk17)保姆级&#x1f…

从社交网络到元宇宙:Facebook的战略转型

随着科技的迅猛发展和数字化时代的深入,社交网络已不再局限于简单的信息交流和社交互动,而是逐步向更广阔、更深远的虚拟现实空间——元宇宙(Metaverse)转变。作为全球最大的社交网络平台之一,Facebook正在积极推动这一…

甘肃旅游服务平台的设计

甘肃旅游服务平台的设计 管理员账户功能包括:系统首页,个人中心,管理员管理,公告信息管理,景点管理,酒店管理,基础数据管理,美食管理 前台账户功能包括:系统首页&#xf…

没等来百度惊艳的All in AI,却等来了国产之光的盘古大模型 5.0

6月21日,华为开发者大会(HDC 2024)在广东东莞正式开幕。盘古大模型5.0的更新,也是此次HDC2024的另一项重头戏。在过去的一年中,盘古大模型正在疯狂向各行各业渗透。 此次,华为方面展示了他们在具身智能、医…

squareline studio浅尝(1)在对话框添加键盘

因项目需要,需要修改IP地址等参数,需要编辑文本对话框内容,这时候就需要调用键盘,操作如下。主要为了做笔记。如有误导请及时留言。 1)拖一个键盘到对话框页面。默认把它隐藏(flag:hidden) 2&…