新聞中心

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

DCM和DLL使用帶來(lái)的思考

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

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

本文引用地址:http://2s4d.com/article/190536.htm

  

  圖1

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

  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á)到的。簡(jiǎn)單的插入語(yǔ)言模板進(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)擊看大圖


上一頁(yè) 1 2 3 下一頁(yè)

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

評(píng)論


相關(guān)推薦

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

關(guān)閉