0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Xilinx RAM地址冲突

FPGA开发之路 来源:FPGA开发之路 2023-01-15 16:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Address collision 指的是RAM的两个port同时访问相同的地址可能导致数据发生错误的情况。在Xilinx中,不同的RAM,不同的RAM配置会导致address collision时不同的数据结果。

Distributed RAM

对于DRAM,写数据是 synchronous write,需要一个时钟周期, 读数据是 asynchronous read,当前时钟周期就能读出数据。因此当在某一个cycle读写同时访问同一地址时,读数据是 old data,即该地址原存放的数据而不是新要写入的数据。

Block RAM

BRAM的读写都是 synchronous。BRAM的两个Port分别为 PortA 和 PortB。

我们可以将 BRAM address collision 分为以下三类。

PortA 和 PortB 同时读数据

两个Port都会正确读出该地址中的数据。

PortA 和 PortB 同时写入数据

该地址最终被写入的数据是 non-deterministic。因此设计中要避免两个port同时写数据的address collision。

PortA 写数据同时 PortB 读数据,或者是 PortA 读数据同时 PortB 写数据

在这种情况下,数据总是会被正确写入到RAM中,但是读出的数据内容则依赖于BRAM的配置。BRAM的write mode可以配置为三种模式,write first,read first 和 no change。

下图为不同配置下的数据读写结果。可以看到当 write port 配置为 READ_FIRST时,不管 read port 如何配置,都会读出 old data。而当 write port 配置为 WRITE_FIRST 或 NO_CHANGE时,不管 read port 如何配置,读数据都是 X,即 undeterministic。因此在可能发生address collision 的BRAM,一般将两个 port都配置为 READ_FIRST,以确保数据读出的正确。

be7c4db8-94a4-11ed-bfe3-dac502259ad0.png

Ultra RAM

URAM的读写也都是 synchronous。URAM比较有意思的一点是,PortA 总是先于 PortB 执行操作,因此在 address collision 我们会看到不同于BRAM的结果。

PortA写,PortB读。PortB 会读出new data。(因为PortA先执行,所以在PortB读执行时,new data已经写入RAM中了)

PortA读,PortB写。PortA 会读出old data。(同样的,这也是因为PortA先执行)

PortA写,PortB写。最终该地址写入的值是PortB的值。(PortB因为后执行会覆盖PortA写的值)

beafa7ee-94a4-11ed-bfe3-dac502259ad0.png

Reference

《UltraScale Architecture Configurable Logic Block》

《UltraScale Architecture Memory Resources》

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7315

    浏览量

    93992
  • RAM
    RAM
    +关注

    关注

    8

    文章

    1398

    浏览量

    119832
  • Xilinx
    +关注

    关注

    73

    文章

    2192

    浏览量

    129966

原文标题:Xilinx RAM Address Collision

文章出处:【微信号:FPGA开发之路,微信公众号:FPGA开发之路】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业NAT网关实现PLC、机床等设备IP地址冲突的解决方案

    在工业自动化项目中,工程师经常会遇到一个问题——IP地址冲突。比如一台编写好程序的自动化设备,其内部PLC的IP地址是固定的192.168.1.1,在接入工厂局域网络时却发现无法联网,经过检查后才
    的头像 发表于 11-06 16:58 503次阅读
    工业NAT网关实现PLC、机床等设备IP<b class='flag-5'>地址</b><b class='flag-5'>冲突</b>的解决方案

    ram ip核的使用

    1、简介 ram 的英文全称是 Random Access Memory,即随机存取存储器, 它可以随时把数据写入任一指定地址的存储单元,也可以随时从任一指定地址中读出数据, 其读写速度是由时钟频率
    发表于 10-23 07:33

    国外老旧设备出现IP冲突无法上网如何解决

    在智能制造机数字化转型的浪潮中,大量工厂仍存在一些运行年限较久的老旧设备。这类设备多是海外设备,常因出厂预设静态IP地址、硬件限制无法修改网络参数,导致在接入现代企业网络时频繁出现IP地址冲突,加上
    的头像 发表于 10-16 10:52 210次阅读
    国外老旧设备出现IP<b class='flag-5'>冲突</b>无法上网如何解决

    N9H30如何从SPI闪存将应用程序加载到RAM地址0x0?

    无法利用 uboot 从 SPI 闪存0x0将应用程序加载到 RAM 地址。SF 读取0x0 0x100000 0x700000这是 uboot 限制
    发表于 09-01 06:06

    IP地址冲突导致德国站群服务器断网的解决方法?

    在网络管理中,IP地址冲突是一个常见且令人头疼的问题。尤其是对于依赖站群服务器进行大规模网络操作的企业而言,IP冲突可能会导致整个服务器群组无法正常工作,从而造成严重的业务中断。本文将探讨如何解决因
    的头像 发表于 08-12 15:47 592次阅读

    编程软件连接PLC出现IP冲突时如何解决?

    一般来说,每个PLC都有自己的IP地址,用以和其他设备进行通信。而如果同一网络出现相同IP的设备,就会导致IP冲突、数据丢包或ping不通等问题。而如果IP地址没有冲突,不在一个网段内
    的头像 发表于 07-31 17:08 830次阅读
    编程软件连接PLC出现IP<b class='flag-5'>冲突</b>时如何解决?

    CNC的IP地址相同冲突如何解决?

    的IP地址,这就极易引发IP地址冲突问题。当这些设备接入车间网络时,IP冲突会导致数据采集不上来,物联网平台缺乏数据来源,严重影响数字化车间的建设。 通常,设备被设置相同IP
    的头像 发表于 07-23 14:13 445次阅读
    CNC的IP<b class='flag-5'>地址</b>相同<b class='flag-5'>冲突</b>如何解决?

    国外PLC出现IP相同冲突如何解决

    在某汽车零部件制造工厂的智能化改造项目中,需要将车间内多台西门子PLC设备接入工厂监控系统,实现设备数据的实时采集与远程监控。 然而,在设备联网调试过程中,发现出现了IP冲突问题。原因在于这批PLC
    的头像 发表于 05-15 17:05 653次阅读
    国外PLC出现IP相同<b class='flag-5'>冲突</b>如何解决

    Xilinx Shift RAM IP概述和主要功能

    Xilinx Shift RAM IP 是 AMD Xilinx 提供的一个 LogiCORE IP 核,用于在 FPGA 中实现高效的移位寄存器(Shift Register)。该 IP 核利用
    的头像 发表于 05-14 09:36 841次阅读

    工业数据采集如何避免IP冲突问题

    在现代工业自动化领域,数据采集是生产流程监控、设备状态监测及生产优化等环节的基础。然而,在构建工业数据采集系统时,IP地址冲突问题常常成为制约系统稳定性和可靠性的关键因素,尤其当多品牌设备共存、产线
    的头像 发表于 03-06 10:12 674次阅读

    工业交换机MAC地址表大小:为何它如此重要?

    由于网络的高速发展,数据的传输效率及网络的安全性是考量网络的关键指标。MAC地址表在提高数据包转发性能、减少网络冲突以及网络安全性方面发挥着至关重要的作用。
    的头像 发表于 02-21 14:14 1193次阅读
    工业交换机MAC<b class='flag-5'>地址</b>表大小:为何它如此重要?

    局域网地址检测器

    局域网地址检测器是一款非常实用的IP地址冲突快速检测工具。这款它功能强大、操作简单,能帮助用户快速检测在同一局域网内遇到IP冲突的问题,需要的用户可下载!  局域网
    发表于 02-17 17:00 2次下载

    ISP与IP地址

    ISP可以为用户提供互联网接入、信息内容、应用服务以及其他增值业务。 要知道,在ISP的网络中,IP地址池几乎可以说不可或缺。IP地址池是指一定范围内可供分配的IP地址的集合。通过分配IP地址
    的头像 发表于 12-27 10:41 928次阅读

    工厂局域网出现设备IP冲突如何解决

    某工厂的生产车间内,多台设备通过局域网进行连接和数据传输。在进行数据采集物联网工作时,发现部分设备无法正常连接通信,导致生产数据无法实时上传和监控。经过初步排查,发现这些设备存在IP地址冲突
    的头像 发表于 12-26 13:41 1186次阅读
    工厂局域网出现设备IP<b class='flag-5'>冲突</b>如何解决

    MAC地址的作用范围,MAC地址怎么申请?

    MAC地址(MediaAccessControlAddress),也称为局域网地址(LANAddress)、以太网地址(EthernetAddress)、硬件地址(HardwareAd
    的头像 发表于 12-19 17:44 2613次阅读
    MAC<b class='flag-5'>地址</b>的作用范围,MAC<b class='flag-5'>地址</b>怎么申请?