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

news2024/11/26 11:51:16

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.coloradmin.cn/o/1845577.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[深度学习]--分类问题的排查错误的流程

原因复现: 原生的.pt 好使, 转化后的 CoreML不好使, 分类有问题。 yolov8 格式的支持情况 Format Argument Suffix CPU GPU 0 PyTorch - .pt True True 1 Tor…

Unet已死,Transformer当立!详细解读基于DiT的开源视频生成大模型EasyAnimate

Diffusion Models视频生成-博客汇总 前言:最近阿里云PIA团队开源了基于Diffusion Transformer结构的视频生成模型EasyAnimate,并且提出了专门针对视频的slice VAE,对于目前基于Unet结构的视频生成最好如SVD形成了降维打击,不论是生…

快消品经销商的仓库管理,有哪些是必须注意的事项?

快消品经销商仓库管理是一个复杂而关键的过程,它涉及到产品的存储、保管、发货以及库存控制等多个环节。一个高效的仓库管理系统不仅有助于减少成本,提高运营效率,还能确保产品质量和满足客户需求。以下是一些快消品经销商在仓库管理过程中需…

JDBC之API(DriverManager)详解

之前在 JDBC 的快速入门写代码的时候,遇到了很多的API。这篇博客主要学习一些API。 目录 一、API(介绍) 二、JDBC之API——DriverManager (1)DriverManager (获取 Connection 的连接对象) 1、…

玩转热门游戏,选对系统是关键!游戏专用电脑系统在这里!

如果我们给电脑安装上游戏专用系统,那么就能体验到更加流畅、稳定的游戏运行环境,享受沉浸式的游戏体验。但是,许多新手用户不知道去哪里才能下载到玩游戏专用的电脑系统?接下来小编给大家分享玩游戏专用电脑系统,这些…

Windows应急响应靶机 - Web2

一、靶机介绍 应急响应靶机训练-Web2 前景需要:小李在某单位驻场值守,深夜12点,甲方已经回家了,小李刚偷偷摸鱼后,发现安全设备有告警,于是立刻停掉了机器开始排查。 这是他的服务器系统,请你…

【YOLOv5/v7改进系列】引入特征融合网络——ASFYOLO

一、导言 ASF-YOLO结合空间和尺度特征以实现精确且快速的细胞实例分割。在YOLO分割框架的基础上,通过引入尺度序列特征融合(SSFF)模块来增强网络的多尺度信息提取能力,并利用三重特征编码器(TFE)模块融合不同尺度的特征图以增加细节信息。此外&#xff…

尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】

视频地址:一套上手ClickHouse-OLAP分析引擎,囊括Prometheus与Grafana_哔哩哔哩_bilibili 01_尚硅谷大数据技术之ClickHouse入门V1.0 尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】尚硅谷大数据技术ClickHouse教程-笔记02【表引…

前端基础操作1——利用nvm任意切换(管理)node版本

在实际前端项目开发过程中,同时开发多个项目或者切换新项目时,因为node版本问题造成项目无法运行的问题比比皆是,这时候通过nvm管理切换不同版本的node,就能很快进入开发模式,避免因为环境问题浪费大量精力&#xff0c…

太爱这种数据可视化效果,零售行业的都看过来

在当今数字化浪潮下,数据可视化已成为零售行业洞察市场趋势、优化运营决策的关键技术。奥威BI零售数据分析方案凭借其卓越的数据可视化效果,成为零售企业的得力助手。接下来就通过BI节假日分析报表来简单地感受一下。 注:该BI节假日分析报表…

ArcGIS消除碎图斑

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 这次是上次 我们经常在相交、标识、更新等操作后或者是栅格转矢量可能存在很多的细碎图斑&#…

反激开关电源输出整流二极管选型及计算

1、电压 输出整流二极管电压应力:VoutVin/n尖峰电压余量5373/14.22010(选60V左右的二极管) 通常为了降低电压尖峰,需要在二极管上加RC吸收,来降低尖峰 2、电流 整流二极管的电流也是需要根据变压器输出绕组的峰值电流来…

深度学习500问——Chapter12:网络搭建及训练(3)

文章目录 12.3.5 Caffe有哪些接口 12.4 网络搭建有什么原则 12.4.1 新手原则 12.4.2 深度优先原则 12.4.3 卷积核size一般为奇数 12.4.4 卷积核不是越大越好 12.5 有哪些经典的网络模型值得我们去学习的 12.6 网络训练有哪些技巧 12.6.1 合适的数据集 12.6.2 合适的预…

console.log日志展示

console.log日志展示 1.特定颜色打印 console.log("%caaa","color:#1e80ff") 解释:重点就是%c和color。

IDEA2023中使用run Dashboard面板?实现批量运行微服务

1、直接点击Add service--->Run Configuration Type---->Spring Boot 2、这样就出现了run Dashboard面板,可同时运行多个工程模块,shift选中所有启动类组命名(Group Configurations) 3、启动所有的项目

linux分区

挂载只改变数据存储的分区位置,不改变文件系统的目录结构,无论怎么挂载linux系统的分区仍然是/根分区和其子目录/opt、/etc、/home等等 临时挂载 添加新磁盘模拟新设备接入,无论使用什么虚拟机都可以 重启电脑reboot,执行lsblk&a…

RestTemple请求GET接口403

问题描述 使用oss接口获取资源的时候,通过浏览器可以直接下载,在代码中使用RestTemplate的get方式访问的时候,出现403错误 问题排查 因为返回状态码是403,就想着是不是授权问题,因为有的接口是有防抓取规则的&…

《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 02 Clos拓扑

本章回答以下问题: 什么是 Clos 拓扑,它与“接入 - 汇聚 - 核心”拓扑有何不同?Clos 拓扑的特征是什么?Clos 拓扑对数据中心网络的影响是什么? Clos拓扑 云原生数据中心基础设施的先行者们想要构建一种支持大规模水平扩展网络。 基本的Clos拓扑如图…

C++ #pragma pack(n)

一、#pragma简介 #pragma是预处理指令的一种,它的作用是设定编译器的状态、指定编译器完成特定任务。 (预处理阶段:在编译阶段之前进行) #pragma相当于是由各个厂商开发扩展的,因此可能因编译器或操作系统不同而有所差…

【论文阅读】-- TSR-TVD:时变数据分析和可视化的时间超分辨率

TSR-TVD: Temporal Super-Resolution for Time-Varying Data Analysis and Visualization 摘要1 引言2 相关工作3 我们的循环生成方法3.1 损失函数3.2 网络架构 4 结果与讨论4.1 数据集和网络训练4.2 结果4.3 讨论 5 结论和未来工作致谢参考文献附录1 训练算法及优化2 网络分析…