国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM)

這篇具有很好參考價值的文章主要介紹了FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

系列文章目錄:FPGA原理與結(jié)構(gòu)(0)——目錄與傳送門

一、BRAM簡介

? ? ? ? 大家對于RAM應該并不陌生,RAM就是一張可讀可寫的存儲表,它經(jīng)常被拿來與ROM進行對比,相比之下,ROM只可讀。而在FPGA中,RAM一般可以分成兩種,一種是使用LUT資源組成的分布式RAM(DRAM),另一種就是塊RAM(BRAM),這里我們討論的是BRAM,關于DRAM的內(nèi)容,可以閱讀:FPGA原理與結(jié)構(gòu)——分布式RAM(Distributed RAM,DRAM)。

? ? ? ? BRAM就是嵌入在FPGA中的整塊的RAM資源,是FPGA中重要的存儲資源。在早期的FPGA架構(gòu)中,基本上只使用基于查找表和觸發(fā)器的邏輯塊實現(xiàn)用戶電路,可用作存儲要素的就只有邏輯塊中的觸發(fā)器。因此很難在芯片上保存大量數(shù)據(jù),而有這樣需求的應用需要在FPGA上連接外部存儲器。但是在很多情況下,F(xiàn)PGA和外部存儲器的帶寬會成為系統(tǒng)的瓶頸,從而限制整體性能。因此商用的FPGA架構(gòu)在發(fā)展中開始集成高效的片上存儲器。這就是我們BRAM的由來。

二、BRAM的特性和分布

? ? ? ? 在xilinx 7系類的FPGA里,一個BRAM的大小是36Kb,它也可以被拆分成2個獨立的18Kb BRAM來使用,這就是xilinx 7系類里RAM的最小實現(xiàn)形式了。也就是說使用的BRAM在使用的時候必須是整塊進行使用的,一塊BRAM最小就是18Kb。舉個例子,我們需要存儲40Kb的資源,就需要使用:一塊36Kb的RAM+一塊18Kb的RAM,這樣就造成了14Kb的資源浪費。

? ? ? ? 兩個相鄰的RAM還可以組合來構(gòu)成更大的RAM。

? ? ? ? 每塊36Kb的RAM根據(jù)深度和位寬的不同,可以配置成如下形式(深度×位寬):32K x 1, 16K x 2, 8K x 4, 4K x 9, 2K x 18, 1K x 36, or 512 x 72(簡單雙端口模式下,后面會詳細說)。

? ? ? ? 每塊18Kb的RAM根據(jù)深度和位寬的不同,可以配置成如下形式(深度×位寬):16K x 1, 8K x2 , 4K x 4, 2K x 9, 1K x 18 or 512 x 36(簡單雙端口模式下,后面會詳細說)。

? ? ? ? 根據(jù)FPGA型號的不同,每塊FPGA中蘊含的BRAM資源數(shù)量也是不一樣的,用戶可以根據(jù)自己的需求和成本選擇最適合自己的型號,我們以下圖為例,這只是xilinx的一部分型號對應的BRAM資源,可以看到不同的device對應的BRAM數(shù)量和分布情況有所不同。

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

? ? ? ? ?在如今xilinx的FPGA中普遍使用的是ASMBL架構(gòu),所以BRAM在FPGA也是按列分布的。

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

三、BRAM的使用?

? ? ? ? BRAM的作用是非常巨大的,也是具有一定復雜性的,BRAM可以被配置成RAM,ROM或者FIFO,我們一個一個來討論。

1、RAM

? ? ? ? 首先就是最直觀的RAM的情況,但是就算是用作RAM,也有著許多不同的工作模式:

(1)Single Port :單口 RAM

? ? ? ? 讀寫共用一個地址總線,在同一個端口,但是不能同時進行

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

?(2)Simple dual port:簡單雙口 RAM

?????????一個寫通道,一個讀通道,通過A端口寫入數(shù)據(jù)的同時可以通過B端口讀出數(shù)據(jù)

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

?(3)True Dual Port:真雙口 RAM

?????????兩個通道都支持讀寫,互相獨立。A端口和B端口可同時讀寫數(shù)據(jù)

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

?2、ROM

? ? ? ? ?ROM其實也非常好理解,甚至是BRAM應用中最簡單的部分,因為ROM可以理解成只具備讀功能,不具備寫功能的RAM。

(1)Single Port :單口 ROM

? ? ? ? 不能寫入,只有一個端口用于數(shù)據(jù)讀

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

(2)Dual port:雙端口 ROM

? ? ? ? 不可寫,但是有2個端口用于讀,兩個端口讀取數(shù)據(jù)的位寬可以不同,但是必須是整數(shù)倍關系

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

3、FIFO

????????FIFO是英文First In First Out 的縮寫,是一種先進先出的數(shù)據(jù)緩存器,與普通存儲器的區(qū)別是沒有外部讀寫地址線,使用簡單,缺點就是只能順序讀、寫入數(shù)據(jù),其數(shù)據(jù)地址由內(nèi)部讀寫指針自動加1完成,不能像普通存儲器那樣可以由地址線決定讀取或?qū)懭肽硞€指定的地址。

????????FIFO的作用:

????????????????(1)不同時鐘域之間的數(shù)據(jù)傳輸;

????????????????(2)對不同寬度的數(shù)據(jù)位寬轉(zhuǎn)換;

????????????????(3)數(shù)據(jù)緩存

????????根據(jù)FIFO工作的時鐘域,可以將FIFO分為:

????????(1)同步FIFO:讀時鐘和寫時鐘為同一個時鐘,在時鐘沿來臨時同時發(fā)生讀寫操作。

?????????????? 作用:位寬轉(zhuǎn)換或數(shù)據(jù)緩存。

????????(2)異步FIFO:讀寫時鐘不一致,讀寫操作是互相獨立的。

?????????????? 作用:多比特數(shù)據(jù)跨時鐘域。

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

?四、7系類BRAM的一些額外特性

1、可選輸出寄存器

????????BRAM的輸出還內(nèi)嵌了個寄存器,我們打拍輸出的時候可以使用它,這樣就能省下SLICE上的寄存器資源,而且就算我們使用SLICE的FF資源,會引入一個較大的時延,這樣做還能降低時延問題。

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)

2、BRAM的級聯(lián)?

? ? ? ? 在xilinx的FPGA里,2塊相鄰的BRAM可以在不消耗CLB資源的情況下就級聯(lián)形成更大的RAM。任意兩個相鄰的BRAM都可以進行級聯(lián)

FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM),FPGA原理與結(jié)構(gòu),fpga開發(fā)文章來源地址http://www.zghlxwxcb.cn/news/detail-714120.html

到了這里,關于FPGA原理與結(jié)構(gòu)(8)——塊RAM(Block RAM,BRAM)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • FPGA原理與結(jié)構(gòu)(6)——分布式RAM(Distributed RAM,DRAM)

    FPGA原理與結(jié)構(gòu)(6)——分布式RAM(Distributed RAM,DRAM)

    系列文章目錄:FPGA原理與結(jié)構(gòu)(0)——目錄與傳送門 目錄 一、RAM概述 1、RAM基本概念 2、FPGA中RAM的分類 二、DRAM詳解 1、FPGA資源? ? ? ?? 2、DRAM的配置形式 2.1?Single-Port(單端口) 2.2?Dual-Port(雙端口) 2.3?Quad-Port(四端口) 2.4?Simple Dual-Port(簡單雙端口) 2.5 更大深度 ?

    2024年02月08日
    瀏覽(36)
  • FPGA原理與結(jié)構(gòu)——RAM IP核的使用與測試

    FPGA原理與結(jié)構(gòu)——RAM IP核的使用與測試

    系列文章目錄:FPGA原理與結(jié)構(gòu)(0)——目錄與傳送門 目錄 一、前言 二、RAM IP核定制 1、RAM IP核 step1 打開vivado工程,點擊左側(cè)欄中的IP Catalog step2 在搜索欄搜索RAM,找到Block Memory?Generator IP核: 2、IP核定制 step3 Baisc界面定制 step4 端口定制 step5 Other Options step6 Summary 3、IP核例化

    2024年02月11日
    瀏覽(21)
  • FPGA原理與結(jié)構(gòu)——可配置邏輯塊CLB(Configurable Logic Block)

    FPGA原理與結(jié)構(gòu)——可配置邏輯塊CLB(Configurable Logic Block)

    系列文章目錄:FPGA原理與結(jié)構(gòu)(0)——目錄與傳送門 ????????可配置邏輯塊CLB(Configurable Logic Block)是xilinx系類FPGA的基本邏輯單元(在各系列中CLB可能有所不同,以下我們主要討論Xilinx 7系類),是實現(xiàn)時序邏輯電路和組合邏輯電路的主要邏輯資源。 ? ? ? ? 一般來說

    2024年02月12日
    瀏覽(18)
  • FPGA原理與結(jié)構(gòu)(1)——可配置邏輯塊CLB(Configurable Logic Block)

    FPGA原理與結(jié)構(gòu)(1)——可配置邏輯塊CLB(Configurable Logic Block)

    系列文章目錄:FPGA原理與結(jié)構(gòu)(0)——目錄與傳送門 ????????可配置邏輯塊CLB(Configurable Logic Block)是xilinx系類FPGA的基本邏輯單元(在各系列中CLB可能有所不同,以下我們主要討論Xilinx 7系類),是實現(xiàn)時序邏輯電路和組合邏輯電路的主要邏輯資源。 ? ? ? ? 一般來說

    2024年02月08日
    瀏覽(18)
  • FPGA中RAM的結(jié)構(gòu)理解

    FPGA中RAM的結(jié)構(gòu)理解

    看代碼的過程中對RAM的結(jié)構(gòu)不是很理解,搞腦子一片漿糊,反復推算,好不容易理清了思路,記錄下來,防止忘記。開辟的RAM總?cè)萘繛?28bytes,數(shù)據(jù)的位寬為32位(即一個單元有32bit數(shù)據(jù)) RAM結(jié)構(gòu)示意圖:

    2024年02月16日
    瀏覽(19)
  • 從底層結(jié)構(gòu)開始學習FPGA(6)----分布式RAM(DRAM,Distributed RAM)

    文章目錄 系列目錄與傳送門 一、什么是RAM?什么是ROM? 二、塊RAM和分布式RAM 2.1、BRAM

    2024年02月02日
    瀏覽(25)
  • FPGA原理介紹 (CLB, LUT, 進位鏈, 存儲元素, RAM)

    FPGA原理介紹 (CLB, LUT, 進位鏈, 存儲元素, RAM)

    本文首先對 ASIC 和 FPGA 進行了一個對比,然后介紹了 FPGA 的基本結(jié)構(gòu),最后解釋了 FPGA 實現(xiàn)可編程的基本原理。 這里先給出 ASIC 和 FPGA 的優(yōu)缺點 ASIC FPGA 優(yōu)點 性能優(yōu)越 可靠性高 大批量下單位成本低 開發(fā)初期無投入資金壁壘 設計工具使用方便,設計簡單快速 產(chǎn)品原型機開發(fā)

    2024年02月20日
    瀏覽(28)
  • FPGA圖像處理之Shift-RAM Core 生成卷積模板(官方手冊原理分析)

    FPGA圖像處理之Shift-RAM Core 生成卷積模板(官方手冊原理分析)

    一、引言 ????????當我們進行圖像處理算法時,進行均值濾波、中值濾波等相關的計算操作時, 其中的核心部分應該就是矩陣運算了, 需要生成圖像像素矩陣,在 C 語言中,我們可以直接用數(shù)組表示,但是在使用 FPGA 進行圖像處理時, verilog 卻無法實現(xiàn)這樣的操作。 那

    2023年04月10日
    瀏覽(22)
  • 從底層結(jié)構(gòu)開始學習FPGA(1)----可配置邏輯塊CLB(Configurable Logic Block)

    從底層結(jié)構(gòu)開始學習FPGA(1)----可配置邏輯塊CLB(Configurable Logic Block)

    文章目錄 ????????系列目錄與傳送門 ????????一、CLB概述 ????????二、SLICEM與SLICEL ????????三、查找表LUT ????????3.1、移位寄存器SRL ????????3.2、分布式DRAM? ????????四、多路選擇器MUX ????????五、存儲單元Storage Elements(FF) ????????六、進

    2024年02月02日
    瀏覽(26)
  • [FPGA IP系列] 2分鐘了解FPGA中的BRAM

    [FPGA IP系列] 2分鐘了解FPGA中的BRAM

    FPGA設計中,BRAM是一項非常關鍵的內(nèi)置存儲資源,F(xiàn)PGA開發(fā)需要熟練使用BRAM,今天再復習一下BRAM的知識,包括BRAM的定義、組成、應用等等。 RAM是Random Access Memory,也就是隨機訪問數(shù)據(jù)存儲器,RAM的內(nèi)部是一個一個小內(nèi)存單元(可以看成是一個小格子)組成。 每個內(nèi)存單元都對應

    2024年02月12日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包