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

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

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

FPGA實(shí)現(xiàn)基于Vivado的BRAM IP核的使用

電子設(shè)計(jì) ? 來(lái)源:CSDN博主 ? 作者:XXQ121 ? 2020-12-29 15:59 ? 次閱讀

Xilinx公司FPGA中有著很多的有用且對(duì)整個(gè)工程很有益處的IP核,比如數(shù)學(xué)類的IP核,數(shù)字信號(hào)處理使用的IP核,以及存儲(chǔ)類的IP核,本篇文章主要介紹BRAM IP核的使用。

BRAM是FPGA定制的RAM資源,有著較大的存儲(chǔ)空間,且在日常的工程中使用較為頻繁。BRAM以陣列的方式排布于FPGA的內(nèi)部,是FPGA實(shí)現(xiàn)各種存儲(chǔ)功能的主要部分,是真正的雙讀/寫(xiě)端口的同步的RAM。

本片文章是基于Vivado的 2017.1的版本,其他版本都大同小異。

首先在Vivado界面的右側(cè)選擇IP Catalog 選項(xiàng)。

然后就可以在IP 目錄中,選擇想要的IP核,此處在搜索框輸入BRAM,選擇我們要使用的BRAM IP核。

o4YBAF9uJquAbH4EAABxhnEhJiU920.png

即最下方的Block Memory Generator,顧名思義,塊狀RAM。

我們常用的是單口BRAM,單口寫(xiě),單口讀。可配置Memory Type 為Simple Dual Port RAM。如下圖所示:

pIYBAF9uJqyAE19KAACwuQaXH2A606.png

其中Component Name 可以自定義自己所需要的模塊名稱。類型定義完成后,可以看到左側(cè)顯示的模塊端口,端口的使用后面再細(xì)說(shuō)。

設(shè)置完成后,開(kāi)始設(shè)置端口的位寬以及深度,選擇Port A Options選項(xiàng),可以看到下面的界面。

pIYBAF9uJq6AC4zFAACI-tZzmR0122.png

Port A Width即位寬,也就是你存儲(chǔ)數(shù)據(jù)的有多少位,Port A Depth即深度,也就是你要存多少個(gè)數(shù)據(jù)。端口A設(shè)置好后,還需要點(diǎn)擊Port B Options,點(diǎn)擊完進(jìn)入Port B Options選項(xiàng)后,系統(tǒng)會(huì)幫你自動(dòng)設(shè)置好端口B的寬度和深度,因?yàn)锽肯定是和A一樣的。

o4YBAF9uJq-AfEooAABNWARNqns092.png

可以看到端口B也設(shè)置完成,同時(shí)在Port B Optional Output Registers有一個(gè)Primitives OutputRegisters選項(xiàng)。如果這個(gè)選項(xiàng)不勾上,那么正常的情況下,當(dāng)?shù)谝粋€(gè)時(shí)鐘時(shí)候,送來(lái)地址,那么數(shù)據(jù)會(huì)在第二個(gè)時(shí)鐘取好送出RAM。但是當(dāng)勾上這個(gè)選項(xiàng)后,那么數(shù)據(jù)就會(huì)延遲兩個(gè)時(shí)鐘,在第三個(gè)時(shí)鐘送出。這是取數(shù)據(jù)情況下的時(shí)序。當(dāng)存數(shù)據(jù)時(shí)候,那么只需要地址和數(shù)據(jù)在同一個(gè)時(shí)鐘下即可。

當(dāng)我們?cè)谝话闶褂肦AM時(shí)候,如果需要事先存到RAM里的數(shù)據(jù)量不大,我們可以在Testbench里面寫(xiě)一下即可。但是如果數(shù)據(jù)量較大時(shí),那么我們可以使用.coe文件事先將數(shù)據(jù)導(dǎo)入到RAM 之中,如下圖所示。

o4YBAF9uJrCAG-mOAABFG_zddM4064.png

在Other Options選項(xiàng)中,有一個(gè)Load Init File選項(xiàng),即加載初始化文件,在這里勾上后,即可加載已存儲(chǔ)好數(shù)據(jù)的.coe文件。關(guān)于.coe文件的制作,網(wǎng)上有很多教程,在此不再贅述。然后點(diǎn)擊下方OK,然后再點(diǎn)擊彈出來(lái)的窗口的Generate即可生成BRAM 的IP核。

至此,常用情況下的BRAM的配置選項(xiàng)以及設(shè)置介紹完成。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600454
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2140

    瀏覽量

    120682
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    vivadoip的工程封裝

    請(qǐng)教一下,vivado怎么把帶ip的工程進(jìn)行封裝,保證代碼不可見(jiàn),可以通過(guò)端口調(diào)用。我嘗試了以下方法,ippackage,如果要在另一個(gè)程序里調(diào)用,也要提供源代碼;另一個(gè)方法是將網(wǎng)表文件edf文件與端口聲明結(jié)合,這種方法只能
    發(fā)表于 07-14 09:18

    怎么在Vivado HLS中生成IP?

    是對(duì)的,請(qǐng)糾正我,但我認(rèn)為這一步只需按一個(gè)按鈕)3 - 將IP內(nèi)核導(dǎo)入Vivado并: a-生成塊設(shè)計(jì)(這是我最不舒服的步驟,我會(huì)很高興獲得一些好的建議,因?yàn)樗惴ê軓?fù)雜且IP不是基本
    發(fā)表于 03-24 08:37

    BRAM IP包括哪幾種類型?怎么使用?

    BRAM IP包括哪幾種類型?Vivado中xilinx_BRAM IP
    發(fā)表于 03-08 07:11

    Vivado生成IP

    vivado生成ip后缺少一大片文件,之前是可以用的,中途卸載過(guò)Modelsim,用vivado打開(kāi)過(guò)ISE工程,因?yàn)楣こ讨泻芏?b class='flag-5'>IP
    發(fā)表于 04-24 23:42

    基于Xilinx_FPGA_IP的FFT算法的設(shè)計(jì)與實(shí)現(xiàn)

    利用FPGAIP設(shè)計(jì)和實(shí)現(xiàn)FFT算法
    發(fā)表于 05-24 14:14 ?37次下載

    Xilinx Vivado的使用詳細(xì)介紹(3):使用IP

    IPIP Core) Vivado中有很多IP核可以直接使用,例如數(shù)學(xué)運(yùn)算(乘法器、除法器、浮點(diǎn)運(yùn)算器等)、信號(hào)處理(FFT、DFT、D
    發(fā)表于 02-08 13:08 ?2064次閱讀
    Xilinx <b class='flag-5'>Vivado</b>的使用詳細(xì)介紹(3):使用<b class='flag-5'>IP</b><b class='flag-5'>核</b>

    了解VivadoIP的原理與應(yīng)用

    IPIP Core) Vivado中有很多IP核可以直接使用,例如數(shù)學(xué)運(yùn)算(乘法器、除法器、浮點(diǎn)運(yùn)算器等)、信號(hào)處理(FFT、DFT、D
    發(fā)表于 11-15 11:19 ?9025次閱讀

    vivado調(diào)用IP詳細(xì)介紹

    大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天咱們來(lái)聊一聊vivado 調(diào)用IP。 首先咱們來(lái)了解一下vivadoIP
    的頭像 發(fā)表于 05-28 11:42 ?3.7w次閱讀

    Vivado中xilinx_BRAM IP使用

    Vivado2017.2 中BRAM版本為 Block Memory Generator Specific Features 8.3。BRAM IP
    發(fā)表于 03-10 06:15 ?19次下載
    <b class='flag-5'>Vivado</b>中xilinx_<b class='flag-5'>BRAM</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>使用

    FPGA應(yīng)用之vivado三種常用IP的調(diào)用

    今天介紹的是vivado的三種常用IP:時(shí)鐘倍頻(Clocking Wizard),實(shí)時(shí)仿真(ILA),ROM調(diào)用(Block Memory)。
    發(fā)表于 02-02 10:14 ?3178次閱讀

    VCS獨(dú)立仿真Vivado IP的問(wèn)題補(bǔ)充

    在仿真Vivado IP時(shí)分兩種情況,分為未使用SECURE IP和使用了SECURE IP
    的頭像 發(fā)表于 06-06 14:45 ?1609次閱讀
    VCS獨(dú)立仿真<b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>的問(wèn)題補(bǔ)充

    如何在Vivado中配置FIFO IP

    Vivado IP提供了強(qiáng)大的FIFO生成器,可以通過(guò)圖形化配置快速生成FIFO IP
    的頭像 發(fā)表于 08-07 15:36 ?3708次閱讀
    如何在<b class='flag-5'>Vivado</b>中配置FIFO <b class='flag-5'>IP</b><b class='flag-5'>核</b>

    VivadoBRAM IP的配置方式和使用技巧

    FPGA開(kāi)發(fā)中使用頻率非常高的兩個(gè)IP就是FIFO和BRAM,上一篇文章中已經(jīng)詳細(xì)介紹了Vivado FIFO IP,今天我們來(lái)聊一聊
    的頭像 發(fā)表于 08-29 16:41 ?5232次閱讀
    <b class='flag-5'>Vivado</b>中<b class='flag-5'>BRAM</b> <b class='flag-5'>IP</b>的配置方式和使用技巧

    Vivado IPShared Logic選項(xiàng)配置

    在給Vivado中的一些IP進(jìn)行配置的時(shí)候,發(fā)現(xiàn)有Shared Logic這一項(xiàng),這里以Tri Mode Ethernet MAC IP
    的頭像 發(fā)表于 09-06 17:05 ?1370次閱讀
    <b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>Shared Logic選項(xiàng)配置

    FPGA實(shí)現(xiàn)基于VivadoBRAM IP的使用

    Xilinx公司的FPGA中有著很多的有用且對(duì)整個(gè)工程很有益處的IP,比如數(shù)學(xué)類的IP,數(shù)字信號(hào)處理使用的
    的頭像 發(fā)表于 12-05 15:05 ?1380次閱讀