<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > FPGA DCM時(shí)鐘管理單元原理簡(jiǎn)介

FPGA DCM時(shí)鐘管理單元原理簡(jiǎn)介

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

概述
內部是DLL(Delay Lock Loop(?)結構,對偏移量的調節是通過(guò)長(cháng)的延時(shí)線(xiàn)形成的。的參數里有一個(gè)PHASESHIFT(相移),可以從0變到255。所以我們可以假設內部結構里從clkin到clk_1x之間應該有256根延時(shí)線(xiàn)(實(shí)際上,由于對不同頻率的都可以從0變到255,延時(shí)線(xiàn)的真正數目應該比這個(gè)大得多)。DCM總會(huì )把輸入clkin和反饋時(shí)鐘clkfb相比較,如果它們的延時(shí)差不等于所設置的PHASESHIFT,DCM就會(huì )改變在clkin和clk_1x之間的延時(shí)線(xiàn)數目,直到相等為止。這個(gè)從不等到相等所花的時(shí)間,就是輸出時(shí)鐘鎖定的時(shí)間,相等以后,lock_flag標識才會(huì )升高。
當DCM發(fā)現clkin和clkfb位相差不等于PHASESHIFT的時(shí)候,卻去調節clk_1x和clkin之間延時(shí),所以如果clk_1x和clkfb不相關(guān)的話(huà),那就永遠也不能鎖定了。呵呵。

本文引用地址:http://dyxdggzs.com/article/149349.htm

如何使用DCM
DCM一般和BUFG配合使用,要加上BUFG,應該是為了增強時(shí)鐘的驅動(dòng)能力。DCM的一般使用方法是,將其輸出clk_1x接在BUFG的輸入引腳上,BUFG的輸出引腳反饋回來(lái)接在DCM的反饋時(shí)鐘腳CLKFB上。另外,在里,只有BUFG的輸出引腳接在時(shí)鐘網(wǎng)絡(luò )上,所以一般來(lái)說(shuō)你可以不使用DCM,但你一定會(huì )使用BUFG。有些兄弟總喜歡直接將外部輸入的時(shí)鐘驅動(dòng)內部的寄存器,其實(shí)這個(gè)時(shí)候雖然你沒(méi)有明顯地例化BUFG,但工具會(huì )自動(dòng)給你加上的。

使用DCM可以消除時(shí)鐘skew
使用DCM可以消除時(shí)鐘skew。這個(gè)東西一直是我以前所沒(méi)有想清楚的,時(shí)鐘從DCM輸出開(kāi)始走線(xiàn)到寄存器,這段skew的時(shí)間總是存在的,為什么用DCM就可以消除呢?直到有一天忽然豁然開(kāi)朗,才明白其原委。對高手來(lái)說(shuō),也許是極為easy的事情,但也許有些朋友并不一定了解,所以寫(xiě)出來(lái)和大家共享。
為說(shuō)明方便起見(jiàn),我們將BUFG的輸出引腳叫做clk_o,從clk_o走全局時(shí)鐘布線(xiàn)到寄存器時(shí)叫做clk_o_reg,從clk_o走線(xiàn)到DCM的反饋引腳CLKFB上時(shí)叫clkfb,如圖所示。實(shí)際上clk_o, clk_o_reg, clkfb全部是用導線(xiàn)連在一起的。所謂時(shí)鐘skew,指的就是clk_o到clk_o_reg之間的延時(shí)。如果打開(kāi)_Editor看底層的結構,就可以發(fā)現雖然DCM和BUFG離得很近,但是從clk_o到clkfb卻繞了很長(cháng)一段才走回來(lái),從而導致從clk_o到clk_o_reg和clkfb的延時(shí)大致相等??傊褪莄lk_o_reg和clkfb的相位應該相等。所以當DCM調節clkin和clkfb的相位相等時(shí),實(shí)際上就調節了clkin和clk_o_reg相等。而至于clk_1x和clk_o的相位必然是超前于clkin, clkfb, clk_o_reg的,而clk_1x和clk_o之間的延時(shí)就很明顯,就是經(jīng)過(guò)那個(gè)BUFG的延遲時(shí)間。

對時(shí)鐘skew的進(jìn)一步討論
最后,說(shuō)一說(shuō)時(shí)鐘skew的概念。時(shí)鐘skew實(shí)際上指的是時(shí)鐘驅動(dòng)不同的寄存器時(shí),由于寄存器之間可能會(huì )隔得比較遠,所以時(shí)鐘到達不同的寄存器的時(shí)間可能會(huì )不一樣,這個(gè)時(shí)間差稱(chēng)為時(shí)鐘skew。這種時(shí)鐘skew可以通過(guò)時(shí)鐘樹(shù)來(lái)解決,也就是使時(shí)鐘布線(xiàn)形成一種樹(shù)狀結構,使得時(shí)鐘到每一個(gè)寄存器的距離是一樣的。很多芯片里就布了這樣的時(shí)鐘樹(shù)結構。也就是說(shuō),在這種芯片里,時(shí)鐘skew基本上是不存在的。
說(shuō)到這里,似乎有了一個(gè)矛盾,既然時(shí)鐘skew的問(wèn)題用時(shí)鐘樹(shù)就解決了,那么為什么還需要DCM+BUFG來(lái)解決這個(gè)問(wèn)題?另外,既然時(shí)鐘skew指的時(shí)時(shí)鐘驅動(dòng)不同寄存器之間的延時(shí),那么上面所說(shuō)的clk_o到clk_o_reg豈非不能稱(chēng)為時(shí)鐘skew?
先說(shuō)后一個(gè)問(wèn)題。在一塊FPGA內部,時(shí)鐘skew問(wèn)題確實(shí)已經(jīng)被FPGA的時(shí)鐘方案樹(shù)解決,在這個(gè)前提下clk_o到clk_o_reg充其量只能叫做時(shí)鐘延時(shí),而不能稱(chēng)之為時(shí)鐘skew??上У氖荈PGA的設計不可能永遠只在內部做事情,它必然和外部交換數據。例如從外部傳過(guò)來(lái)一個(gè)32位的數據以及隨路時(shí)鐘,數據和隨路時(shí)鐘之間滿(mǎn)足建立保持時(shí)間關(guān)系(Setup Hold time),你如何將這32位的數據接收進(jìn)來(lái)?如果你不使用DCM,直接將clkin接在BUFG的輸入引腳上,那么從你的clk_o_reg就必然和clkin之間有個(gè)延時(shí),那么你的clk_o_reg還能保持和進(jìn)來(lái)的數據之間的建立保持關(guān)系嗎?顯然不能。相反,如果你采用了DCM,接上反饋時(shí)鐘,那么clk_o_reg和clkin同相,就可以利用它去鎖存進(jìn)來(lái)的數據??梢?jiàn),DCM+BUFG的方案就是為了解決這個(gè)問(wèn)題。而這個(gè)時(shí)候clk_o到clk_o_reg的延時(shí),我們可以看到做內部寄存器和其他芯片傳過(guò)來(lái)的數據之間的時(shí)鐘skew。
由此,我們可以得出一個(gè)推論,從晶振出來(lái)的時(shí)鐘作為FPGA的系統時(shí)鐘時(shí),我們可以不經(jīng)過(guò)DCM,而直接接到BUFG上就可以,因為我們并不在意從clkin到clk_o_reg的這段延時(shí)。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>