一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

本文作者:AMD 工程師Alan Schuler

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

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

圖 1:使用與門進(jìn)行時(shí)鐘門控

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

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

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

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

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

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

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

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

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

控制門控時(shí)鐘

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

create_clock -period 5 [get_ports clk]

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

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

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

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

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

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

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

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

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

基礎(chǔ)門電路

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

RTL 代碼示例:

assign my_clk = clk1 & gate1 & gate2;

此代碼通過兩個(gè)不同使能信號對時(shí)鐘進(jìn)行門控,細(xì)化視圖如下:

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

圖 5:含與門的時(shí)鐘門控

綜合時(shí),如果開啟了門控時(shí)鐘轉(zhuǎn)換,并將 gated_clock_conversion 設(shè)置為 auto(自動),clk1 占一個(gè)時(shí)鐘周期,或在 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:在時(shí)鐘電路中使用或門

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

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

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

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

寄存的門電路

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

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

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

create_clock -period 5 [get_ports clk]

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

圖 9:用作時(shí)鐘的寄存器的細(xì)化視圖

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

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

圖 10:寄存的門電

時(shí)鐘分頻器(1 位)

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

此時(shí)鐘的代碼如下所示:

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

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

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

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

圖 11:時(shí)鐘分頻器

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

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

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

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

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

命令示例:

report_timing -name timing -to out1_2_reg/D

該工具將返回:

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

圖 12:無時(shí)鐘門控的 2 分頻時(shí)鐘的時(shí)序報(bào)告

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

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

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

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

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

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

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

圖 14:時(shí)鐘分頻器的日志文件

時(shí)鐘分頻器(多個(gè)位使用同一計(jì)數(shù)器)

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

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

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

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

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

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

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

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

請注意,這樣會為每個(gè)新時(shí)鐘創(chuàng)建饋通錨點(diǎn)。

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

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

圖 17:計(jì)數(shù)器充當(dāng)門控時(shí)鐘的日志文件

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

    關(guān)注

    1646

    文章

    22054

    瀏覽量

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

    關(guān)注

    25

    文章

    5589

    瀏覽量

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

    關(guān)注

    31

    文章

    5435

    瀏覽量

    124607
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1902

    瀏覽量

    133261
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    835

    瀏覽量

    68829

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎ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 ?524次閱讀
    如何使用One Spin檢查<b class='flag-5'>AMD</b> <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> Suite Synth的結(jié)果

    XOR自門控時(shí)鐘門控的不同之處

    時(shí)鐘XOR自門控(Self Gating)基本思路和時(shí)鐘門控類似,都是當(dāng)寄存器的數(shù)據(jù)保持不變時(shí),通過關(guān)閉某些寄存器的
    的頭像 發(fā)表于 01-02 11:34 ?2522次閱讀
    XOR自<b class='flag-5'>門控</b>與<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>門控</b>的不同之處

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

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

    來自vivado hls的RTL可以由Design Compiler進(jìn)行綜合嗎?

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

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

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

    什么是門控時(shí)鐘 門控時(shí)鐘降低功耗的原理

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

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

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

    Vivado Design Suite用戶指南:綜合

    電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:綜合.pdf》資料免費(fèi)下載
    發(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和時(shí)鐘規(guī)劃

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

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

    本文介紹了在 AMD Vivado? Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的過程
    的頭像 發(fā)表于 04-17 09:28 ?1622次閱讀
    如何在<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 Vivado Design Suite 2024.1全新推出

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

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

    AMD Alveo 加速卡使用有兩種流程,AMD Vitis Software Platform flow 和 AMD Vivado Design
    的頭像 發(fā)表于 11-13 10:14 ?887次閱讀
    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 進(jìn)行設(shè)計(jì)的重大改進(jìn)。此版本為
    的頭像 發(fā)表于 11-22 13:54 ?1065次閱讀

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

    本文檔涵蓋了如何驅(qū)動 AMD Vivado Design Suite 來分析和改善您的設(shè)計(jì)。
    的頭像 發(fā)表于 02-19 11:22 ?597次閱讀
    <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è)計(jì)分析簡介

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

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