女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Vivado中的重定時概述和應用

Xilinx賽靈思官微 ? 來源:djl ? 作者:賽靈思 ? 2019-07-25 16:07 ? 次閱讀

重定時概述

重定時是一種順序優(yōu)化技術,旨在不會影響電路的輸入/輸出行為的前提下在組合邏輯之間移動寄存器,以提高設計性能。圖 1 所示電路的關鍵路徑使用了一個 6 輸入加法器。以紅色突出顯示的路徑是對整個電路的性能起限制作用的路徑。

Vivado中的重定時概述和應用

圖 1:寄存器到寄存器路徑設計示例:使用 6 個輸入加法器邏輯

通過將加法器輸出上的寄存器重定時到電路的組合邏輯,可以提升這里所示電路的性能。

電路的整體時延為 4。圖 2 顯示移動寄存器使邏輯最小化的一種方法。將輸出寄存器移動到邏輯錐中被稱為后向重定時。完成此操作后,關鍵路徑將減少為只使用一個 2 輸入加法器。

Vivado中的重定時概述和應用

圖 2:寄存器到寄存器路徑設計示例:通過應用反向重定時使用一個 2 輸入加法器

注意:在上述示例中,寄存器的數量改變了。

圖 1 使用了 9 條不同的寄存器總線。圖 2 使用了 12 條不同的寄存器總線。這樣做的原因是,當執(zhí)行向后重定時時,即當它從輸出移動到輸入時,門的兩個輸入一定各有一個寄存器。

有兩種不同類型的重定時:后向重定時和前向重定時。后向重定時從門的輸出中移除寄存器,并在同一個門的輸入處創(chuàng)建新的寄存器。前向重定時完全相反,它從門的輸入端移除寄存器,并在輸出端創(chuàng)建一個新的寄存器。

要執(zhí)行后向重定時操作,組合邏輯必須僅驅動寄存器,而不是扇出到其他邏輯。要執(zhí)行前向重定時操作,門的每個輸入必須由具有相同控制邏輯的寄存器驅動。圖 3 顯示的是采用前向或后向重定時的同一個電路。

Vivado中的重定時概述和應用

圖 3:前向重定時或后向后重定時的與門

全局重定時與局部后重定時

在 Vivado 綜合中,有兩種啟用重定時的方式:“全局”和“局部”。

全局重定時對整個設計進行重定時,并根據設計時序在大型組合邏輯結構中移動寄存器。

它會對設計中的所有邏輯進行分析,并在最壞情況的路徑中移動寄存器,以便設計能夠跑得更快。為了完成此操作,設計必須在 .xdc 文件中含有準確的時序約束。使用 synth_design 命令行中或 Vivado GUI 中綜合設置下的 -retiming 開關啟用全局重定時。 此外,此功能還可以與綜合中的 BLOCK_SYNTH 功能一起使用,作用于您設計中的特定模塊。

局部重定時是指用戶明確告訴工具使用 retiming_forward/retiming_backward RTL 屬性執(zhí)行重定時時的邏輯。

在執(zhí)行局部重定時時應小心,由于這種重定向不是時序驅動的,工具會完全按照要求進行操作。

如需了解更多有關使用重定時的信息,請參閱《Vivado Design Suite 用戶指南:綜合》 (UG901)。

分析日志文件中的消息,圖 4 顯示的是可以改善邏輯層次的重定時示例。該結構的關鍵路徑有 3 個來自 37 位的與門的邏輯層次。源寄存器被稱為 din1_dly_reg,目標寄存器被稱為 tmp1_reg,在 tmp1_reg 后面還有一個邏輯層次為 0 的額外寄存器。

這是重新定時的理想途徑,因為我們可以把一個有 3 個邏輯層次的路徑(后跟邏輯層次為 0 的路徑)切換到有 2 個邏輯層次的路徑(后跟一個有 1 或 2 個邏輯層次的路徑)。

Vivado中的重定時概述和應用

圖 4:可以向后重定時的電路

綜合日志文件類似于以下內容:

INFO: [Synth 8-5816] Retiming module "test"

Effective logic levels on critical path before retiming is: 3

Total number of crtical paths = 30

Optimizing at the module level

Optimizing locally to improve critical paths (may not reduce worst delay)

Effective logic levels on critical path after retiming is: 2

Total number of crtical paths = 30

Numbers of forward move = 0, and backward move = 1

Retimed registers names:

tmp1_reg_bret

tmp1_reg_bret__0

INFO: [Synth 8-5816] Retiming module "test" done

從此日志文件中,您可以看到重新定時之前和之后報告的邏輯層次,以及創(chuàng)建的新寄存器的名稱。當綜合從重定時創(chuàng)建新寄存器時,它會對后向重新定時的寄存器使用后綴“bret”、對前向重定時的寄存器使用“fret”。

圖 5 中顯示的電路展示的是不兼容的寄存器元件會讓重定時變?yōu)榉欠ú僮鳌T摻Y構使用的仍是一個名為 din1_dly_reg 的啟動寄存器,通過一個 37 位的與門,產生 3 個邏輯層次,然后最后是一個名為 din1_dly_reg 的寄存器。此外,與門還有另一個以粉紅色突出顯示的寄存器扇出。

Vivado中的重定時概述和應用

圖 5:無法重定時的電路示例

由于以粉色突出顯示的寄存器的存在,此示例無法重新定時。該寄存器采用了異步復位,而 tmp1_reg 沒有采用異步復位。由于兩個寄存器的控制集不相同,因此它們無法后向重定時到與門邏輯。此示例中的日志文件會顯示以下內容:

INFO: [Synth 8-5816] Retiming module "test"

Effective logic levels on critical path before retiming is: 3

Total number of crtical paths = 60

Optimizing at the module level

Cannot find a feasible solution:

backward propagation for flip-flop tmp1_reg:FD along instance tmp1_i_1:LUT2 fails due to incompatible flip-flops

Optimizing locally to improve critical paths (may not reduce worst delay)

Effective logic levels on critical path after retiming is: 3

Total number of crtical paths = 60

Numbers of forward move = 0, and backward move = 0

Retimed registers names:

tmp1_reg_bret

tmp1_reg_bret__0

INFO: [Synth 8-5816] Retiming module "test" done

日志文件內含有關不兼容觸發(fā)器的消息,并且之前和之后的邏輯層次不會改變。

在以下情況下不能進行重定時:

寄存器上加有時序異常約束(多周期路徑、可忽略路徑、最大延遲)。

存器有保留類型的屬性(DONT_TOUCH、MARK_DEBUG)。

帶有不同控制集的寄存器。

寄存器驅動輸出或由輸入驅動(除非設計被標記為 out-of-context)。

重定時無法提升反饋循環(huán)中的關鍵路徑的示例

當路徑的源寄存器和目標寄存器相同時,重定時優(yōu)化有可能無法改善邏輯層次。

例如:

寄存器“dout_reg”的關鍵路徑以紅色突出顯示。它通過一個減位與運算符,并在同一寄存器的復位引腳處結束。減位與運算符將基于我們采用的寬度(即 16 位)占用 2 個邏輯層次。

Vivado中的重定時概述和應用

下面的屏幕截圖顯示綜合對關鍵路徑的性質的描述。

它還提到了作為關鍵路徑一部分的單元名稱。

INFO: [Synth 8-5816] Retiming module "test"

Effective logic levels on critical path before retiming is: 2

Total number of crtical paths = 192

Optimizing at the module level

Cannot find a feasible solution:

Worst path is a self-loop from dout_reg[14] to dout_reg[14]

Optimizing locally to improve critical paths (may not reduce worst delay)

Effective logic levels on critical path after retiming is: 2

Total number of crtical paths = 192

Numbers of forward move = 0, and backward move = 0

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

    關注

    173

    文章

    6022

    瀏覽量

    174486
  • 寄存器
    +關注

    關注

    31

    文章

    5423

    瀏覽量

    123418
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    CC2650無線連接三概述

    `CC2650無線連接三概述`
    發(fā)表于 02-25 10:13

    Vivado綜合操作定時(Retiming)

    synth_design或Vivado GUI綜合設置下通過-retiming命令啟用全局定時,此外該特性還可以與合成的BLOCK_SYNTH特性一起用于設計
    發(fā)表于 03-14 12:32

    如何在Vivado 2016.1進行寄存器平衡/寄存器重定時

    vivado 2016.1可以選擇重新定時。我有這種層次數據路徑設計,其中觸發(fā)器處于最頂層,我希望在重新定時完成后,應將觸發(fā)器移動到較低層次以匹配時序。但重新
    發(fā)表于 05-01 06:33

    如何為管道設計插入寄存器并進行定時

    大家好,我需要為管道設計插入寄存器并進行定時以改善負面松弛。在vivado是否有內置的方法來執(zhí)行此操作。我嘗試了phys_opt_design -retime,但它沒有改善松弛。此
    發(fā)表于 05-01 14:51

    Vivado 全局定時vs 局部定時

    限制。在synth_design或Vivado GUI綜合設置下通過-retiming命令啟用全局定時,此外該特性還可以與合成的BLOCK_SYNTH特性一起用于設計
    發(fā)表于 11-24 07:00

    基于vivado的fir ip核的采樣設計與實現(xiàn)

    本文基于xilinx 的IP核設計,源于音頻下采樣這一需求。 創(chuàng)建vivado工程 1. 首先打開vivado,創(chuàng)建一個新的project(勾選create project subdirectory
    發(fā)表于 02-08 02:25 ?5322次閱讀
    基于<b class='flag-5'>vivado</b>的fir ip核的<b class='flag-5'>重</b>采樣設計與實現(xiàn)

    Vivado 2017.1和Vivado 2016.4性能對比分析

    。總體而言,Vivado 2017.1比Vivado2016.4給出了更好的效果。雖然在測試1的結果有些相似,但是Vivado2017.1從測試2和3
    的頭像 發(fā)表于 07-04 11:23 ?1w次閱讀
    <b class='flag-5'>Vivado</b> 2017.1和<b class='flag-5'>Vivado</b> 2016.4性能對比分析

    Tcl在Vivado的基礎應用

    Vivado使用技巧的最大障礙,以至于兩年多后的今天,仍有很多用戶缺乏升級到Vivado的信心。本文介紹了Tcl在Vivado的基礎應用,希望起到拋磚引玉的作用,指引使用者在短時間內
    發(fā)表于 11-18 03:52 ?5126次閱讀
    Tcl在<b class='flag-5'>Vivado</b><b class='flag-5'>中</b>的基礎應用

    如何在Vivado Design Suite 中進行IP加密

    此視頻概述Vivado Design Suite的IP加密。 它涵蓋了IP加密工具流程,如何準備加密IP以及如何在Vivado運行加
    的頭像 發(fā)表于 11-20 06:34 ?6891次閱讀

    在ISE和VivadoXADC的向導演示

    該視頻快速概述了ISE和Vivado可用的XADC向導的界面,功能和功能。 對于希望實例化基本設計的數字設計人員來說,這是一個很好的工具。
    的頭像 發(fā)表于 11-20 06:19 ?4946次閱讀

    Vivado 2014.1的許可和激活概述

    了解如何使用2014.1引入的新激活許可為Vivado工具生成許可證。 另外,了解Vivado 2014.1的許可更改如何影響您,以及如何在激活客戶端中使用新的
    的頭像 發(fā)表于 11-22 07:10 ?3318次閱讀

    Vivado綜合操作定時(Retiming)

    有兩種不同的定時方法,向后定時和向前定時。向后
    的頭像 發(fā)表于 03-14 16:26 ?1.9w次閱讀
    <b class='flag-5'>Vivado</b>綜合操作<b class='flag-5'>中</b>的<b class='flag-5'>重</b><b class='flag-5'>定時</b>(Retiming)

    轉接驅動器和定時器的比較

    六零年代,隨著電信數字載波系統(tǒng)T1和E1的出現(xiàn),數字定時器開始受到關注。這些系統(tǒng)在屏蔽雙絞線上承載多條語音電路信道,每隔幾千英尺需安裝一個數字定時器。當時這些設備比較先進,它們采用
    發(fā)表于 02-12 10:05 ?1847次閱讀

    Vivado設計約束功能概述

    XDC約束可以用一個或多個XDC文件,也可以用Tcl腳本實現(xiàn);XDC文件或Tcl腳本都要加入到工程的某個約束集(set);雖然一個約束集可以同時添加兩種類型約束,但是Tcl腳本不受Vivado工具管理,因此無法修改其中的約束;
    的頭像 發(fā)表于 06-30 11:27 ?4388次閱讀

    Vivado設計套件用戶指南(設計流程概述)

    電子發(fā)燒友網站提供《Vivado設計套件用戶指南(設計流程概述).pdf》資料免費下載
    發(fā)表于 09-15 09:55 ?2次下載
    <b class='flag-5'>Vivado</b>設計套件用戶指南(設計流程<b class='flag-5'>概述</b>)