FPGA全局時(shí)鐘資源相關(guān)原語及其使用
FPGA全局時(shí)鐘資源一般使用全銅層工藝實(shí)現(xiàn),并設(shè)計(jì)了專用時(shí)鐘緩沖與驅(qū)動(dòng)結(jié)構(gòu),從而使全局時(shí)鐘到達(dá)芯片內(nèi)部的所有可配置單元(CLB)、I/O單元(IOB)和選擇性塊RAM(Block Select RAM)的時(shí)延和抖動(dòng)都為最小。為了適應(yīng)復(fù)雜設(shè)計(jì)的需要,Xilinx的FPGA中集成的專用時(shí)鐘資源與數(shù)字延遲鎖相環(huán)(DLL)的數(shù)目不斷增加,最新的Virtex II器件最多可以提供16個(gè)全局時(shí)鐘輸入端口和8個(gè)數(shù)字時(shí)鐘管理模塊(DCM)。
與全局時(shí)鐘資源相關(guān)的原語常用的與全局時(shí)鐘資源相關(guān)的Xilinx器件原語包括:IBUFG、IBUFGDS、BUFG、BUFGP、BUFGCE、BUFGMUX、BUFGDLL和DCM等。
1. IBUFG即輸入全局緩沖,是與專用全局時(shí)鐘輸入管腳相連接的首級(jí)全局緩沖。所有從全局時(shí)鐘管腳輸入的信號(hào)必須經(jīng)過IBUF元,否則在布局布線時(shí)會(huì)報(bào)錯(cuò)。IBUFG支持AGP、CTT、GTL、GTLP、HSTL、LVCMOS、LVDCI、LVDS、LVPECL、LVTTL、PCI、PCIX和SSTL等多種格式的IO標(biāo)準(zhǔn)。
2. IBUFGDS是IBUFG的差分形式,當(dāng)信號(hào)從一對差分全局時(shí)鐘管腳輸入時(shí),必須使用IBUFGDS作為全局時(shí)鐘輸入緩沖。IBUFG支持BLVDS、LDT、LVDSEXT、LVDS、LVPECL和ULVDS等多種格式的IO標(biāo)準(zhǔn)。
3. BUFG是全局緩沖,它的輸入是IBUFG的輸出,BUFG的輸出到達(dá)FPGA內(nèi)部的IOB、CLB、選擇性塊RAM的時(shí)鐘延遲和抖動(dòng)最小。
4. BUFGCE是帶有時(shí)鐘使能端的全局緩沖。它有一個(gè)輸入I、一個(gè)使能端CE和一個(gè)輸出端O。只有當(dāng)BUFGCE的使能端CE有效(高電平)時(shí),BUFGCE才有輸出。
5. BUFGMUX是全局時(shí)鐘選擇緩沖,它有I0和I1兩個(gè)輸入,一個(gè)控制端S,一個(gè)輸出端O。當(dāng)S為低電平時(shí)輸出時(shí)鐘為I0,反之為I1。需要指出的是BUFGMUX的應(yīng)用十分靈活,I0和I1兩個(gè)輸入時(shí)鐘甚至可以為異步關(guān)系。
6. BUFGP相當(dāng)于IBUG加上BUFG。
7. BUFGDLL是全局緩沖延遲鎖相環(huán),相當(dāng)于BUFG與DLL的結(jié)合。BUFGDLL在早期設(shè)計(jì)中經(jīng)常使用,用以完成全局時(shí)鐘的同步和驅(qū)動(dòng)等功能。隨著數(shù)字時(shí)鐘管理單元(DCM)的日益完善,目前BUFGDLL的應(yīng)用已經(jīng)逐漸被DCM所取代。
8. DCM即數(shù)字時(shí)鐘管理單元,主要完成時(shí)鐘的同步、移相、分頻、倍頻和去抖動(dòng)等。DCM與全局時(shí)鐘有著密不可分的聯(lián)系,為了達(dá)到最小的延遲和抖動(dòng),幾乎所有的DCM應(yīng)用都要使用全局緩沖資源。DCM可以用Xilinx ISE軟件中的Architecture Wizard直接生成。
評論