0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx RAM地址沖突

FPGA開發(fā)之路 ? 來(lái)源:FPGA開發(fā)之路 ? 2023-01-15 16:15 ? 次閱讀

Address collision 指的是RAM的兩個(gè)port同時(shí)訪問(wèn)相同的地址可能導(dǎo)致數(shù)據(jù)發(fā)生錯(cuò)誤的情況。在Xilinx中,不同的RAM,不同的RAM配置會(huì)導(dǎo)致address collision時(shí)不同的數(shù)據(jù)結(jié)果。

Distributed RAM

對(duì)于DRAM,寫數(shù)據(jù)是 synchronous write,需要一個(gè)時(shí)鐘周期, 讀數(shù)據(jù)是 asynchronous read,當(dāng)前時(shí)鐘周期就能讀出數(shù)據(jù)。因此當(dāng)在某一個(gè)cycle讀寫同時(shí)訪問(wèn)同一地址時(shí),讀數(shù)據(jù)是 old data,即該地址原存放的數(shù)據(jù)而不是新要寫入的數(shù)據(jù)。

Block RAM

BRAM的讀寫都是 synchronous。BRAM的兩個(gè)Port分別為 PortA 和 PortB。

我們可以將 BRAM address collision 分為以下三類。

PortA 和 PortB 同時(shí)讀數(shù)據(jù)

兩個(gè)Port都會(huì)正確讀出該地址中的數(shù)據(jù)。

PortA 和 PortB 同時(shí)寫入數(shù)據(jù)

該地址最終被寫入的數(shù)據(jù)是 non-deterministic。因此設(shè)計(jì)中要避免兩個(gè)port同時(shí)寫數(shù)據(jù)的address collision。

PortA 寫數(shù)據(jù)同時(shí) PortB 讀數(shù)據(jù),或者是 PortA 讀數(shù)據(jù)同時(shí) PortB 寫數(shù)據(jù)

在這種情況下,數(shù)據(jù)總是會(huì)被正確寫入到RAM中,但是讀出的數(shù)據(jù)內(nèi)容則依賴于BRAM的配置。BRAM的write mode可以配置為三種模式,write first,read first 和 no change。

下圖為不同配置下的數(shù)據(jù)讀寫結(jié)果。可以看到當(dāng) write port 配置為 READ_FIRST時(shí),不管 read port 如何配置,都會(huì)讀出 old data。而當(dāng) write port 配置為 WRITE_FIRST 或 NO_CHANGE時(shí),不管 read port 如何配置,讀數(shù)據(jù)都是 X,即 undeterministic。因此在可能發(fā)生address collision 的BRAM,一般將兩個(gè) port都配置為 READ_FIRST,以確保數(shù)據(jù)讀出的正確。

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

Ultra RAM

URAM的讀寫也都是 synchronous。URAM比較有意思的一點(diǎn)是,PortA 總是先于 PortB 執(zhí)行操作,因此在 address collision 我們會(huì)看到不同于BRAM的結(jié)果。

PortA寫,PortB讀。PortB 會(huì)讀出new data。(因?yàn)镻ortA先執(zhí)行,所以在PortB讀執(zhí)行時(shí),new data已經(jīng)寫入RAM中了)

PortA讀,PortB寫。PortA 會(huì)讀出old data。(同樣的,這也是因?yàn)镻ortA先執(zhí)行)

PortA寫,PortB寫。最終該地址寫入的值是PortB的值。(PortB因?yàn)楹髨?zhí)行會(huì)覆蓋PortA寫的值)

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

Reference

《UltraScale Architecture Configurable Logic Block》

《UltraScale Architecture Memory Resources》

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7077

    瀏覽量

    89161
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1369

    瀏覽量

    114762
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2167

    瀏覽量

    121653

原文標(biāo)題:Xilinx RAM Address Collision

文章出處:【微信號(hào):FPGA開發(fā)之路,微信公眾號(hào):FPGA開發(fā)之路】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么原因會(huì)導(dǎo)致IP地址沖突

    IP地址沖突是運(yùn)維常見的問(wèn)題,很多人并不知道是什么原因會(huì)產(chǎn)生IP地址沖突故障,也不知道怎么樣去解決這種問(wèn)題。 要想去解決這類問(wèn)題,需要了解IP地址
    的頭像 發(fā)表于 12-01 23:00 ?176次閱讀

    一般ram芯片上的引腳有哪些

    引腳 : VCC:工作電源正電壓輸入,通常為+5V或+3.3V,具體取決于芯片類型和規(guī)格。 GND:地引腳,提供電源負(fù)極,確保電流回路。 地址引腳(A0~An) : 這些引腳用于輸入地址信號(hào),指定RAM中將要訪問(wèn)的存儲(chǔ)單元的位置
    的頭像 發(fā)表于 09-18 11:07 ?1613次閱讀

    工業(yè)設(shè)備IP地址沖突如何通過(guò)NAT網(wǎng)關(guān)解決

    已經(jīng)陷入枯竭,IP地址重復(fù)便有可能導(dǎo)致數(shù)據(jù)送錯(cuò),通信網(wǎng)絡(luò)便會(huì)出現(xiàn)故障,無(wú)論是廣域網(wǎng)還是局域網(wǎng)都有可能面對(duì)到IP沖突的問(wèn)題。 對(duì)此,物通博聯(lián)提供基于NAT網(wǎng)關(guān)的解決方案。網(wǎng)關(guān)可以通過(guò)WAN和LAN多個(gè)接口形成不同防火墻區(qū)域,從而對(duì)設(shè)備進(jìn)行網(wǎng)段隔離;通過(guò)NAT和IP映射實(shí)
    的頭像 發(fā)表于 08-07 15:21 ?342次閱讀
    工業(yè)設(shè)備IP<b class='flag-5'>地址</b><b class='flag-5'>沖突</b>如何通過(guò)NAT網(wǎng)關(guān)解決

    IP地址沖突解決方法圖示

    你是否在日常使用網(wǎng)絡(luò)時(shí),有這樣的經(jīng)歷:突然就失去網(wǎng)絡(luò)連接,時(shí)斷時(shí)續(xù),加載緩慢,文件傳輸突然中斷?網(wǎng)絡(luò)連接并沒有完全斷開,但網(wǎng)速變得異常緩慢看電視劇卡頓、下載文件簡(jiǎn)直龜速?那么你可能是IP地址沖突
    的頭像 發(fā)表于 07-26 11:51 ?457次閱讀

    兩個(gè)路由器ip地址沖突怎么解決

    當(dāng)兩個(gè)路由器的IP地址發(fā)生沖突時(shí),會(huì)導(dǎo)致網(wǎng)絡(luò)連接不穩(wěn)定或無(wú)法連接。以下是解決兩個(gè)路由器IP地址沖突的步驟: 確定沖突的IP
    的頭像 發(fā)表于 07-09 11:35 ?6014次閱讀

    NAT網(wǎng)關(guān)實(shí)現(xiàn)工業(yè)設(shè)備網(wǎng)段隔離,解決IP沖突問(wèn)題

    在制造業(yè)工廠中,存在大量已經(jīng)提前布設(shè)好的通信網(wǎng)絡(luò),通過(guò)實(shí)現(xiàn)設(shè)備聯(lián)網(wǎng)數(shù)據(jù)采集,可以實(shí)現(xiàn)設(shè)備的遠(yuǎn)程監(jiān)控與遠(yuǎn)程控制,從而為高效率生產(chǎn)帶來(lái)各種智能應(yīng)用。但在新設(shè)備聯(lián)網(wǎng)時(shí),往往會(huì)遇見IP地址沖突
    的頭像 發(fā)表于 06-20 14:11 ?585次閱讀
    NAT網(wǎng)關(guān)實(shí)現(xiàn)工業(yè)設(shè)備網(wǎng)段隔離,解決IP<b class='flag-5'>沖突</b>問(wèn)題

    如何解決工廠中相同IP設(shè)備沖突故障問(wèn)題

    隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,相應(yīng)的IP地址資源也越來(lái)越捉襟見肘,IP地址沖突現(xiàn)象與日俱增。特別是在工業(yè)場(chǎng)景中,很多相同設(shè)備會(huì)放在相似的網(wǎng)絡(luò)環(huán)境進(jìn)行測(cè)試后才出貨,當(dāng)設(shè)備部署到工廠現(xiàn)場(chǎng)中就十分容易出現(xiàn)IP
    的頭像 發(fā)表于 06-13 17:30 ?510次閱讀
    如何解決工廠中相同IP設(shè)備<b class='flag-5'>沖突</b>故障問(wèn)題

    stm8l中斷控制串口收發(fā),提示串口地址和變量地址沖突了怎么解決?

    剛剛接觸單片機(jī),剛剛接觸stm8l,想實(shí)現(xiàn)串口有數(shù)據(jù)時(shí)通過(guò)CC1101將數(shù)據(jù)發(fā)送,當(dāng)串口沒有數(shù)據(jù)時(shí)則進(jìn)入接收狀態(tài)。但是編譯時(shí)出現(xiàn),中斷地址和代碼中的變量地址沖突的錯(cuò)誤無(wú)法解決。希望大神予以指點(diǎn)。
    發(fā)表于 04-19 06:30

    產(chǎn)線設(shè)備聯(lián)網(wǎng)過(guò)程中的IP沖突(NAT轉(zhuǎn)換)問(wèn)題如何解決

    都是唯一而獨(dú)立的,以便在網(wǎng)絡(luò)上進(jìn)行通信。然而,當(dāng)兩臺(tái)或更多的設(shè)備被分配了相同的IP地址時(shí),就會(huì)出現(xiàn)IP地址沖突的問(wèn)題。這種情況可能會(huì)導(dǎo)致網(wǎng)絡(luò)連接問(wèn)題,甚至可能導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓。 在工廠產(chǎn)線設(shè)備聯(lián)網(wǎng)中,往往會(huì)遇見IP
    的頭像 發(fā)表于 04-09 17:28 ?590次閱讀
    產(chǎn)線設(shè)備聯(lián)網(wǎng)過(guò)程中的IP<b class='flag-5'>沖突</b>(NAT轉(zhuǎn)換)問(wèn)題如何解決

    你以為的RAM不是你以為的RAM~

    一、DTCM和AXI連接的RAMSTM32H7系列處理器內(nèi)部有多個(gè)RAM空間,每個(gè)RAM空間的大小和響應(yīng)速度都不一樣。這里面我們重點(diǎn)關(guān)注DTCM總線矩陣連接的128KBRAM和AXI總線矩陣連接
    的頭像 發(fā)表于 04-05 08:09 ?1361次閱讀
    你以為的<b class='flag-5'>RAM</b>不是你以為的<b class='flag-5'>RAM</b>~

    在遠(yuǎn)程訪問(wèn)設(shè)備如果PLC的IP地址沖突如何解決

    要求從PLC中采集數(shù)據(jù)以達(dá)到遠(yuǎn)程監(jiān)控的目的,從而實(shí)現(xiàn)設(shè)備、人員、物料、能源等多種生產(chǎn)要素的互聯(lián)共通,從而及時(shí)覺察設(shè)備故障與產(chǎn)能缺陷,合理利用數(shù)據(jù)分析手段進(jìn)行決策。但如果現(xiàn)場(chǎng)IP的IP地址沖突,那么數(shù)據(jù)采集通信便無(wú)法實(shí)現(xiàn),后續(xù)
    的頭像 發(fā)表于 02-20 17:26 ?766次閱讀
    在遠(yuǎn)程訪問(wèn)設(shè)備如果PLC的IP<b class='flag-5'>地址</b><b class='flag-5'>沖突</b>如何解決

    局域網(wǎng)IP地址沖突、環(huán)路的罪魁禍?zhǔn)资鞘裁矗?/a>

    局域網(wǎng)IP地址沖突、環(huán)路的罪魁禍?zhǔn)资鞘裁矗?局域網(wǎng)IP地址沖突和環(huán)路是網(wǎng)絡(luò)中常見的問(wèn)題,它們會(huì)導(dǎo)致網(wǎng)絡(luò)故障和通信中斷,影響企業(yè)和個(gè)人的網(wǎng)絡(luò)使用體驗(yàn)。本文將詳細(xì)說(shuō)明局域網(wǎng)IP
    的頭像 發(fā)表于 02-04 11:03 ?4774次閱讀

    什么是透明網(wǎng)橋?多臺(tái)網(wǎng)橋的IP地址沖突是否會(huì)影響視頻監(jiān)控傳輸?

    什么是透明網(wǎng)橋?多臺(tái)網(wǎng)橋的IP地址沖突是否會(huì)影響視頻監(jiān)控傳輸? 透明網(wǎng)橋是一種網(wǎng)絡(luò)設(shè)備,用于連接兩個(gè)以太網(wǎng)LAN,通過(guò)MAC地址過(guò)濾和轉(zhuǎn)發(fā)數(shù)據(jù)幀。它能夠?qū)W習(xí)和存儲(chǔ)網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的MAC地址
    的頭像 發(fā)表于 02-03 16:41 ?1891次閱讀

    求助,如何指定變量的RAM和ROM地址

    我使用 \" pragma 部分 far \" data 來(lái)指定 ram 地址,但我怎樣才能指定它加載的 ROM 地址
    發(fā)表于 01-25 06:44

    softune如何把一個(gè)變量定義在指定RAM地址?

    你好,請(qǐng)問(wèn)如何把一個(gè)變量定義在指定RAM地址? 例如把 i 變量定義在 RAM地址 0x0200,謝謝!
    發(fā)表于 01-18 10:48