新聞中心

        EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > DCM和DLL使用帶來的思考

        DCM和DLL使用帶來的思考

        作者: 時(shí)間:2012-04-08 來源:網(wǎng)絡(luò) 收藏

        一直以為說得都是一個(gè)東西,使用了才知道Xilinx的時(shí)鐘管理策略還真得蠻多的,雖說基本的原理上都有點(diǎn)大同小異。

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

          

          圖1

          先說,字面上理解就是數(shù)字時(shí)鐘管理單元,主要完成時(shí)鐘的同步、移相、分頻、倍頻和去抖動(dòng)等。而是數(shù)字延遲鎖相環(huán)的意思,是通過長的延時(shí)線達(dá)到對(duì)時(shí)鐘偏移量的調(diào)節(jié),而這個(gè)調(diào)節(jié)是通過比對(duì)反饋回來的時(shí)鐘信號(hào)實(shí)現(xiàn)同步輸出的。實(shí)際上不止結(jié)構(gòu)這么簡單,它還包括了DFSDPSDSS等組件。官方的說法如下:

          The digital clock manager (DCM) component implements a clock delay locked loop (DLL), a digital frequency synthesizer (DFS), digital phase shifter (DPS), and a digital spread spectrum (DSS).

          Xilinx早期的Virtex器件不提供DCM資源,只有CLKDLL,這個(gè)CLKDLL實(shí)現(xiàn)的時(shí)鐘輸出相對(duì)單一,但是基本的時(shí)鐘偏斜的優(yōu)化效果還是可以達(dá)到的。簡單的插入語言模板進(jìn)行例化就可以了。需要注意的是時(shí)鐘反饋信號(hào)CLKFB不能夠直接和時(shí)鐘輸出CLK0連接,必須讓CLK0先BUFG一下。可以如下進(jìn)行例化(不使用的時(shí)鐘可以空著):

          CLKDLL #(

          .CLKDV_DIVIDE(2.0), // Divide by: 1.5,2.0,2.5,3.0,4.0,5.0,8.0 or 16.0

          .DUTY_CYCLE_CORRECTION(TRUE), // Duty cycle correction, TRUE or FALSE

          .FACTORY_JF(16'hC080), // FACTORY JF Values

          .STARTUP_WAIT(FALSE) // Delay config DONE until DLL LOCK, TRUE/FALSE

          )

          CLKDLL_inst (

          .CLK0(clk0), // 0 degree DLL CLK output

          .CLK180(clk180), // 180 degree DLL CLK output

          .CLK270(clk270), // 270 degree DLL CLK output

          .CLK2X(clk2x), // 2X DLL CLK output

          .CLK90(clk90), // 90 degree DLL CLK output

          .CLKDV(clkdv), // Divided DLL CLK out (CLKDV_DIVIDE)

          .LOCKED(locked), // DLL LOCK status output

          .CLKFB(clk00), // DLL clock feedback

          .CLKIN(clk), // Clock input (from IBUFG, BUFG or DLL)

          .RST(!rst_n) // DLL asynchronous reset input

          );  // BUFG : In order to incorporate this function into the design,

          // Verilog : the following instance declaration needs to be placed

          // instance : in the body of the design code. The instance name

          // declaration : (BUFG_inst) and/or the port declarations within the

          // code : parenthesis may be changed to properly reference and

          // : connect this function to the design. All inputs

          // : and outputs must be connected.

          // -----Cut code below this line---->

          // BUFG: Global Clock Buffer (source by an internal signal)

          // All FPGAs

          // Xilinx HDL Language Template, version 9.1i

          BUFG BUFG_inst (

          .O(clk00), // Clock buffer output

          .I(clk0) // Clock buffer input

          );

          // End of BUFG_inst instantiation

          黃色:clk00 綠色:clkdv(2分頻時(shí)鐘)

          點(diǎn)擊看大圖


        上一頁 1 2 3 下一頁

        關(guān)鍵詞: DCM DLL 帶來

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 廊坊市| 尉氏县| 搜索| 龙陵县| 伊宁市| 利辛县| 离岛区| 阜南县| 昭通市| 岗巴县| 麻栗坡县| 双鸭山市| 大丰市| 东明县| 嘉鱼县| 淮滨县| 新郑市| 乌拉特前旗| 都匀市| 闽清县| 额尔古纳市| 台中市| 义马市| 河北区| 达州市| 无锡市| 岐山县| 富阳市| 瓮安县| 阿拉善左旗| 临海市| 武鸣县| 黔西| 海林市| 清新县| 托里县| 松桃| 平顺县| 文安县| 香河县| 科技|