版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于FPGA的數(shù)字集成時(shí)鐘電路設(shè)計(jì)方案詳解在當(dāng)前的數(shù)字集成電路設(shè)計(jì)中,同步電路占了絕大部分。所謂同步電路,即電路中的所有寄存器由為數(shù)不多的幾個(gè)全局時(shí)鐘驅(qū)動(dòng),被相同時(shí)鐘信號(hào)驅(qū)動(dòng)的寄存器共同組成一個(gè)時(shí)鐘域,并可認(rèn)為同時(shí)時(shí)鐘域內(nèi)所有寄存器的時(shí)鐘沿同時(shí)到達(dá)。然而,在實(shí)際電路中,同時(shí)鐘域內(nèi)寄存器時(shí)鐘沿的到達(dá)時(shí)間存在偏差,即時(shí)鐘偏差。通過合理的時(shí)鐘設(shè)計(jì),可以減少這種時(shí)鐘偏差,使其相對(duì)時(shí)鐘周期可以忽略不計(jì),從而達(dá)到同步的效果。1ASIC的時(shí)鐘電路在ASIC的電路設(shè)計(jì)中,自動(dòng)布局布線工具使用動(dòng)態(tài)搭建時(shí)鐘緩沖器樹的方法來解決時(shí)鐘偏差問題。其基本思想就是控制時(shí)鐘源與寄存器之間的門延時(shí)與線路延時(shí)。如果同時(shí)鐘域內(nèi)所有寄存器的時(shí)鐘端與時(shí)鐘源之間的路徑,包含大體相同的時(shí)鐘緩沖器個(gè)數(shù)與連線長度,就可以近似地認(rèn)為時(shí)鐘信號(hào)從時(shí)鐘源到各寄存器時(shí)鐘端的延時(shí)是相等的,因此寄存器間的時(shí)鐘偏差可以忽略不計(jì)。ASIC時(shí)鐘樹結(jié)構(gòu)如圖1所示。2FPGA的時(shí)鐘電路隨著FPGA集成度的不斷提升,單片F(xiàn)PGA已經(jīng)可以完成百萬門級(jí)的集成電路設(shè)計(jì)。因此,很多ASIC設(shè)計(jì)可以利用FPGA完成流片前的功能驗(yàn)證。甚至直接使用FPGA進(jìn)行商業(yè)生產(chǎn)。但是,F(xiàn)PGA的特殊結(jié)構(gòu)決定了基于FPGA的設(shè)計(jì)不能直接照搬在ASIC設(shè)計(jì)當(dāng)中的某些經(jīng)驗(yàn),時(shí)鐘設(shè)計(jì)便是其中較突出的一條。ASIC時(shí)鐘樹結(jié)構(gòu)如圖1所示。由于FPGA的生產(chǎn)工藝,在出廠之前,F(xiàn)PGA內(nèi)部元件之間的連線已經(jīng)完全固定。同時(shí),F(xiàn)PGA具有連線延時(shí)相對(duì)門延時(shí)較大的特點(diǎn),造成FPGA并不能通過動(dòng)態(tài)搭建時(shí)鐘緩沖器樹的方法解決時(shí)鐘偏差問題。實(shí)際上,時(shí)鐘樹結(jié)構(gòu)已經(jīng)被預(yù)先固化在芯片當(dāng)中。針對(duì)Xilinx公司的VirtexⅡ系列的FPGA。其時(shí)鐘樹結(jié)構(gòu)如圖2所示。該系列FPGA直接利用單獨(dú)一層銅布線層搭建時(shí)鐘網(wǎng)絡(luò)。所有的時(shí)鐘信號(hào),只能通過處于芯片縱向中軸線上下兩端的16個(gè)BUFGMUX進(jìn)入時(shí)鐘網(wǎng)絡(luò)。所有BUFGMUX輸出端一直延伸到芯片的中心,連接到銅布線層處于芯片中央縱向分布寬度為8的時(shí)鐘總線。縱向時(shí)鐘總線再連接到橫向的8條寬度為8的時(shí)鐘總線,進(jìn)而延伸到每一個(gè)CLB(ConfigurableLogicBlock,可編程邏輯塊)的GRM(GeneralRouteMatrix,通用布線矩陣陣列)上。也就是說,在VirtexⅡ結(jié)構(gòu)的FPGA當(dāng)中,最多可以存在16個(gè)時(shí)鐘域,然而同時(shí)只能存在最多8個(gè)全局時(shí)鐘(上下兩個(gè)對(duì)應(yīng)的BUFGMUX共用一條時(shí)鐘總線)。由于每個(gè)寄存器的時(shí)鐘端都通過橫向和縱向的時(shí)鐘總線連接到位于芯片中央的時(shí)鐘源,而時(shí)鐘源通過相同路徑長度的連線和BUFGMUX連接,因此可以認(rèn)為從同一BUFGMUX出發(fā)的時(shí)鐘信號(hào)到芯片內(nèi)所有寄存器的延時(shí)相同,從而沒有時(shí)鐘偏差,經(jīng)過實(shí)際工程驗(yàn)證,同BUFGMUX構(gòu)成的時(shí)鐘域內(nèi)時(shí)鐘偏差最多不超過0.3ns。3設(shè)計(jì)實(shí)例為了更好的說明FPGA時(shí)鐘電路的使用方法與其特殊的問題,下面將用一個(gè)在VirtexⅡ6000FPGA上實(shí)現(xiàn)的設(shè)計(jì)實(shí)例具體說明時(shí)鐘電路建立的方法。3.1問題分析圖3顯示了在該設(shè)計(jì)當(dāng)中的4個(gè)時(shí)鐘域。這樣的時(shí)鐘結(jié)構(gòu),在ASIC的時(shí)鐘樹設(shè)計(jì)中,并不會(huì)引發(fā)很大的問題。但是在FPGA的設(shè)計(jì)中,如果不加處理,會(huì)引起電路綜合、布局布線的巨大壓力。其主要的問題源于FPGA綜合軟件對(duì)BUFGMUX的自動(dòng)指定,造成門控時(shí)鐘和分頻時(shí)鐘與源時(shí)鐘之間出現(xiàn)較大的時(shí)鐘偏差。一般,綜合軟件可以通過VerilogHDL的“posedge”和“negedge”關(guān)鍵字,或者VHDL當(dāng)中的“event”關(guān)鍵字判斷出時(shí)鐘信號(hào)。然而,綜合工具并沒有判斷門控時(shí)鐘與分頻時(shí)鐘的能力,即就是綜合工具認(rèn)定的時(shí)鐘只能是一根網(wǎng)線,而不能穿越一般的邏輯門。為了讓同時(shí)鐘域的寄存器間沒有時(shí)鐘偏差。綜合工具會(huì)自動(dòng)在時(shí)鐘的源頭為時(shí)鐘信號(hào)指定BUFGMUX,使得時(shí)鐘信號(hào)使用銅布線資源。經(jīng)過綜合工具的自動(dòng)指定,最終會(huì)將圖3當(dāng)中時(shí)鐘結(jié)構(gòu)轉(zhuǎn)換為圖4中的電路結(jié)構(gòu)。正如第2節(jié)所述,F(xiàn)PGA通過其特定的時(shí)鐘網(wǎng)絡(luò),使得時(shí)鐘信號(hào)從BUFGMUX到每個(gè)CLB的時(shí)鐘端沒有時(shí)鐘偏差。但是,此結(jié)構(gòu)的間接后果是為每個(gè)CLB的時(shí)鐘端添加了一個(gè)相同的時(shí)鐘線延時(shí),即從BUFGMUX通過時(shí)鐘網(wǎng)絡(luò)到達(dá)GRM的時(shí)間,在正常情況下,這個(gè)時(shí)間為6-7ns。正是由于這一點(diǎn),在綜合工具自動(dòng)指定BUFGMUX之后,為了實(shí)現(xiàn)CLK_2XG這個(gè)門控時(shí)鐘,必須將CLK_2X時(shí)鐘信號(hào)通過與門,再經(jīng)過BUFGMUX重新連接到時(shí)鐘資源。顯而易見,CLK_2XG時(shí)鐘域的時(shí)鐘信號(hào)相對(duì)時(shí)鐘源CLK_IN來說經(jīng)過了兩次BUFGMUX和CLK_2X的時(shí)鐘域產(chǎn)生了至少6ns的時(shí)鐘偏差。同理,CLK_1XG和CLK_1X相應(yīng)與CLK_2X之間存在12ns和6ns的時(shí)鐘偏差。相對(duì)CLK_2X80MHz的時(shí)鐘頻率,一周期為12.5ns,顯然最大12ns的跨時(shí)鐘域的時(shí)鐘偏差是不能忍受的。從圖5的后仿波形當(dāng)中,可以很明顯地看到這個(gè)時(shí)鐘偏差達(dá)到了13.34ns。3.2解決方案3.2.1門控時(shí)鐘實(shí)際上,BUFGMUX并不是簡單的時(shí)鐘緩沖器,他是一個(gè)具有低時(shí)鐘偏差、高驅(qū)動(dòng)能力并帶有選擇端的雙路選擇器。使用不同的原語進(jìn)行實(shí)例化,BUFGMUX可以構(gòu)成時(shí)鐘選擇器、時(shí)鐘門控器或者簡單的時(shí)鐘緩沖器[1]。盡管BUFGMUX就3種使用方式,但如果讓綜合軟件自動(dòng)在合適的位置指定BUFGMUX,由于綜合軟件只能認(rèn)出網(wǎng)線形式的時(shí)鐘信號(hào),因而只會(huì)使用BUFG的方式使用BUFGMUX,造成了上述的問題。為了去除由于門控時(shí)鐘造成的時(shí)鐘偏差,只能通過手動(dòng)更改代碼,在合適的位置實(shí)例化BUFGMUX。在此例中可以為CLK_2X信號(hào)實(shí)例化BUFG原語,而使用BUFGCE原語替代原來的與門,并直接使用CLK_IN為BUGCE的輸入。這樣CLK_2X和CLK_2XG都只經(jīng)過了一個(gè)BUFGMUX,因此可以近似地認(rèn)為不存在時(shí)鐘偏差。同理CLK_1X和CLK_1XG之間的時(shí)鐘偏差也可以解決。3.2.2分頻時(shí)鐘然而,BUFGMUX的3種使用方式并不能解決分頻寄存器造成的CLK_1X和CLK_2X之間的時(shí)鐘偏差問題。比較簡單的一種方法是使用CLK_IN作為分頻寄存器的輸入,而不對(duì)CLK_2X進(jìn)行分頻。盡管如此,由于分頻寄存器的器件延時(shí)和相應(yīng)的連接線路延時(shí),CLK_2X和CLK_1X之間仍然存在大約2-3ns的時(shí)鐘偏差,對(duì)于某些跨時(shí)鐘域的關(guān)鍵路徑和時(shí)鐘保持(HoldTime)約束來說,仍然過大。另外,由于CLK_IN被分頻寄存器當(dāng)作時(shí)鐘使用,可能會(huì)造成綜合軟件自動(dòng)給CLK_IN指定BUFG,導(dǎo)致所有時(shí)鐘信號(hào)都需要經(jīng)過兩個(gè)BUFGMUX,產(chǎn)生一個(gè)12ns左右的輸入延時(shí)。針對(duì)這種問題,可以使用FPGA當(dāng)中的另一個(gè)特殊資源——DCM(DigitalClockManager,數(shù)字時(shí)鐘管理單元)。DCM當(dāng)中包含一個(gè)DLL(Delay-Lockedloop,延遲鎖定電路),可以提供對(duì)時(shí)鐘信號(hào)的二倍頻和分頻功能,并且能夠維持各輸出時(shí)鐘之間的相位關(guān)系,即零時(shí)鐘偏差(更詳細(xì)的說明可查看參考文獻(xiàn)[1,2]。因此,針對(duì)分頻時(shí)鐘,可以直接利用DCM的分頻功能,從而省去分頻寄存器,徹底地解決了CLK_2X和CLK_1X之間的時(shí)鐘偏差。不過更合適的選擇是使用DCM的倍頻功能,這樣只需要為FPGA準(zhǔn)備一個(gè)40MHz的低頻時(shí)鐘輸入,相對(duì)80MHz要更容易實(shí)現(xiàn)。3.2.3最終實(shí)現(xiàn)通過BUFGMUX和DCM的使用,可以將圖4改造為圖6所示的電路結(jié)構(gòu)。改造后,每個(gè)時(shí)鐘域的時(shí)鐘信號(hào)和信號(hào)源CLK_IN之間都只通過一個(gè)DCM和一個(gè)BUFGMUX,他們之間的時(shí)鐘偏差僅為時(shí)鐘網(wǎng)絡(luò)本身的時(shí)鐘偏差和DCM的輸出到各BUFGMUX輸入端之間的線路延時(shí)偏差。如果進(jìn)一步優(yōu)化,通過在布局布線的步驟施加對(duì)BUFGMUX的位置約束,迫使圖5中的4個(gè)BUFGMUX都處于FPGA的上方或者下方的8個(gè)BUFGMUX上,跨時(shí)鐘域的時(shí)鐘偏差在VIRTEXⅡ6000FPGA當(dāng)中可以控制在0.5ns以內(nèi),基本滿足80MHz的要求。改造后的時(shí)鐘電路的后仿波形如圖7所示,其最大的時(shí)鐘偏差為0.722ns。實(shí)際上,DCM和BUFGMUX從VIRTEXⅡ開始,已經(jīng)成為FPGA的標(biāo)準(zhǔn)元件,可以在SPARTAN-3,VIRTEXⅡ,VIRTEXⅡPRO,VIRTEX-4等器件上直接使用,因此該電路結(jié)構(gòu)也可相應(yīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 半導(dǎo)體激光治療儀項(xiàng)目可行性分析報(bào)告
- 新媒體營銷(第三版) 課件 項(xiàng)目四 新媒體短視頻營銷
- 人教PEP小學(xué)英語三年級(jí)上冊(cè)- 教學(xué)設(shè)計(jì)教案
- 設(shè)立中外合資經(jīng)營企業(yè)合同(金融3)
- 河南省安陽市滑縣第三中學(xué)2022年高三語文下學(xué)期期末試卷含解析
- 2025年渦輪螺槳發(fā)動(dòng)機(jī)項(xiàng)目建議書
- 2025建設(shè)項(xiàng)目工程總承包合同書示范文本
- 2025正規(guī)企業(yè)勞動(dòng)合同范例
- 瑜伽館石材裝修施工合同
- 軟件公司水地暖安裝協(xié)議
- 2024-2030年中國游艇產(chǎn)業(yè)發(fā)展?fàn)顩r規(guī)劃分析報(bào)告權(quán)威版
- 學(xué)前兒童家庭與社區(qū)教育學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 網(wǎng)絡(luò)安全產(chǎn)品質(zhì)保與售后方案
- 2024-2025學(xué)年河北省高三上學(xué)期省級(jí)聯(lián)測政治試題及答案
- 貴州省貴陽市2023-2024學(xué)年高一上學(xué)期期末考試 物理 含解析
- 幼兒園班級(jí)管理中的沖突解決策略研究
- 【7上英YL】蕪湖市2023-2024學(xué)年七年級(jí)上學(xué)期英語期中素質(zhì)教育評(píng)估試卷
- 2024年度中國鈉離子電池報(bào)告
- 2024年問政山東拆遷協(xié)議書模板
- 浪潮iqt在線測評(píng)題及答案
- 山東省青島市2023-2024學(xué)年高一年級(jí)上冊(cè)1月期末選科測試 生物 含解析
評(píng)論
0/150
提交評(píng)論