新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > DCM簡介及其使用方法

        DCM簡介及其使用方法

        作者: 時間:2012-03-21 來源:網(wǎng)絡(luò) 收藏

        .CLKFX180(CLKFX180), // 180度移相的合成時鐘輸出
        .LOCKED(LOCKED), // 鎖相狀態(tài)輸出信號
        .CLKFB(CLKFB), // 模塊的反饋時鐘信號
        .CLKIN(CLKIN), // DCM模塊的時鐘輸入信號
        .RST(RST) // DCM 模塊的異步復(fù)位信號
        );
        // 結(jié)束DCM_BASE模塊的例化過程
        在綜合結(jié)果分析時,DCM系列原語的RTL結(jié)構(gòu)如圖3-36所示。

        圖3-36 DCM模塊的RTL級結(jié)構(gòu)示意圖

        本文引用地址:http://www.104case.com/article/149373.htm

        Spartan-3 DCM的兼容性
        S3 的DCM和 Virtex-II 以及pro的DCM 功能基本相同。但是S3 DCM的技術(shù)屬于3代技術(shù),因此在抗噪性能、相移能力方面有進一步提高。(客觀的說,對我們的普通應(yīng)用,不是特別重要。)
        但是和Spartan-2系列相比,有很大改進。S2系列不叫DCM叫DLL,可見DFS和PS等功能完全是新加入的,所以S2系列其實除了二倍頻幾乎沒有倍頻和分頻能力。從這點來講,S3真的是用起來很爽了。


        DCM 輸入時鐘的限制
        和所有物理器件一樣,DCM的工作范圍也是受限的。由于DLL和DFS的要求各不相同,因此DCM的輸入頻率的限制也視乎是否同時使用DLL和DFS還是單獨使用其中之一。如果同時使用,則取限制較嚴格者作為整個DCM系統(tǒng)的限制。我們來看兩者的獨立限制。

        呵呵,這部分內(nèi)容不用記哦,需要的時候查一下軟件或者手冊就可以了。只要明白“CLKIN輸入頻率有限制,而且DLL、DFS同時使用時取其嚴格者” 這些道理就可以了。
        除了時鐘限制之外,對于時鐘的質(zhì)量也有一定限制,主要有3個:
        1. CLKIN cycle-to-cycle jitter:約束了前后兩個CLKIN周期的差異;
        2. CLKIN period jitter:約束了100萬個cycle中最大周期和最小周期之間的差異;
        3. CLKFB path delay variation:約束了從外部進來的反饋回路的延遲波動,這種延遲波動在概念上其實和jitter如出一轍。
        具體數(shù)值請查手冊,知道有這么回事就可以了。

        LOCKED信號的行為方式
        LOCKED信號用于指示整個DCM系統(tǒng)已經(jīng)和CLKIN同步,從LOCKED信號有效開始,輸出時鐘才可以使用,在此之前,輸出時鐘可能會處于各種復(fù)雜的不穩(wěn)定狀態(tài)。我們來看一下LOCKED信號的行為狀態(tài)機。
        FPGA配置:
        if (CLKIN已經(jīng)穩(wěn)定) next_state = 判斷同步;
        else next_state = RST_DCM;
        判斷同步:
        if (已經(jīng)同步) next_state = 判斷同步;
        else next_state = 同步失敗;
        同步失敗: next_state = RST_DCM;
        RST_DCM: next_state = FPGA配置;

        現(xiàn)在來看看各個狀態(tài)下的輸出。

        case (state)
        FPGA配置: LOCKED = 0;
        判斷同步: LOCKED = 1;
        同步失敗: LOCKED = 0;
        RST_DCM:LOCKED = 0;
        endcase

        RST 信號——重啟鎖定
        RST信號用于在時鐘不穩(wěn)定或者失去鎖定時,將DCM的相關(guān)功能重置,從而重新啟動鎖定追蹤。
        作為一個輸入信號,RST無法被DCM自身置位,因此需要我們的應(yīng)用設(shè)計來控制這個RST信號,否則需將其接地。
        置位RST會將延遲tap的位置置0,因此可能會產(chǎn)生glitch或者是duty cycle 發(fā)生變化,另外相位偏移也會重置回到默認值。

        DCM 生成向?qū)?br />安裝了ISE就能得到一系列accessories。利用其中的Architecture Wizard 我們可以生成DCM模塊。生成的DCM將產(chǎn)生3種輸出:
        1. 一個例化了DCM的邏輯綜合文件(采用生產(chǎn)商特定格式的VHDL / Verilog)
        2. 一個UCF文件控制特定實現(xiàn)
        3. 所有其他用戶設(shè)置都保存到XAW(Xilinx Architecture Wizard)文件中。

        接下來描述一下向?qū)褂貌襟E。
        1. 從ISE或者Arch wizard中啟動界面;
        2. 第一個頁面做基本配置:路徑、XAW文件名、VHDL / Verilog選擇、綜合工具、FPGA型號;
        3. 進行General setup,一看就明白,不細說,注意一下幾點:
        - CLKIN source 如果選 external 則 DCM 的 CLKIN 會自動連接到 IBUFG。
        - Feedback如果選 internal 則反饋來自 BUFG。
        4. 高級設(shè)置
        - 選擇FPGA的配置過程是否包含DCM的鎖定,如果是,則配置完成信號DONE將在LOCKED信號有效后方能有效。
        - 選擇CLKIN是否要除2。由于DCM的輸入頻率有限,對于過高的輸入時鐘通過除2使之可用。
        - Deskew調(diào)整,這個選項建議在咨詢xilinx工程師后再使用。
        5. 時鐘輸出口 Buffer 設(shè)置
        - 默認情況下所有輸出口都鏈接 BUFG 全局時鐘網(wǎng)絡(luò)入口
        - 由于全局時鐘網(wǎng)絡(luò)的入口有限,用戶可以定制時鐘輸出口連接到其他類型的Buffer
        - Global Buffer:進入全局時鐘網(wǎng)絡(luò)的入口Buffer,共有4個,簡稱BUFG
        - Enabled Buffer:還是上面的4個全局時鐘Buffer,但是配置為有使能信號控制,簡稱BUFGCE
        - Clock MUX:還是上面的4個全局時鐘Buffer,但是配置為 2-to-1 MUX類型,由S信號控制選出,簡稱BUFGMUX
        - Low skew line:沒有buffer了,只能使用 skew 比較小的連線
        - Local Routing:連到本地,skew的要求不是很嚴格
        - None:禁止輸出
        - 對于Enabled Buffer類型和Clock Mux類型,需要指定En口的名字
        - 需要為輸出時鐘信號指定名字或者使用默認
        6. 設(shè)置DFS
        - 設(shè)置目標輸出頻率,然后按calculate,自動生成 M/D 值和 Jitter 值
        - 或者手動設(shè)置 M/D 值,然后按calculate,自動生成頻率和 Jitter 值
        7. 最后輸出所需的3種文件。

        本文翻譯自Using Digital Clock Managers (DCMs) in Spartan-3 FPGAs


        上一頁 1 2 3 下一頁

        關(guān)鍵詞: 使用方法 及其 簡介 DCM

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 贵港市| 类乌齐县| 车致| 榆林市| 安龙县| 鹤庆县| 大兴区| 丰镇市| 大庆市| 抚顺县| 外汇| 靖边县| 双桥区| 崇仁县| 本溪市| 临夏市| 旺苍县| 灌南县| 库尔勒市| 德清县| 台中县| 修文县| 城步| 扎兰屯市| 叙永县| 贡山| 灵石县| 平阴县| 凤台县| 云南省| 连南| 平山县| 鸡东县| 平定县| 松原市| 灵璧县| 平邑县| 东台市| 香河县| 麦盖提县| 剑河县|