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

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

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

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

CHANBAEK ? 來源:FpgaHome ? 作者:太陽井的小魚兒 ? 2023-09-26 11:34 ? 次閱讀

1. 前言

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

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

圖片

用戶必須在MEMORY_PRIMITIVE類屬上指定值 ”ultra”,以明確指示vivado 綜合使用 UltraRam。

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

圖片

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

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

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

圖片

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

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

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

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

3. URAM性能估計(jì)

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

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

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

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

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

圖片

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

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

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

圖片

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

圖片

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

5.總結(jié)

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

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

    關(guān)注

    451

    文章

    49725

    瀏覽量

    417631
  • Xilinx
    +關(guān)注

    關(guān)注

    70

    文章

    2138

    瀏覽量

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

    關(guān)注

    1

    文章

    384

    瀏覽量

    59534
  • 時序
    +關(guān)注

    關(guān)注

    5

    文章

    373

    瀏覽量

    37193
  • UltraScale
    +關(guān)注

    關(guān)注

    0

    文章

    116

    瀏覽量

    31422
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

    URAM 目前只支持原語、XPM_MEMORY 和 RTL 代碼的方式。相比而言,XPM_MEMORY 的方式更為快捷,也是Xilinx建議的方式。  級聯(lián)方式  BRAM和URAM都可級聯(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) 感覺我正在修補(bǔ)一個潛在的問題而不是修復(fù)它. 所以,問題是,什么是調(diào)整電路板以獲得最佳性能最佳方式?天線向上、向下、側(cè)向?(是的,我已經(jīng)閱讀了有關(guān)方形彎頭天線的耦合線程
    發(fā)表于 04-12 06:16

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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