FPGA全局時(shí)鐘資源相關(guān)原語及其使用
全局時(shí)鐘資源的使用方法(五種)
IBUFG后面連接BUFG的方法是最基本的全局時(shí)鐘資源使用方法,由于IBUFG組合BUFG相當(dāng)于BUFGP,所以在這種使用方法也稱為BUFGP方法。
2. IBUFGDS + BUFG的使用方法:
當(dāng)輸入時(shí)鐘信號(hào)為差分信號(hào)時(shí),需要使用IBUFGDS代替IBUFG。
3. IBUFG + DCM + BUFG的使用方法:
這種使用方法最靈活,對全局時(shí)鐘的控制更加有效。通過DCM模塊不僅僅能對時(shí)鐘進(jìn)行同步、移相、分頻和倍頻等變換,而且可以使全局時(shí)鐘的輸出達(dá)到無抖動(dòng)延遲。
4. Logic + BUFG的使用方法:
BUFG不但可以驅(qū)動(dòng)IBUFG的輸出,還可以驅(qū)動(dòng)其它普通信號(hào)的輸出。當(dāng)某個(gè)信號(hào)(時(shí)鐘、使能、快速路徑)的扇出非常大,并且要求抖動(dòng)延遲最小時(shí),可以使用BUFG驅(qū)動(dòng)該信號(hào),使該信號(hào)利用全局時(shí)鐘資源。但需要注意的是,普通IO的輸入或普通片內(nèi)信號(hào)進(jìn)入全局時(shí)鐘布線層需要一個(gè)固有的延時(shí),一般在10ns左右,即普通IO和普通片內(nèi)信號(hào)從輸入到BUFG輸出有一個(gè)約10ns左右的固有延時(shí),但是BUFG的輸出到片內(nèi)所有單元(IOB、CLB、選擇性塊RAM)的延時(shí)可以忽略不計(jì)為“0”ns。
5. LOGIC + DCM + BUFG的使用方法:
DCM同樣也可以控制并變換普通時(shí)鐘信號(hào),即DCM的輸入也可以是普通片內(nèi)信號(hào)。使用全局時(shí)鐘資源的注意事項(xiàng)全局時(shí)鐘資源必須滿足的重要原則是:使用IBUFG或IBUFGDS的充分必要條件是信號(hào)從專用全局時(shí)鐘管腳輸入。換言之,當(dāng)某個(gè)信號(hào)從全局時(shí)鐘管腳輸入,不論它是否為時(shí)鐘信號(hào),都必須使用IBUFG或IBUFGDS;如果對某個(gè)信號(hào)使用了IBUFG或IBUFGDS硬件原語,則這個(gè)信號(hào)必定是從全局時(shí)鐘管腳輸入的。如果違反了這條原則,那么在布局布線時(shí)會(huì)報(bào)錯(cuò)。這條規(guī)則的使用是由FPGA的內(nèi)部結(jié)構(gòu)決定的:IBUFG和IBUFGDS的輸入端僅僅與芯片的專用全局時(shí)鐘輸入管腳有物理連接,與普通IO和其它內(nèi)部CLB等沒有物理連接。另外,由于BUFGP相當(dāng)于IBUFG和BUFG的組合,所以BUFGP的使用也必須遵循上述的原則。
全局時(shí)鐘資源的例化方法
全局時(shí)鐘資源的例化方法大致可分為兩種:
一是在程序中直接例化全局時(shí)鐘資源;
二是通過綜合階段約束或者實(shí)現(xiàn)階段約束實(shí)現(xiàn)對全局時(shí)鐘資源的使用;
第一種方法比較簡單,用戶只需按照前面講述的5種全局時(shí)鐘資源的基本使用方法編寫代碼或者繪制原理圖即可。
第二方法是通過綜合階段約束或?qū)崿F(xiàn)階段的約束完成對全局時(shí)鐘資源的調(diào)用,這種方法根據(jù)綜合工具和布局布線工具的不同而異。
評(píng)論