RM新时代网站-首页

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

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

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

如何讓級(jí)聯(lián)URAM獲得最佳時(shí)序性能

CHANBAEK ? 來(lái)源:FpgaHome ? 作者:太陽(yáng)井的小魚(yú)兒 ? 2023-09-26 11:34 ? 次閱讀

1. 前言

在上一篇文章里《如何使用UltraScale+芯片中UltraRam資源》,我們向大家介紹了在RTL設(shè)計(jì)中使用URAM的方法。其中,我們推薦大家使用Xilinx參數(shù)化宏(XPM)的方法來(lái)調(diào)用URAM。通過(guò)XPM調(diào)用的URAM的方法如下:

在模板中選擇“Verilog”->“Xilinx Parameterized Macros (XPM)”->“XPM”->“XPM_MEMORY” ->“Simple Dual Port Ram”

圖片

用戶(hù)必須在MEMORY_PRIMITIVE類(lèi)屬上指定值 ”ultra”,以明確指示vivado 綜合使用 UltraRam。

那么問(wèn)題來(lái)了,還有個(gè)參數(shù)“READ_LATENCY_A/B”該設(shè)多少?這個(gè)參數(shù)影響URAM的讀操作需要滯后多少時(shí)鐘周期才能將讀數(shù)據(jù)輸出。

圖片

2. 級(jí)聯(lián)URAM須知

單個(gè)URAM器件的數(shù)據(jù)位寬為72bit,地址深度為4096,存儲(chǔ)容量為288Kb。因此,當(dāng)用戶(hù)需要大于288Kb存儲(chǔ)容量空間時(shí),需要級(jí)聯(lián)多個(gè)URAM器件。在Kintex UltraScale+和Zynq UltraScale+器件中,級(jí)聯(lián)得到的RAM陣列可高達(dá)36Mb,在Virtex UltraScale+系列中,所有UltraRAM列都可通過(guò)光纖路由連接在一起,在最大器件中可構(gòu)成容量達(dá)360Mb的存儲(chǔ)器陣列。

下圖展示了一個(gè)4 x 4的URAM陣列級(jí)聯(lián)結(jié)構(gòu),在縱向的一列中,每個(gè)URAM使用內(nèi)置級(jí)聯(lián)電路進(jìn)行級(jí)聯(lián)。在橫向多列之間,URAM通過(guò)外部級(jí)聯(lián)電路進(jìn)行互連,即水平級(jí)聯(lián)電路。

圖片

但是,URAM和Bram (block ram)不太一樣。在工作時(shí)鐘頻率不變情況下,深度級(jí)聯(lián)URAM陣列會(huì)使得數(shù)據(jù)輸出延遲越來(lái)越大,因?yàn)樾枰诩?jí)聯(lián)的URAM模塊中插入多級(jí)流水線(xiàn),以保證模塊能時(shí)序收斂。

同樣,想保證輸出延遲固定,級(jí)聯(lián)越多的URAM會(huì)導(dǎo)致整個(gè)級(jí)聯(lián)的URAM可工作的時(shí)鐘頻率越低。

因此,我們需要謹(jǐn)慎的設(shè)置“READ_LATENCY_A/B”參數(shù),來(lái)保證級(jí)聯(lián)的URAM模塊能按自己的需求時(shí)序收斂并正常地工作。

注意: 如果使用XPM來(lái)調(diào)用URAM模塊,則URAM內(nèi)部可用的流水線(xiàn)階數(shù)是設(shè)定的LATENCY值減去2。例如,如果“READ_LATENCY_A/B”參數(shù)設(shè)為10,則允許8個(gè)寄存器階段用于流水線(xiàn)操作。

3. URAM性能估計(jì)

從上文,我們知道,LATENCY值的設(shè)置取決于URAM級(jí)聯(lián)的深度、工作頻率。下表以4x4的URAM矩陣為例,總結(jié)了流水線(xiàn)級(jí)數(shù)與可實(shí)現(xiàn)的最大工作頻率之間的關(guān)系。

注: 實(shí)際的延遲仍取決于設(shè)計(jì)中最終的布局布線(xiàn)結(jié)果。

注: 下表是基于Virtex UltraScale+ speed -2器件為基礎(chǔ)給的結(jié)果。

注: 該級(jí)聯(lián)的URAM陣列最大只支持8級(jí)流水線(xiàn)**。**

注: LATENCY取值為表中流水級(jí)數(shù)值加2。

圖片

4. 檢查設(shè)計(jì)是否達(dá)到最優(yōu)時(shí)序

第3節(jié)中的表只是一個(gè)參考,讓大家大致了解級(jí)聯(lián)的流水線(xiàn)級(jí)數(shù)、輸出延遲、工作頻率之間的關(guān)系。如果我已經(jīng)完成了設(shè)計(jì),指定好了“READ_LATENCY_A/B”參數(shù)的值,如何確定該延遲值是否設(shè)置的最優(yōu)呢?

Vivado工具是提供了相應(yīng)的綜合報(bào)告來(lái)告知工程師級(jí)聯(lián)的URAM模塊是否能到達(dá)最優(yōu)時(shí)序。工程師在Vivado的GUI里,選中“Messages”一欄,查找有關(guān)URAM的提示。

圖片

一般提示如下,對(duì)應(yīng)的解決方法附在其后:

圖片

相信經(jīng)過(guò)這兩篇文章總結(jié),大家在如何使用URAM問(wèn)題上應(yīng)該不會(huì)有太多的疑惑。

5.總結(jié)

本文向大家介紹了如何通過(guò)XPM調(diào)用URAM,并讓級(jí)聯(lián)URAM獲得最佳時(shí)序性能,如果覺(jué)得我們原創(chuàng)或引用的文章寫(xiě)的還不錯(cuò),幫忙點(diǎn)贊和推薦吧,謝謝您的關(guān)注。

聲明:本文內(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)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50714

    瀏覽量

    423131
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2167

    瀏覽量

    121298
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59759
  • 時(shí)序
    +關(guān)注

    關(guān)注

    5

    文章

    387

    瀏覽量

    37317
  • UltraScale
    +關(guān)注

    關(guān)注

    0

    文章

    117

    瀏覽量

    31461
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用流水線(xiàn)寄存器實(shí)現(xiàn)最佳時(shí)序性能方案

    本篇博文描述的是通過(guò)將 URAM 矩陣配置為使用流水線(xiàn)寄存器來(lái)實(shí)現(xiàn)最佳時(shí)序性能的方法
    的頭像 發(fā)表于 07-26 16:01 ?6418次閱讀
    使用流水線(xiàn)寄存器實(shí)現(xiàn)<b class='flag-5'>最佳</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>性能</b>方案

    應(yīng)該使用哪種策略來(lái)獲得最佳時(shí)序收斂?

    您好,如果我想為我的設(shè)計(jì)獲得最佳時(shí)序收斂,我應(yīng)該使用什么實(shí)施策略?例如,如果我想改善設(shè)置和保持的松弛度,我應(yīng)該選擇哪種最佳策略?以上來(lái)自于谷歌翻譯以下為原文Hello,If i wan
    發(fā)表于 11-05 11:40

    URAM和BRAM的區(qū)別是什么

    URAM 目前只支持原語(yǔ)、XPM_MEMORY 和 RTL 代碼的方式。相比而言,XPM_MEMORY 的方式更為快捷,也是Xilinx建議的方式?! ?b class='flag-5'>級(jí)聯(lián)方式  BRAM和URAM都可級(jí)聯(lián)
    發(fā)表于 12-23 16:57

    URAM和BRAM的區(qū)別是什么

    URAM和BRAM有什么區(qū)別
    發(fā)表于 02-23 07:52

    如何才能獲得上佳的噪聲性能

    如何才能獲得上佳的噪聲性能?如何選擇最佳的運(yùn)算放大器?
    發(fā)表于 04-12 06:54

    什么是調(diào)整電路板以獲得最佳性能最佳方式?

    ,并且 (2) 感覺(jué)我正在修補(bǔ)一個(gè)潛在的問(wèn)題而不是修復(fù)它. 所以,問(wèn)題是,什么是調(diào)整電路板以獲得最佳性能最佳方式?天線(xiàn)向上、向下、側(cè)向?(是的,我已經(jīng)閱讀了有關(guān)方形彎頭天線(xiàn)的耦合線(xiàn)程
    發(fā)表于 04-12 06:16

    級(jí)聯(lián)碼,什么是級(jí)聯(lián)

    級(jí)聯(lián)碼,什么是級(jí)聯(lián)級(jí)聯(lián)碼:要想進(jìn)一步提高編碼的性能,必須加長(zhǎng)編碼。對(duì)于線(xiàn)性分組碼就是加長(zhǎng)n,對(duì)卷積碼就是加長(zhǎng)K。但很快
    發(fā)表于 04-03 12:11 ?3207次閱讀

    FPGA時(shí)序收斂你的產(chǎn)品達(dá)到最佳性能

    FPGA時(shí)序收斂你的產(chǎn)品達(dá)到最佳性能!
    發(fā)表于 04-10 11:38 ?18次下載
    FPGA<b class='flag-5'>時(shí)序</b>收斂<b class='flag-5'>讓</b>你的產(chǎn)品達(dá)到<b class='flag-5'>最佳</b><b class='flag-5'>性能</b>!

    使用Intel圖形性能分析器從游戲開(kāi)發(fā)中獲得最佳性能

    使用英特爾?圖形性能分析器,從游戲開(kāi)發(fā)中獲得最佳性能。
    的頭像 發(fā)表于 11-08 06:49 ?2616次閱讀

    BRAM和URAM重要的片上存儲(chǔ)資源,兩者有顯著的區(qū)別

    BRAM和URAM都可級(jí)聯(lián),只是級(jí)聯(lián)方式不同。在使用BRAM時(shí),我們只需要設(shè)定寬度和深度,并根據(jù)時(shí)鐘頻率合理選擇Latency,也就是選擇是否需要使用BRAM自帶的輸出寄存器或Slice中的寄存器
    的頭像 發(fā)表于 03-06 15:44 ?2.8w次閱讀
    BRAM和<b class='flag-5'>URAM</b>重要的片上存儲(chǔ)資源,兩者有顯著的區(qū)別

    基于URAM原語(yǔ)創(chuàng)建容量更大的RAM

    UltraRAM 原語(yǔ)(也稱(chēng)為 URAM)可在 Xilinx UltraScale +? 架構(gòu)中使用,而且可用來(lái)高效地實(shí)現(xiàn)大容量深存儲(chǔ)器。
    發(fā)表于 07-13 11:08 ?7393次閱讀
    基于<b class='flag-5'>URAM</b>原語(yǔ)創(chuàng)建容量更大的RAM

    如何調(diào)整MLX75308的參數(shù)以獲得最佳性能的系統(tǒng)

    如何調(diào)整MLX75308的參數(shù)以獲得最佳性能的系統(tǒng) MLX75308雨光傳感器接口芯片是一種非常靈活的芯片,具有許多要調(diào)整的寄存器。通過(guò)所有這些寄存器進(jìn)行調(diào)整,可能很難找到正確的設(shè)置來(lái)獲得
    的頭像 發(fā)表于 05-06 13:56 ?3200次閱讀
    如何調(diào)整MLX75308的參數(shù)以<b class='flag-5'>獲得</b><b class='flag-5'>最佳</b><b class='flag-5'>性能</b>的系統(tǒng)

    URAM和BRAM有哪些區(qū)別

    無(wú)論是7系列FPGA、UltraScale還是UltraScale Plus系列FPGA,都包含Block RAM(BRAM),但只有UltraScale Plus芯片有UltraRAM也就是我們所說(shuō)的URAM。BRAM和URAM都是重要的片上存儲(chǔ)資源,但兩者還是有些顯著
    的頭像 發(fā)表于 07-25 17:54 ?5826次閱讀
    <b class='flag-5'>URAM</b>和BRAM有哪些區(qū)別

    URAM和BRAM有什么區(qū)別

    無(wú)論是7系列FPGA、UltraScale還是UltraScale Plus系列FPGA,都包含Block RAM(BRAM),但只有UltraScale Plus芯片有UltraRAM也就是我們所說(shuō)的URAM。BRAM和URAM都是重要的片上存儲(chǔ)資源,但兩者還是有些顯著
    發(fā)表于 01-27 06:55 ?12次下載
    <b class='flag-5'>URAM</b>和BRAM有什么區(qū)別

    如何通過(guò)Vivado Synthesis中的URAM矩陣自動(dòng)流水線(xiàn)化來(lái)實(shí)現(xiàn)最佳時(shí)序性能

    UltraRAM 原語(yǔ)(也稱(chēng)為 URAM)可在 Xilinx UltraScale + 架構(gòu)中使用,而且可用來(lái)高效地實(shí)現(xiàn)大容量深存儲(chǔ)器。由于大小和性能方面的要求,通常這類(lèi)存儲(chǔ)器不適合使用其他存儲(chǔ)器
    的頭像 發(fā)表于 05-08 15:15 ?1740次閱讀
    如何通過(guò)Vivado Synthesis中的<b class='flag-5'>URAM</b>矩陣自動(dòng)流水線(xiàn)化來(lái)實(shí)現(xiàn)<b class='flag-5'>最佳</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>性能</b>
    RM新时代网站-首页