- 相關(guān)推薦
使用PLD內(nèi)部鎖相環(huán)解決系統(tǒng)設(shè)計(jì)難題
摘要:從整個(gè)應(yīng)用系統(tǒng)的角度,理解和分析PLD內(nèi)部鎖相環(huán);在此基礎(chǔ)上,深入剖析鎖相環(huán)的相移結(jié)構(gòu),同時(shí)用這個(gè)技術(shù)解決系統(tǒng)設(shè)計(jì)難題。引言
微電子技術(shù)的發(fā)展趨勢(shì)是片上系統(tǒng)(SoC),也就是在一塊芯片上實(shí)現(xiàn)整個(gè)系統(tǒng),包括模擬部分和數(shù)字部分。作為IC產(chǎn)業(yè)中重要的一個(gè)分支,可編程邏輯器件(PLD)也在努力向這個(gè)方向發(fā)展。無論是Xilinx還是Altera,它們最新的PLD產(chǎn)品中都集成了諸如PCI接口、乘法器、MCU核以及DSP核等部件,有的甚至集成了完整的微處理器。例如,Xlinux的Vietex2-Pro系列就是集成了PowerPC微處理器。
鎖相環(huán)技術(shù)是模擬集成電路設(shè)計(jì)中一個(gè)重要的研究方向。但是,現(xiàn)在中高檔的可編程邏輯器件一般都集成有片內(nèi)的鎖相環(huán)(如Xilinx的Spartan2系列,Altera的Cyclone系列)。鎖相環(huán)一端連接外部全局時(shí)鐘或者全局控制信號(hào),另一端連接可編程邏輯器件內(nèi)部專門的布線網(wǎng)絡(luò),可以最大程度地減少全局時(shí)鐘信號(hào)到片內(nèi)各個(gè)部分的布線延遲,有效地消除了時(shí)鐘偏移而帶一的各種問題。同時(shí),鎖相環(huán)一般都提供了倍頻、分頻、相移三個(gè)功能。
1 應(yīng)用背景介紹
本文用FPGA實(shí)現(xiàn)FIFO,連接PCI與TI的TMS320C6204的擴(kuò)展總線,與DSP傳輸數(shù)據(jù)的時(shí)鐘達(dá)到100MHz。由于DSP的接口對(duì)于時(shí)鐘和信號(hào)的要求很苛刻,所以下面具體分析核心的DSP的XBUS時(shí)序。
DSP的擴(kuò)展總線(XBUS)是一個(gè)32位寬的總線,支持與異步外設(shè)、異步/同步FIFO、PCI橋以及外部主控處理器等的接口。它同時(shí)提供一個(gè)靈活的總線仲裁機(jī)制,可以內(nèi)部進(jìn)行仲裁,也可以由外部邏輯完成。
本文中使用XBUS的同步FIFO接口。如果是要讀取FIFO,首先FIFO要通過中斷信號(hào)XINT0來通知XBUS數(shù)據(jù)已經(jīng)準(zhǔn)備好,然后XBUS響應(yīng)XCE0、XRE、XOE有效,就開始讀。疲桑疲现械臄(shù)據(jù),讀FIFO的時(shí)序如圖1所示;如果是要寫FIFO,FIFO通過XINT1申請(qǐng)XBUS,然后XBUS響應(yīng)XCE1、XWE有效,開始一個(gè)寫FIFO的DMA傳輸過程,寫FIFO的時(shí)序如圖2所示。
通過分析XBUS讀寫FIFO的時(shí)序關(guān)系可以看出,在FIFO實(shí)現(xiàn)的過程中需要注意以下幾個(gè)地方:
①XBUS工作時(shí)鐘是100MHz,對(duì)于大部分的FPGA來說是一個(gè)比較高的頻率。而且,由于讀出的數(shù)據(jù)要求一定的建立時(shí)間(setup time)和保持時(shí)間(hold time),這就對(duì)內(nèi)部邏輯的設(shè)計(jì)提出了較高的要求。
②讀FIFO時(shí),必須在使能信號(hào)有效之后的第二個(gè)時(shí)鐘周期就把數(shù)據(jù)輸出。對(duì)于FIFO內(nèi)部的雙端口RAM來說,這個(gè)實(shí)現(xiàn)起來不一定能滿足要求(有很多RAM是在使能信號(hào)只有的3~5個(gè)時(shí)鐘周期才輸出數(shù)據(jù)的)。這樣,通用FIFO中就要考慮產(chǎn)生預(yù)讀邏輯來產(chǎn)生數(shù)據(jù),以滿足XBUS嚴(yán)格的時(shí)序要求。
③XBUS的使能信號(hào)XCE0/XCE1/XRE/XOE/XWE的變化時(shí)間范圍是在時(shí)鐘有效之后的1~7ns,考慮到FPGA內(nèi)部的組合邏輯延時(shí)和布線延時(shí),這樣對(duì)有效信號(hào)的鎖定可能是不穩(wěn)定的。這就為邏輯設(shè)計(jì)帶來了很大的難度。
2 鎖相環(huán)的相移功能
系統(tǒng)時(shí)鐘是100MHz,為了獲得更好的布線效果和系統(tǒng)性能,時(shí)鐘信號(hào)必須經(jīng)過鎖相環(huán)到達(dá)全局時(shí)鐘布線網(wǎng)絡(luò)。同時(shí),鎖相環(huán)還可以提供多個(gè)時(shí)鐘相移的信號(hào),同樣可以連接到全局布線網(wǎng)絡(luò)來驅(qū)動(dòng)片的時(shí)鐘信號(hào)。以Xilinx公司的SPARTAN2系列芯片為例(Altera的Cyclone或者更高級(jí)別的系列也提供了類似的鎖相環(huán)),使用片內(nèi)鎖相環(huán)進(jìn)行時(shí)鐘相移的示意如圖3所示。
相移以后的時(shí)鐘對(duì)于系統(tǒng)設(shè)計(jì)有很大的用處。本文利用了相移以后的時(shí)鐘解決了系統(tǒng)設(shè)計(jì)中的兩個(gè)難點(diǎn),取得了令人滿意的效果:
①用PLL解決使能信號(hào)漂移的難題;
②使用PLL滿足TI的TMS320C62XX系列DSP中XBUS的建立、保持時(shí)間要求。
3 使用PLL解決使能信號(hào)漂移的難題
由于DSP的XBUS響應(yīng)FIFO的中斷XINT0時(shí),需要回復(fù)XRF、XCE0、XOE三個(gè)信號(hào)。只有三個(gè)同時(shí)有效時(shí),才可以讀FIFO,所以讀使能信號(hào)RDEN=not(XCE0 or XRE or XOE);XBUS回復(fù)FIFO中斷信號(hào)XINT1時(shí),需要回復(fù)XWE和XCE1兩個(gè)信號(hào)。只有兩個(gè)信號(hào)時(shí)有效才可以寫FIFO,所以WREN=not(XCE1 or XWE)。
RDEN或者WREN都是由FPGA內(nèi)部組合邏輯產(chǎn)生的,在FPGA內(nèi)部組合邏輯的物理延時(shí)(tc)為3~5ns?紤]到XBUS的使能信號(hào)本身相對(duì)于時(shí)鐘上升沿(td)就有1~7ns,所以使能信號(hào)有效相對(duì)時(shí)鐘上升沿來說可能的變化范圍為4~12ns,如圖4所示。
圖3中,系統(tǒng)經(jīng)過鎖相環(huán)的相移,驅(qū)動(dòng)FPGA內(nèi)部邏輯的時(shí)鐘。相對(duì)于XCLK來說,如果XBUS的回應(yīng)信號(hào)的延時(shí)為1ns(圖4中實(shí)線所示部分),則RDEN經(jīng)過組合邏輯延遲,變?yōu)楦哂行У臅r(shí)候,可以在時(shí)鐘的第一個(gè)上升沿采樣到(圖4中實(shí)線所示);如果XBUS的回應(yīng)信號(hào)延時(shí)為7ns(圖4中虛線所示),則RDEN經(jīng)過組合邏輯延遲以后,只能在第二個(gè)時(shí)鐘的上升延才能采樣到高有效信號(hào)。
【使用PLD內(nèi)部鎖相環(huán)解決系統(tǒng)設(shè)計(jì)難題】相關(guān)文章:
基于PLD的嵌入式系統(tǒng)外存模塊設(shè)計(jì)03-18
基于PLD技術(shù)的MIDI音樂播放控制系統(tǒng)設(shè)計(jì)03-15
“平衡法”解決單位換算的難題03-08
基于TRAC器件的鎖相環(huán)設(shè)計(jì)研究03-19
信息系統(tǒng)內(nèi)部控制審計(jì)初探03-21
論解決民事糾紛的系統(tǒng)工程03-21