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

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

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

組合邏輯生成的時鐘有哪些危害

FPGA技術(shù)驛站 ? 來源:CSDN技術(shù)社區(qū) ? 作者:CSDN技術(shù)社區(qū) ? 2020-10-10 10:28 ? 次閱讀

組合邏輯生成的時鐘,在FPGA設(shè)計中應(yīng)該避免,尤其是該時鐘扇出很大或者時鐘頻率較高,即便是該時鐘通過BUFG進(jìn)入全局時鐘網(wǎng)絡(luò)。

組合邏輯生成時鐘的典型特征是在網(wǎng)表中我們能夠看到LUT(查找表)的輸出直接連接或通過BUFG連接到時序邏輯單元比如觸發(fā)器的時鐘端口。最直接的危害是組合邏輯可能會產(chǎn)生毛刺(Glitch),從而導(dǎo)致電路功能錯誤??磦€案例,如下圖所示。由于毛刺的存在,計數(shù)器多計數(shù)了一次,導(dǎo)致錯誤。

從時序角度而言,組合邏輯生成的時鐘會增加時鐘線上的延遲,從而導(dǎo)致過大的Clock Skew,最終造成建立時間和保持時間違例。此外,如果有毛刺,毛刺通常很窄,很可能無法滿足觸發(fā)器的Pulse Width要求。還有的工程中盡管沒有直接把LUT的輸出當(dāng)作時鐘,而是將其通過一個觸發(fā)器之后再用作時鐘,這可以過濾掉毛刺,但同樣會增加時鐘線上的延遲,導(dǎo)致Clock Skew過大。因此,在FPGA設(shè)計中,要避免此類時鐘。

拿到一個網(wǎng)表,如何判定設(shè)計中是否包含此類時鐘呢?從上面的描述可以看到,這類時鐘要么是LUT輸出,要么是觸發(fā)器輸出,這是第一個特征。第二個特殊,既然是時鐘,時鐘網(wǎng)線的類型就是LOCAL_CLOCK,根據(jù)這兩點(diǎn)就能找到時鐘管腳,相應(yīng)的Tcl腳本如下圖所示。

代碼第2行是找到所有的時鐘網(wǎng)線,第3行對該時鐘網(wǎng)線進(jìn)行過濾篩選,凡是與網(wǎng)線相連的pin是輸出端口且其REF_PIN_NAME是O(對應(yīng)LUT輸出)或Q(對應(yīng)觸發(fā)器輸出)的,即為目標(biāo)時鐘端口。代碼第4行則是將找到的對象以圖形界面方式顯示出來。

找到了這類時鐘,如何優(yōu)化呢?如果這類時鐘是在MMCM或PLL可生成頻率范圍內(nèi),那么建議用MMCM或PLL生成,尤其是該時鐘扇出比較大的時候。如果MMCM或PLL無法生成,且時鐘頻率很低,例如低于5MHz,而設(shè)計已經(jīng)到了后期,不太可能大范圍修改,那么嘗試是否可能將該時鐘驅(qū)動的邏輯都放在一個時鐘區(qū)域內(nèi),同時保證時鐘源也在該時鐘區(qū)域內(nèi),這可通過手工布局的方式(畫Pblock)實現(xiàn)。這樣做對于降低Clock Skew會有些幫助。
責(zé)任編輯人:CC

聲明:本文內(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)注

    10

    文章

    1701

    瀏覽量

    131187
  • 組合邏輯
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    10022

原文標(biāo)題:如何快速找到組合邏輯生成的時鐘

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    組合邏輯消除競爭

    本帖最后由 inception1900 于 2015-11-16 14:51 編輯 tmp,tmp_num 是std_logic_vector(15 downto 0),tmp輸入,tmp_num 輸出,如何消除下面VHDL描述組合邏輯出現(xiàn)的競爭(不采用
    發(fā)表于 11-16 14:50

    勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載25:組合邏輯與時序邏輯

    的延時。而在時序邏輯中,該實例除了組合邏輯滿足條件外,只有在時鐘信號clk的每個上升沿輸出z2才會發(fā)生變化。這里一個細(xì)節(jié)大家也需要注意,x
    發(fā)表于 11-17 18:47

    【技巧分享】時序邏輯組合邏輯的區(qū)別和使用

    簡單的例子來區(qū)分學(xué)習(xí)下,如計算c=a+b。在代碼層面,時序邏輯代碼表示如下,可以看到此代碼“posedge“時鐘上升沿,即表示一個D觸發(fā)器,a+b的結(jié)果c是在D觸發(fā)器發(fā)出指令后才進(jìn)
    發(fā)表于 03-01 19:50

    在FPGA中何時用組合邏輯或時序邏輯

    odata也將會比idata延遲一拍,最終結(jié)果為result和odata同步輸出。 · 根據(jù)運(yùn)行速度進(jìn)行選擇 在數(shù)字邏輯電路中,中間某一部分為組合邏輯,兩側(cè)的輸入或者輸出也會對延遲或者輸入的數(shù)據(jù)速率
    發(fā)表于 03-06 16:31

    組合邏輯電路的分析與設(shè)計-邏輯代數(shù)

    組合邏輯電路的分析與設(shè)計-邏輯代數(shù)   在任何時刻,輸出狀態(tài)只決定于同一時刻各輸入狀態(tài)的組合,而與先前狀態(tài)無關(guān)的邏輯電路稱為
    發(fā)表于 04-07 10:07 ?3124次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路的分析與設(shè)計-<b class='flag-5'>邏輯</b>代數(shù)

    實現(xiàn)拆分大組合邏輯的方法

    圖1是很多為了提高系統(tǒng)時鐘采用的拆分大組合邏輯的方法,但是沒有提供具體如何拆分的實例。我覺得實例才是重要的。但我不明白在寫代碼時,如何知道這樣寫會被綜合成一個很
    發(fā)表于 06-05 11:58 ?1025次閱讀
    實現(xiàn)拆分大<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>的方法

    門控時鐘時鐘偏移研究

    所謂門控時鐘就是指連接到觸發(fā)器時鐘端的時鐘來自于組合邏輯;凡是組合
    發(fā)表于 09-07 16:11 ?35次下載
    門控<b class='flag-5'>時鐘</b>與<b class='flag-5'>時鐘</b>偏移研究

    組合邏輯電路和時序邏輯電路比較_組合邏輯電路和時序邏輯電路什么區(qū)別

    組合邏輯電路和時序邏輯電路都是數(shù)字電路,組合邏輯電路在邏輯功能上的特點(diǎn)是任意時刻的輸出僅僅取決于
    發(fā)表于 01-30 17:26 ?9.3w次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路和時序<b class='flag-5'>邏輯</b>電路比較_<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路和時序<b class='flag-5'>邏輯</b>電路<b class='flag-5'>有</b>什么區(qū)別

    什么是組合邏輯電路_組合邏輯的分類

    組合邏輯電路是無記憶數(shù)字邏輯電路,其任何時刻的輸出僅取決于其輸入的組合.
    的頭像 發(fā)表于 06-22 10:53 ?4.9w次閱讀
    什么是<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路_<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>的分類

    組合邏輯自動測試生成的PDF文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是組合邏輯自動測試生成的PDF文件免費(fèi)下載包括了:? 自動測試生成(ATPG)相關(guān)問題 ? 組合(Combinat
    發(fā)表于 12-01 08:00 ?2次下載
    <b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>自動測試<b class='flag-5'>生成</b>的PDF文件免費(fèi)下載

    組合邏輯電路中的危害

    。 在這里,我們將探討靜態(tài) 0 危害、靜態(tài) 1 危害和動態(tài)危害。 什么是邏輯危險? 在復(fù)雜的邏輯電路中,輸出端可能會出現(xiàn)不需要的臨時開關(guān)事件
    的頭像 發(fā)表于 01-27 14:18 ?1542次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路中的<b class='flag-5'>危害</b>

    時序邏輯電路哪些 時序邏輯電路和組合邏輯電路區(qū)別

    時序邏輯電路是一種能夠存儲信息并根據(jù)時鐘信號按照特定順序執(zhí)行操作的電路。它是計算機(jī)硬件中非常重要的一部分,用于實現(xiàn)存儲器、時序控制器等功能。與之相對的是組合邏輯電路,它根據(jù)輸入信號的
    的頭像 發(fā)表于 02-06 11:18 ?8417次閱讀

    組合邏輯控制器的輸入信號哪些

    組合邏輯控制器是一種廣泛應(yīng)用于數(shù)字電路設(shè)計中的控制單元,它根據(jù)輸入信號的狀態(tài)來控制輸出信號的邏輯關(guān)系。組合邏輯控制器的輸入信號種類繁多,包括
    的頭像 發(fā)表于 06-30 10:19 ?503次閱讀

    組合邏輯控制器的設(shè)計步驟是什么

    組合邏輯控制器(Combinatorial Logic Controller)是一種數(shù)字電路,用于根據(jù)輸入信號生成輸出信號。它不包含存儲元件,因此輸出僅取決于當(dāng)前的輸入信號。組合
    的頭像 發(fā)表于 06-30 10:30 ?496次閱讀

    常用的組合邏輯電路哪些

    組合邏輯電路是數(shù)字邏輯電路的一種,其特點(diǎn)是輸出只依賴于當(dāng)前的輸入狀態(tài),而與輸入信號的變化歷史無關(guān)。組合邏輯電路廣泛應(yīng)用于數(shù)字系統(tǒng)中,如計算機(jī)
    的頭像 發(fā)表于 07-30 14:41 ?686次閱讀