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

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

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

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

FPGA之家 ? 來源:FPGA之家 ? 2023-05-08 15:15 ? 次閱讀

UltraRAM 原語(也稱為 URAM)可在 Xilinx UltraScale + 架構(gòu)中使用,而且可用來高效地實現(xiàn)大容量深存儲器。由于大小和性能方面的要求,通常這類存儲器不適合使用其他存儲器資源來實現(xiàn)。URAM 原語具有實現(xiàn)高速內(nèi)存訪問所需的可配置流水線屬性和專用級聯(lián)連接。流水線階段和級聯(lián)連接是使用原語上的屬性來配置的。

本篇博文描述的是通過將 URAM 矩陣配置為使用流水線寄存器來實現(xiàn)最佳時序性能的方法。

流水線需求

通過在矩陣結(jié)構(gòu)中連接多個 URAM,從可用的 URAM 原語實現(xiàn)大容量深存儲器。

矩陣由 URAM 的行和列組成。一列中的 URAM 使用內(nèi)置級聯(lián)電路級聯(lián),且多列 URAM 通過外部級聯(lián)電路互連,這被稱為水平級聯(lián)電路。

作為示例,圖 1 示出了針對 64K 深 x 72 位寬存儲器的 4x4 URAM 矩陣的矩陣分解。

0c5d167a-ecd9-11ed-90ce-dac502259ad0.png

4 行 4 列的 URAM 矩陣(可實現(xiàn) 64K 深 72 位寬的存儲器)

在沒有流水線設(shè)計的情況下,深度聯(lián)結(jié)構(gòu)會導(dǎo)致內(nèi)存訪問出現(xiàn)大的時鐘輸出延遲。例如,在默認(rèn)情況下,上述 URAM 矩陣可以達(dá)到約 350 MHz。要以更快的速度訪問內(nèi)存,應(yīng)插入流水線。如果在網(wǎng)表中指定了一定數(shù)量的輸出時延,Vivado Synthesis 即會自動實現(xiàn)此功能。

指定RTL設(shè)計中的流水線

有兩種方法可以用來指定 RTL 設(shè)計中的流水線的用途,可以通過使用 XPM 流程,也可以通過行為 RTL 來推斷內(nèi)存。

如果 RTL 設(shè)計通過 XPM 流程來創(chuàng)建 URAM 內(nèi)存,則用戶可以將對流水線的要求指定為 XPM 實例的參數(shù)。參數(shù)“READ_LATENCY_A/B”用于捕獲內(nèi)存的時延要求。

可用的流水線階段數(shù)是 LATENCY 值減去 2。例如,如果 Latency 設(shè)置為 10,則允許 8 個寄存器階段用于流水線操作。另外兩個寄存器可用來創(chuàng)建 URAM 本身。

0c99ef5a-ecd9-11ed-90ce-dac502259ad0.png

使用 XPM 設(shè)置流水線設(shè)計

如果用戶使用 Vivado 用戶指南中提供的模板來編寫 RTL,并通過此方法來創(chuàng)建 URAM,那么,他們可以在 URAM 的輸出時創(chuàng)建盡可能多的寄存器階段。唯一的要求是,與數(shù)據(jù)一起,流水線寄存器的啟用也需要流水線化。

圖 3 顯示數(shù)據(jù)和流水線的啟用。

0cb21bf2-ecd9-11ed-90ce-dac502259ad0.png

URAM 塊輸出時的數(shù)據(jù)及流水線啟用規(guī)范

圖 4 示出了 RTL 級 RAM 流水線設(shè)計示例。

0cc41d66-ecd9-11ed-90ce-dac502259ad0.jpg

用來指定數(shù)據(jù)和流水線啟用的 verilog 模板

分析日志文件:

Vivado Synthesis 根據(jù)上下文環(huán)境和場景發(fā)布與 URAM 流水線相關(guān)的不同消息。下表說明要在 vivado.log 文件中查找的一些消息和要采取的相應(yīng)操作。

請注意,推薦的流水線階段基于可實現(xiàn)最高性能(800 MHz+)的完全流水線化的矩陣。此建議不受實際時序約束的限制。

0d0131e2-ecd9-11ed-90ce-dac502259ad0.jpg

時間性能估計:

下表說明流水線寄存器的數(shù)量與可實現(xiàn)的最大估計頻率之間的關(guān)系。

請注意,實際的時間數(shù)仍將取決于最終地點和路線結(jié)果。

下列數(shù)字基于 speedgrade-2 Virtex UltraScale+ 部件以及我們使用 4x4 矩陣實現(xiàn)的 64K x 72 URAM 示例工程。

0d452582-ecd9-11ed-90ce-dac502259ad0.jpg

數(shù)據(jù)路徑延遲具有以下一個或多個組件。

Tco = 1.38 ns, Clk To CascadeOut on URAM

Tco = 0.82 ns, Clk To CascadeOut on URAM with OREG=true

Tco = 0.726 ns, Clk to Dataout on URAM with OREG=true, CASCADE_ORDER = LAST

URAM -> URAM級聯(lián)延遲= 0.2 ns

URAM -> LUT信號網(wǎng)絡(luò)延遲= 0.3 ns

LUT傳輸延遲= 0.125 ns

LUT -> LUT信號網(wǎng)絡(luò)延遲= 0.2 ns

LUT5 -> FF延遲= 0.05

結(jié) 論

URAM 原語是創(chuàng)建容量非常大的 RAM 結(jié)構(gòu)的有效方法。它們被設(shè)置為易于級聯(lián)以便在您的設(shè)計中創(chuàng)建容量更大的 RAM。

但是,太多這類結(jié)構(gòu)級聯(lián)在一起可能會通過 RAM 產(chǎn)生很大的延遲。從長遠(yuǎn)來看,花時間讓您的 RAM 完全流水線化會帶來很多好處。

URAM 原語是創(chuàng)建容量非常大的 RAM 結(jié)構(gòu)的有效方法。它們被設(shè)置為易于級聯(lián)以便在您的設(shè)計中創(chuàng)建容量更大的 RAM。

但是,太多這類結(jié)構(gòu)級聯(lián)在一起可能會通過 RAM 產(chǎn)生很大的延遲。從長遠(yuǎn)來看,花時間讓您的 RAM 完全流水線化會帶來很多好處。

審核編輯:湯梓紅

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

    關(guān)注

    38

    文章

    7519

    瀏覽量

    164085
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2169

    瀏覽量

    121782
  • 流水線
    +關(guān)注

    關(guān)注

    0

    文章

    120

    瀏覽量

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

    關(guān)注

    1

    文章

    385

    瀏覽量

    59875
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    815

    瀏覽量

    66710

原文標(biāo)題:干貨 | 如何通過 Vivado Synthesis 中的 URAM 矩陣自動流水線化來實現(xiàn)最佳時序性能

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    自動化流水線電子看板系統(tǒng)

    與過去工廠管理模式相比,現(xiàn)代企業(yè)更注重品質(zhì)與效率特別是服務(wù)制造業(yè)。目前在同行業(yè)里普遍推行的理念是智能工廠( Smartfactory),其解決方案主要以智能自動化流水線 電子看板系統(tǒng) 實現(xiàn)
    發(fā)表于 10-05 20:03

    FPGA流水線設(shè)計

    處理速度)。第二 什么時候用流水線設(shè)計使用流水線一般是時序比較緊張,對電路工作頻率較高的時候。典型情況如下:1)功能模塊之間的流水線,用乒乓 buffer
    發(fā)表于 10-26 14:38

    ARM架構(gòu)系列流水線設(shè)計

    什么是ARM流水線流水線(Pipelining)是 RISC(精簡指令集)處理器用來執(zhí)行指令的機(jī)制,通過獲取指令加速執(zhí)行,而其他指令同時被解碼和執(zhí)行。這反過來又允許內(nèi)存系統(tǒng)和處理器連
    發(fā)表于 04-11 17:23

    現(xiàn)代RISC流水線技術(shù)

    流水線技術(shù)是提高系統(tǒng)吞吐率的一項強(qiáng)大的實現(xiàn)技術(shù),并且不需要大量重復(fù)設(shè)置硬件。20世界60年代早期的一些高端機(jī)器第一次采用了流水線技術(shù)。第一個采用指令
    發(fā)表于 03-01 17:52

    什么是流水線技術(shù)

    什么是流水線技術(shù) 流水線技術(shù)
    發(fā)表于 02-04 10:21 ?3936次閱讀

    流水線的相關(guān)培訓(xùn)教程[1]

    流水線的相關(guān)培訓(xùn)教程[1]  學(xué)習(xí)目標(biāo)     理解流水線相關(guān)的分類及定義;
    發(fā)表于 04-13 15:56 ?1068次閱讀

    流水線的相關(guān)培訓(xùn)教程[4]

    流水線的相關(guān)培訓(xùn)教程[4] 下面討論如何利用編譯器技術(shù)減少這種必須的暫停,然后論述如何在流水線
    發(fā)表于 04-13 16:09 ?4816次閱讀

    如何利用樂高積木制作成自動化流水線

    自動化流水線是一個統(tǒng)稱,包括組裝流水線、皮帶流水線、鏈板線、插件線等等,主要通過自動化系統(tǒng)
    的頭像 發(fā)表于 05-22 06:06 ?6830次閱讀

    各種流水線特點及常見流水線設(shè)計方式

    按照流水線的輸送方式大體可以分為:皮帶流水裝配線、板鏈線、倍速鏈、插件線、網(wǎng)帶線、懸掛線及滾筒流水線這七類流水線。
    的頭像 發(fā)表于 07-05 11:12 ?7436次閱讀
    各種<b class='flag-5'>流水線</b>特點及常見<b class='flag-5'>流水線</b>設(shè)計方式

    嵌入式_流水線

    ,每個子過程由專門的功能部件實現(xiàn)。? 把多個處理過程在時間上錯開,依次通過各功能段,這樣,每個子過程就可以與其他的子過程并行進(jìn)行。流水線
    發(fā)表于 10-20 20:51 ?6次下載
    嵌入式_<b class='flag-5'>流水線</b>

    自動化流水線矩陣式鍵盤的功能說明

    下面為大家介紹自動化流水線控制系統(tǒng)矩陣式鍵盤的使用和功能。 鍵盤是自動化流水線計算機(jī)系統(tǒng)Z常用
    發(fā)表于 04-19 14:33 ?1208次閱讀

    什么是流水線 Jenkins的流水線詳解

    jenkins 有 2 種流水線分為聲明式流水線與腳本流水線,腳本流水線是 jenkins
    發(fā)表于 05-17 16:57 ?1100次閱讀

    MT6701磁編碼IC在自動化插件流水線的應(yīng)用

    。本文將從 MT6701 磁編碼IC 的特性、工作原理、在自動化插件流水線的具體應(yīng)用、以及未來的發(fā)展趨勢等方面,詳細(xì)探討其在工業(yè)自動化領(lǐng)域的重要性和優(yōu)勢。 www.abitions.
    的頭像 發(fā)表于 07-22 17:59 ?1354次閱讀
    MT6701磁編碼IC在<b class='flag-5'>自動化</b>插件<b class='flag-5'>流水線</b><b class='flag-5'>中</b>的應(yīng)用

    工業(yè)讀碼器解決方案在自動化流水線上掃描條碼的應(yīng)用

    工業(yè)讀碼器解決方案在自動化流水線上的應(yīng)用主要包括以下幾個方面:1、提高生產(chǎn)效率和準(zhǔn)確性工業(yè)讀碼器嵌入在工業(yè)流水線,無需人工掃描,大大提高了效率,節(jié)約了人力成本。讀碼效果穩(wěn)定,準(zhǔn)確率非
    的頭像 發(fā)表于 11-20 16:28 ?236次閱讀
    工業(yè)讀碼器解決方案在<b class='flag-5'>自動化</b><b class='flag-5'>流水線</b>上掃描條碼的應(yīng)用