chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

AMD Vivado Design Tool綜合中的門控時鐘轉(zhuǎn)換

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 2025-05-14 09:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文作者:AMD 工程師Alan Schuler

傳統(tǒng)上,使用門控時鐘ASIC 設(shè)計中降低系統(tǒng)功耗的常見方法。通過門控時鐘,可在非必要時阻止整組寄存器的狀態(tài)轉(zhuǎn)換。

4185581e-2a6a-11f0-9310-92fbcf53809c.png

圖 1:使用與門進行時鐘門控

在圖 1 中,當“gate”信號設(shè)為低電平時,所有寄存器均關(guān)閉且不消耗動態(tài)功耗。

此類編碼風(fēng)格并非總能有效適配 FPGA。原因在于 FPGA 具有先進的專用時鐘資源,其設(shè)計旨在將時鐘結(jié)構(gòu)的時序設(shè)為最佳設(shè)置以避免時鐘偏差。在該結(jié)構(gòu)中插入門電路可能干擾這些資源。此外,這些時鐘資源并非無限,因此不同門控時鐘的數(shù)量過多可能導(dǎo)致 FPGA 設(shè)計出現(xiàn)問題。

419d219c-2a6a-11f0-9310-92fbcf53809c.png

圖 2:時鐘結(jié)構(gòu)內(nèi)的 LUT

解決這些問題的方法之一是重寫 RTL 代碼以移除門電路。但這涉及大量工作,且在 FPGA 中進行原型設(shè)計時,大多數(shù)情況下不允許更改 RTL 代碼。另一種解決方案是讓綜合工具轉(zhuǎn)換這些門電路,使時鐘直接驅(qū)動寄存器時鐘管腳,而門控邏輯則轉(zhuǎn)至?xí)r鐘使能管腳。AMD Vivado Design Tool 支持此功能。

41b709e0-2a6a-11f0-9310-92fbcf53809c.png

圖 3:相同電路完成門控時鐘轉(zhuǎn)換后的結(jié)果

有必要提醒設(shè)計者,執(zhí)行此項轉(zhuǎn)換雖有助于工具利用專用時鐘資源,但現(xiàn)在也會改用不同的時鐘使能信號。這意味著設(shè)計中將包含更多控制集,從而可能引發(fā)其他影響。

此外,仿真結(jié)果也可能受到影響。以圖 2 和圖 3 為例。在此示例中,時鐘和門控信號均為低電平,隨后門控信號在時鐘保持低電平期間產(chǎn)生高低脈沖。在圖 3 中這計為一次時鐘脈沖,但在圖 4 中則忽略此次脈沖。 應(yīng)謹慎處理,避免此類情況。

控制門控時鐘

門控時鐘轉(zhuǎn)換的控制是通過以下三項組合來完成的。XDC 文件中的時鐘約束、GATED_CLOCK 綜合屬性,以及 gated_clock_conversion 綜合設(shè)置。XDC 文件中的時鐘約束會將設(shè)計中時鐘的運行頻率需求告知工具。其形式如下:

create_clock -period 5 [get_ports clk]

通過使用約束,該工具即可識別哪些信號可以轉(zhuǎn)換為直接時鐘。

GATED_CLOCK 屬性允許用戶直接告訴工具,門控邏輯中的哪個時鐘應(yīng)驅(qū)動寄存器的時鐘輸入。 該屬性會被寫于 RTL 文件內(nèi)。

(* gated_clock = "yes" *) input clk;

gated_clock_conversion 選項用于對綜合執(zhí)行門控時鐘轉(zhuǎn)換的方式加以控制。若設(shè)為“off”,則永不轉(zhuǎn)換門控時鐘。若設(shè)為“on”,那么它將在具有 GATED_CLOCK 屬性的信號上執(zhí)行門控時鐘轉(zhuǎn)換。

若設(shè)為“auto”,那么當該工具通過 XDC 文件識別出哪些信號是設(shè)計中的真實時鐘時,它將執(zhí)行轉(zhuǎn)換。此外,若有多個可轉(zhuǎn)換的時鐘,則可使用 GATED_CLOCK 屬性將應(yīng)使用的特定時鐘告知工具。

當該工具能檢測到門控時鐘并開啟轉(zhuǎn)換功能時,它會嘗試將該時鐘與門電路中的邏輯其余部分分離。若能完成此操作,那么該時鐘將直接驅(qū)動寄存器的 C 管腳,其余部分將被分配給寄存器的時鐘使能邏輯。

執(zhí)行門控時鐘轉(zhuǎn)換時需考慮的重點之一是層級。轉(zhuǎn)換門控時鐘時,該工具會將時鐘與邏輯其余部分分離,并創(chuàng)建新時鐘和時鐘使能。若門控時鐘與新時鐘驅(qū)動的寄存器在相同層級內(nèi)處于不同層次,且存在保持整個層級靜態(tài)的約束(如 DONT_TOUCH、KEEP_HIERARCHY 等),工具將無法轉(zhuǎn)換時鐘。

41c9942a-2a6a-11f0-9310-92fbcf53809c.png

圖 4:層級內(nèi)不同層次的時鐘門控電路

基礎(chǔ)門電路

最常見的門控時鐘形式之一是通過基礎(chǔ)門電路(例如,與門)實現(xiàn)的時鐘門控。

RTL 代碼示例:

assign my_clk = clk1 & gate1 & gate2;

此代碼通過兩個不同使能信號對時鐘進行門控,細化視圖如下:

41dce3fe-2a6a-11f0-9310-92fbcf53809c.png

圖 5:含與門的時鐘門控

綜合時,如果開啟了門控時鐘轉(zhuǎn)換,并將 gated_clock_conversion 設(shè)置為 auto(自動),clk1 占一個時鐘周期,或在 clk1 上將 GATED_CLOCK 屬性置位,那么該工具將把 clk1 信號連接到寄存器的 C 輸入,并把 gate1 和 gate2 信號連接到觸發(fā)器的 CE 輸入。

41ef8518-2a6a-11f0-9310-92fbcf53809c.png

圖 6:前一電路的綜合后結(jié)果

或門轉(zhuǎn)換同樣適用。

41ff637a-2a6a-11f0-9310-92fbcf53809c.png

圖 7:在時鐘電路中使用或門

上述電路轉(zhuǎn)換后如下所示:

420f1018-2a6a-11f0-9310-92fbcf53809c.png

圖8:或門轉(zhuǎn)換結(jié)果

Vivado 綜合工具還可轉(zhuǎn)換比與門及或門更復(fù)雜的門電路。

寄存的門電路

Vivado 還可轉(zhuǎn)換已寄存的門電路。例如,以下編碼風(fēng)格將創(chuàng)建一個寄存器,供另一個寄存器用作時鐘:

42227ce8-2a6a-11f0-9310-92fbcf53809c.png

若首個 clk 信號有適當約束,那么該工具亦可轉(zhuǎn)換此類門電路。例如:

create_clock -period 5 [get_ports clk]

4235b498-2a6a-11f0-9310-92fbcf53809c.png

圖 9:用作時鐘的寄存器的細化視圖

轉(zhuǎn)換后如下所示:

424499d6-2a6a-11f0-9310-92fbcf53809c.png

圖 10:寄存的門電

時鐘分頻器(1 位)

Vivado 還可處理更復(fù)雜的門電路,例如,時鐘分頻器。

此時鐘的代碼如下所示:

425e7c3e-2a6a-11f0-9310-92fbcf53809c.png

該模塊會將輸入時鐘“clk_in”分頻,得到一個新時鐘“clk_out_div_2”,速度減半。

這兩個時鐘均被指定為模塊輸出。設(shè)計其余部分會使用這兩個時鐘來驅(qū)動設(shè)計中的時序元件。

4275040e-2a6a-11f0-9310-92fbcf53809c.png

圖 11:時鐘分頻器

由于此類時鐘頻率不同,因此需使用生成時鐘約束。

428bb7b2-2a6a-11f0-9310-92fbcf53809c.png

這些約束會基于輸入 clk_in 創(chuàng)建另一個名為 clk_in 的時鐘,其周期為 2.5 ns。

隨后,它會創(chuàng)建另一個新時鐘,其頻率為 clk_in 一半,其時鐘源為 div_2_reg 觸發(fā)器的 Q 管腳。

若不轉(zhuǎn)換時鐘而直接綜合并檢查時序,會發(fā)現(xiàn)由 div_2_reg 時鐘驅(qū)動的寄存器路徑的周期均為 5 ns。

命令示例:

report_timing -name timing -to out1_2_reg/D

該工具將返回:

4298a2ec-2a6a-11f0-9310-92fbcf53809c.png

圖 12:無時鐘門控的 2 分頻時鐘的時序報告

若以時鐘門控來運行相同的設(shè)計,會引發(fā)問題。

新網(wǎng)表如下所示:

42b7633a-2a6a-11f0-9310-92fbcf53809c.png

圖 13:時鐘分頻器上的門控時鐘轉(zhuǎn)換

如您所見,所有寄存器現(xiàn)在均由原始時鐘驅(qū)動,但若在新寄存器上執(zhí)行 report_timing,那么其周期會從 5 ns 變?yōu)?2.5 ns。原因在于 div_2_reg/Q 的時鐘路徑不再驅(qū)動寄存器時鐘管腳,導(dǎo)致生成時鐘命令不再影響時序分析。

為修復(fù)此問題,Vivado 綜合工具為您提供了錨點以創(chuàng)建新的生成時鐘約束。 在上圖中,請注意時鐘線產(chǎn)生分叉,并穿過一個新的層次,該層次只驅(qū)動完成時鐘轉(zhuǎn)換的寄存器。 此外,綜合 log 日志文件將為您提供該錨點名稱以及需置于 XDC 文件內(nèi)的新命令,以確保輸出的時序正確無誤。

42d69fd4-2a6a-11f0-9310-92fbcf53809c.png

圖 14:時鐘分頻器的日志文件

時鐘分頻器(多個位使用同一計數(shù)器)

除時鐘分頻器外,計數(shù)器也可用作時鐘。 例如,一個 4 位計數(shù)器可生成 4 個不同時鐘。 即,2 分頻、4 分頻、8 分頻和 16 分頻。

42eabe6a-2a6a-11f0-9310-92fbcf53809c.png

這些計數(shù)器可用于創(chuàng)建時鐘,具體用法如下:

43000978-2a6a-11f0-9310-92fbcf53809c.png

圖 15:使用計數(shù)器作為時鐘生成器

開啟門控時鐘轉(zhuǎn)換后的運行結(jié)果如下:

431f010c-2a6a-11f0-9310-92fbcf53809c.png

圖 16:含計數(shù)器的門控時鐘轉(zhuǎn)換

請注意,這樣會為每個新時鐘創(chuàng)建饋通錨點。

在 log 日志中也提供了相關(guān)報告以供后續(xù)運行使用。

432f1fc4-2a6a-11f0-9310-92fbcf53809c.png

圖 17:計數(shù)器充當門控時鐘的日志文件

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

    關(guān)注

    1650

    文章

    22207

    瀏覽量

    626882
  • amd
    amd
    +關(guān)注

    關(guān)注

    25

    文章

    5625

    瀏覽量

    138415
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5495

    瀏覽量

    127794
  • 時鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1946

    瀏覽量

    134127
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    844

    瀏覽量

    70074

原文標題:開發(fā)者分享|AMD Vivado? Design Tool 綜合中的門控時鐘轉(zhuǎn)換

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何使用One Spin檢查AMD Vivado Design Suite Synth的結(jié)果

    本文講述了如何使用 One Spin 檢查 AMD Vivado Design Suite Synth 的結(jié)果(以 Vivado 2024.2 為例)。
    的頭像 發(fā)表于 05-19 14:22 ?840次閱讀
    如何使用One Spin檢查<b class='flag-5'>AMD</b> <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> Suite Synth的結(jié)果

    《電子發(fā)燒友電子設(shè)計周報》聚焦硬科技領(lǐng)域核心價值 第11期:2025.05.12--2025.05.16

    。 7、AMD Vivado Design Tool綜合
    發(fā)表于 05-16 19:47

    來自vivado hls的RTL可以由Design Compiler進行綜合嗎?

    您好我有一個關(guān)于vivado hls的問題。RTL是否來自xivix FPGA的vivado hls onyl?我們可以在Design Compiler上使用它進行綜合嗎?謝謝
    發(fā)表于 04-13 09:12

    當邏輯門控無法映射到Vivado的一個時鐘區(qū)域時,BUFHCTRL能夠復(fù)制自身并將邏輯映射到多個時鐘區(qū)域嗎?

    邏輯門控無法映射到Vivado的一個時鐘區(qū)域時,BUFHCTRL能夠復(fù)制自身并將邏輯映射到多個時鐘區(qū)域嗎?謝謝,雨翔
    發(fā)表于 07-27 14:26

    什么是門控時鐘 門控時鐘降低功耗的原理

    門控時鐘的設(shè)計初衷是實現(xiàn)FPGA的低功耗設(shè)計,本文從什么是門控時鐘門控時鐘實現(xiàn)低功耗的原理、推
    的頭像 發(fā)表于 09-23 16:44 ?1.5w次閱讀
    什么是<b class='flag-5'>門控</b><b class='flag-5'>時鐘</b> <b class='flag-5'>門控</b><b class='flag-5'>時鐘</b>降低功耗的原理

    FPGA原型平臺門控時鐘自動轉(zhuǎn)換

    現(xiàn)代FPGA綜合工具會自動執(zhí)行門控時鐘轉(zhuǎn)換,而無需更改RTL代碼的設(shè)計,然而,我們可能需要適當?shù)厥謩又笇?dǎo)
    的頭像 發(fā)表于 05-23 17:38 ?2556次閱讀
    FPGA原型平臺<b class='flag-5'>門控</b><b class='flag-5'>時鐘</b>自動<b class='flag-5'>轉(zhuǎn)換</b>

    Vivado Design Suite用戶指南:綜合

    電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:綜合.pdf》資料免費下載
    發(fā)表于 09-13 15:47 ?0次下載
    <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> Suite用戶指南:<b class='flag-5'>綜合</b>

    Vivado Design Suite用戶指南:I/O和時鐘規(guī)劃

    電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:I/O和時鐘規(guī)劃.pdf》資料免費下載
    發(fā)表于 09-13 15:10 ?2次下載
    <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> Suite用戶指南:I/O和<b class='flag-5'>時鐘</b>規(guī)劃

    如何在AMD Vivado? Design Tool中用工程模式使用DFX流程?

    本文介紹了在 AMD Vivado? Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的過程
    的頭像 發(fā)表于 04-17 09:28 ?1944次閱讀
    如何在<b class='flag-5'>AMD</b> <b class='flag-5'>Vivado</b>? <b class='flag-5'>Design</b> <b class='flag-5'>Tool</b>中用工程模式使用DFX流程?

    AMD Versal? Adaptive SoC CPM PCIE PIO EP設(shè)計CED示例

    本文可讓開發(fā)者們看懂 AMD Vivado Design Tool 2023.2 的“AMD
    的頭像 發(fā)表于 05-10 09:39 ?1317次閱讀
    <b class='flag-5'>AMD</b> Versal? Adaptive SoC CPM PCIE PIO EP設(shè)計CED示例

    AMD Vivado Design Suite 2024.1全新推出

    AMD Vivado Design Suite 2024.1 可立即下載。最新版本支持全新 AMD MicroBlaze V 軟核處理器,并針對 QoR 和 Dynamic Funct
    的頭像 發(fā)表于 09-18 09:41 ?1093次閱讀

    U50的AMD Vivado Design Tool flow設(shè)置

    AMD Alveo 加速卡使用有兩種流程,AMD Vitis Software Platform flow 和 AMD Vivado Design
    的頭像 發(fā)表于 11-13 10:14 ?1194次閱讀
    U50的<b class='flag-5'>AMD</b> <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> <b class='flag-5'>Tool</b> flow設(shè)置

    AMD Vivado Design Suite 2024.2全新推出

    AMD Vivado Design Suite 2024.2 全新推出,使用 AMD Versal Adaptive SoC 進行設(shè)計的重大改進。此版本為
    的頭像 發(fā)表于 11-22 13:54 ?1319次閱讀

    AMD Vivado Design Suite IDE的設(shè)計分析簡介

    本文檔涵蓋了如何驅(qū)動 AMD Vivado Design Suite 來分析和改善您的設(shè)計。
    的頭像 發(fā)表于 02-19 11:22 ?791次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> Suite IDE<b class='flag-5'>中</b>的設(shè)計分析簡介

    AMD Vivado Design Suite 2025.1現(xiàn)已推出

    AMD Vivado Design Suite 2025.1 現(xiàn)已推出,支持 AMD Spartan UltraScale+ 和新一代 Versal 器件。這一最新版本還新增了多項功能
    的頭像 發(fā)表于 06-16 15:16 ?1034次閱讀