組合邏輯生成的時鐘,在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)實(shí)現(xiàn)。這樣做對于降低Clock Skew會有些幫助。
責(zé)任編輯人:CC
-
時鐘
+關(guān)注
關(guān)注
11文章
1747瀏覽量
131803 -
組合邏輯
+關(guān)注
關(guān)注
0文章
47瀏覽量
10073
原文標(biāo)題:如何快速找到組合邏輯生成的時鐘
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
組合邏輯消除競爭
勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載25:組合邏輯與時序邏輯
【技巧分享】時序邏輯和組合邏輯的區(qū)別和使用
在FPGA中何時用組合邏輯或時序邏輯
組合邏輯電路的分析與設(shè)計-邏輯代數(shù)
![<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路的分析與設(shè)計-<b class='flag-5'>邏輯</b>代數(shù)](https://file1.elecfans.com//web2/M00/A4/B5/wKgZomUMNV-AT_H1AAALUYcb8Go756.gif)
實(shí)現(xiàn)拆分大組合邏輯的方法
![實(shí)現(xiàn)拆分大<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>的方法](https://file1.elecfans.com//web2/M00/A5/9D/wKgZomUMOTyAKkDNAAAzLq8soW8814.jpg)
組合邏輯電路和時序邏輯電路比較_組合邏輯電路和時序邏輯電路有什么區(qū)別
![<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ū)別](https://file.elecfans.com/web1/M00/45/8D/o4YBAFpwOm-AeOViAADjgo-gVO0256.jpg)
組合邏輯自動測試生成的PDF文件免費(fèi)下載
![<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>自動測試<b class='flag-5'>生成</b>的PDF文件免費(fèi)下載](https://file.elecfans.com/web1/M00/D1/DF/pIYBAF_FtniACKghAAGbvIqrfck751.png)
組合邏輯電路中的危害
![<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路中的<b class='flag-5'>危害</b>](https://file.elecfans.com//web2/M00/8A/1D/pYYBAGO7sdKAUaNDAAAsX5lOT_8355.jpg)
評論