FPGA設(shè)計中的時序分析及異步設(shè)計注意事項_第1頁
FPGA設(shè)計中的時序分析及異步設(shè)計注意事項_第2頁
FPGA設(shè)計中的時序分析及異步設(shè)計注意事項_第3頁
FPGA設(shè)計中的時序分析及異步設(shè)計注意事項_第4頁
FPGA設(shè)計中的時序分析及異步設(shè)計注意事項_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 Dragon WH team1FPGAFPGA設(shè)計中的時序分設(shè)計中的時序分析及異步設(shè)計注意事項析及異步設(shè)計注意事項 Dragon WH team2什么是建立和保持時間什么是建立和保持時間建立時間和保持時間:建立時間和保持時間:建立時間(建立時間(setup time):):是指在觸發(fā)器的時鐘信號上升沿到來以前是指在觸發(fā)器的時鐘信號上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時間,如果建立時間不夠,數(shù)據(jù)將不能在這個時,數(shù)據(jù)穩(wěn)定不變的時間,如果建立時間不夠,數(shù)據(jù)將不能在這個時鐘上升沿被打入觸發(fā)器;鐘上升沿被打入觸發(fā)器;保持時間(保持時間(hold time):):是指在觸發(fā)器的時鐘信號上升沿到來以后是指在觸發(fā)

2、器的時鐘信號上升沿到來以后,數(shù)據(jù)穩(wěn)定不變的時間,數(shù)據(jù)穩(wěn)定不變的時間, 如果保持時間不夠,數(shù)據(jù)同樣不能被打入如果保持時間不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器。觸發(fā)器。 Dragon WH team3時序分析基礎(chǔ)時序分析基礎(chǔ)電路設(shè)計的難點在時電路設(shè)計的難點在時序設(shè)計,而時序設(shè)計序設(shè)計,而時序設(shè)計的實質(zhì)就是滿足每一的實質(zhì)就是滿足每一個觸發(fā)器的建立個觸發(fā)器的建立/ /保保持時間的要求。持時間的要求。 組合邏輯DQDQREG1REG2其它控制信號CLKCLKCREG1REG2(D)CLK(REG2)REG2(Q)T1T_cycleT1nTTsThTn+1nn+1 Dragon WH team4時序分析基礎(chǔ)續(xù)時

3、序分析基礎(chǔ)續(xù)如上圖所示,以如上圖所示,以REG2REG2為例,假定觸發(fā)器的建立時間要求為:為例,假定觸發(fā)器的建立時間要求為:T_setupT_setup,保保持時間要求為:持時間要求為:T_holdT_hold,路徑延時為:路徑延時為:T1T1,路徑延時為:路徑延時為:T2T2,路徑路徑延時為:延時為:T3T3,時鐘周期為:時鐘周期為:T_cycleT_cycle,Ts Ts (T_cycle T_cycle T T)T1T1,Th Th T1T1T T,令令 T T T3T3T2T2,則則條件條件1.1.如果如果T_setup Ts T_setup Ts ,即即 T_setup T_setu

4、p (T_cycle T_cycle T T)T1T1,這說這說明信號比時鐘有效沿超過明信號比時鐘有效沿超過T_setup T_setup 時間到達時間到達REG2REG2的的D D端,滿足建立時間要端,滿足建立時間要求。反之則不滿足;求。反之則不滿足;條件條件2.2.如果如果T_hold Th T_hold Th ,即即T_hold T1T_hold 0 T 0 時,時,T_holdT_hold受影響;當(dāng)受影響;當(dāng)T 0 T “110100110100”,由于電路延時的原因,中間會出現(xiàn),由于電路延時的原因,中間會出現(xiàn)“110101110101”狀態(tài),導(dǎo)致計數(shù)器誤狀態(tài),導(dǎo)致計數(shù)器誤清清0 0。

5、采用同步清采用同步清0 0的辦法,不僅可以有效地消除毛刺,而且能避免計數(shù)器的辦法,不僅可以有效地消除毛刺,而且能避免計數(shù)器誤清誤清0 0。電路如下圖所示。電路如下圖所示。 Dragon WH team10異步設(shè)計中常見問題及其解決方法異步設(shè)計中常見問題及其解決方法續(xù)續(xù)QDclk圖4.7+1=526位二進制計數(shù)器Q5:0000000規(guī)則的計數(shù)器規(guī)則的計數(shù)器 Dragon WH team11異步設(shè)計中常見問題及其解決方法異步設(shè)計中常見問題及其解決方法續(xù)續(xù)4 4、對計數(shù)器的譯碼、對計數(shù)器的譯碼4位計數(shù)器譯碼outclkoutclk圖4.18對計數(shù)器譯碼,可能由于競爭冒險產(chǎn)生毛刺。如果后級采用了對計數(shù)

6、器譯碼,可能由于競爭冒險產(chǎn)生毛刺。如果后級采用了同步電路,我們完全可以對此不予理會。如果對毛刺要求較高,推同步電路,我們完全可以對此不予理會。如果對毛刺要求較高,推薦采用薦采用GrayGray編碼編碼( (PLD)PLD)或或One-hotOne-hot編碼編碼( (FPGA)FPGA)的計數(shù)器,一般不要的計數(shù)器,一般不要采用二進制碼采用二進制碼. .具體描述中,我們可以用狀態(tài)機來描述,而利用邏輯具體描述中,我們可以用狀態(tài)機來描述,而利用邏輯綜合工具來編碼,有經(jīng)驗的選手可以自己強制定義狀態(tài)機的編碼。綜合工具來編碼,有經(jīng)驗的選手可以自己強制定義狀態(tài)機的編碼。 Dragon WH team12異步

7、設(shè)計中常見問題及其解決方法異步設(shè)計中常見問題及其解決方法續(xù)續(xù)QDclk1QDclk2組合邏輯5 5、多時鐘的同步化、多時鐘的同步化兩個沒有相位關(guān)系的時鐘這樣使用,后級時鐘可能不能準(zhǔn)確采樣。兩個沒有相位關(guān)系的時鐘這樣使用,后級時鐘可能不能準(zhǔn)確采樣。QD圖 4.10QD組 合 邏 輯QDclk1clk2改進后:用一個觸發(fā)器做同步化處理,保證后級時鐘準(zhǔn)確采樣。改進后:用一個觸發(fā)器做同步化處理,保證后級時鐘準(zhǔn)確采樣。 Dragon WH team13異步設(shè)計中常見問題及其解決方法異步設(shè)計中常見問題及其解決方法續(xù)續(xù)QDDLELEQ6 6、鎖存器、鎖存器鎖存器是較危險的電路,沒有確定的初始狀態(tài),輸出隨輸入

8、變化鎖存器是較危險的電路,沒有確定的初始狀態(tài),輸出隨輸入變化,這意味著毛刺可以通過鎖存器。若該電路與其它,這意味著毛刺可以通過鎖存器。若該電路與其它D D觸發(fā)器電路相觸發(fā)器電路相連,則會影響這些觸發(fā)器的建立保持時間。除非有專用電路特別連,則會影響這些觸發(fā)器的建立保持時間。除非有專用電路特別需要(其實總線鎖存之類的功能用需要(其實總線鎖存之類的功能用373373之類的小規(guī)模之類的小規(guī)模ICIC更好),在更好),在設(shè)計內(nèi)部,不要使用鎖存器。設(shè)計內(nèi)部,不要使用鎖存器。QDENADLECLKQ Dragon WH team14不建議使用電路不建議使用電路1 、不建議使用組合邏輯時鐘或門控時鐘不建議使用

9、組合邏輯時鐘或門控時鐘組合邏輯和門控時鐘很容易產(chǎn)生毛刺,用組合邏輯的輸出作為時鐘很容易使系統(tǒng)產(chǎn)生誤動作。2 2、 不建議使用行波時鐘不建議使用行波時鐘Q0QDQDQDclkQ1Q2行波記數(shù)器雖然原理簡單,設(shè)計方便,但級連時鐘(行波時鐘)最容易造行波記數(shù)器雖然原理簡單,設(shè)計方便,但級連時鐘(行波時鐘)最容易造成時鐘偏差(成時鐘偏差(T T),級數(shù)多了,很可能會影響其控制的觸發(fā)器的建立),級數(shù)多了,很可能會影響其控制的觸發(fā)器的建立/ /保保持時間,使設(shè)計難度加大。轉(zhuǎn)換的方法是采用同步記數(shù)器,同步計數(shù)器用持時間,使設(shè)計難度加大。轉(zhuǎn)換的方法是采用同步記數(shù)器,同步計數(shù)器用原理圖描述可能較難,但用原理圖描

10、述可能較難,但用HDLHDL語言很簡單就可以描述一個語言很簡單就可以描述一個4 4位計數(shù)器。位計數(shù)器。 Dragon WH team15不建議使用電路續(xù)不建議使用電路續(xù)3 3 、盡量避免采用多個時鐘,多使用觸發(fā)器的使能端來解決。、盡量避免采用多個時鐘,多使用觸發(fā)器的使能端來解決。在可編程邏輯器件設(shè)計時,由于時鐘建立應(yīng)盡量避免采用多時鐘網(wǎng)絡(luò),或者采用適當(dāng)?shù)拇胧p少時鐘的個數(shù),使用頻率低的時鐘盡量簡化消除。4 4、 觸發(fā)器的置觸發(fā)器的置/ /復(fù)位端盡量避免出現(xiàn)毛刺,及自我復(fù)位電路等,最復(fù)位端盡量避免出現(xiàn)毛刺,及自我復(fù)位電路等,最好只用一個全局復(fù)位信號。好只用一個全局復(fù)位信號。 5 5、 電路中盡量

11、避免電路中盡量避免“死循環(huán)死循環(huán)”電路,如電路,如RSRS觸發(fā)器等。觸發(fā)器等。6 6 、禁止時鐘在不同可編程器件中級連,盡量降低時鐘到各個器件、禁止時鐘在不同可編程器件中級連,盡量降低時鐘到各個器件時鐘偏差值。時鐘偏差值。 Dragon WH team16復(fù)位和置位信號處理復(fù)位和置位信號處理在設(shè)計時應(yīng)盡量保證有一全局復(fù)位信號,或保證觸發(fā)器、計在設(shè)計時應(yīng)盡量保證有一全局復(fù)位信號,或保證觸發(fā)器、計數(shù)器在使用前已經(jīng)正確清零和狀態(tài)機處于確知的狀態(tài)。數(shù)器在使用前已經(jīng)正確清零和狀態(tài)機處于確知的狀態(tài)。 寄存器的清除和置位信號,對競爭條件和冒險也非常敏感。寄存器的清除和置位信號,對競爭條件和冒險也非常敏感。在

12、設(shè)計時,應(yīng)盡量直接從器件的專用引腳驅(qū)動。另外,要考慮到在設(shè)計時,應(yīng)盡量直接從器件的專用引腳驅(qū)動。另外,要考慮到有些器件上電時,觸發(fā)器處于一種不確定的狀態(tài),系統(tǒng)設(shè)計時應(yīng)有些器件上電時,觸發(fā)器處于一種不確定的狀態(tài),系統(tǒng)設(shè)計時應(yīng)加入全局復(fù)位加入全局復(fù)位/ /ResetReset。這樣主復(fù)位引腳就可以給設(shè)計中的每一個這樣主復(fù)位引腳就可以給設(shè)計中的每一個觸發(fā)器饋送清除或置位信號,保證系統(tǒng)處于一個確定的初始狀態(tài)觸發(fā)器饋送清除或置位信號,保證系統(tǒng)處于一個確定的初始狀態(tài)。需要注意的一點是:不要對寄存器的置位和清除端同時施加不。需要注意的一點是:不要對寄存器的置位和清除端同時施加不同信號產(chǎn)生的控制,因為如果出現(xiàn)

13、兩個信號同時有效的意外情況同信號產(chǎn)生的控制,因為如果出現(xiàn)兩個信號同時有效的意外情況,會使寄存器進入不定狀態(tài)。,會使寄存器進入不定狀態(tài)。 Dragon WH team17時序設(shè)計的可靠性保障措施時序設(shè)計的可靠性保障措施 (1 1)時鐘偏差要加以控制)時鐘偏差要加以控制在同步電路里,時鐘信號要連接到所有的寄存器,觸發(fā)器以及在同步電路里,時鐘信號要連接到所有的寄存器,觸發(fā)器以及鎖存器等器件上。這些巨大的負載就象一個大電容加在時鐘線上,鎖存器等器件上。這些巨大的負載就象一個大電容加在時鐘線上,再加上時鐘線本身的分布電容和電阻,這樣時鐘線就象分布的再加上時鐘線本身的分布電容和電阻,這樣時鐘線就象分布的R

14、CRC線。由于線。由于RCRC線的延時是線長的函數(shù),這樣就使得連到同一根時鐘線的延時是線長的函數(shù),這樣就使得連到同一根時鐘線上的時鐘由于距離時鐘源的遠近不一而產(chǎn)生不同的延時。因而造線上的時鐘由于距離時鐘源的遠近不一而產(chǎn)生不同的延時。因而造成了同一時鐘到達各個器件的時間不一致,使得各個以時鐘為基準(zhǔn)成了同一時鐘到達各個器件的時間不一致,使得各個以時鐘為基準(zhǔn)器件的動作也不一致,而造成時序上的混亂。這就是同步電路時鐘器件的動作也不一致,而造成時序上的混亂。這就是同步電路時鐘偏差。(偏差。(skewskew) Dragon WH team18時序設(shè)計的可靠性保障措施時序設(shè)計的可靠性保障措施 要讓同步電路

15、可靠地運行,就要對時鐘偏差進行控制,以使要讓同步電路可靠地運行,就要對時鐘偏差進行控制,以使時鐘偏差減小到可用的范圍。影響時鐘偏差的主要有以下幾個因時鐘偏差減小到可用的范圍。影響時鐘偏差的主要有以下幾個因素:素:1 1、用于連接時鐘樹的連線、用于連接時鐘樹的連線2 2、時鐘樹的拓撲結(jié)構(gòu)、時鐘樹的拓撲結(jié)構(gòu)3 3、時鐘的驅(qū)動、時鐘的驅(qū)動4 4、時鐘線的負載、時鐘線的負載5 5、時鐘的上升及下降時間、時鐘的上升及下降時間 Dragon WH team19時序設(shè)計的可靠性保障措施時序設(shè)計的可靠性保障措施在通常的在通常的FPGAFPGA設(shè)計中對時鐘偏差的控制主要有以下幾種方法:設(shè)計中對時鐘偏差的控制主要

16、有以下幾種方法:1 1、控制時鐘信號盡量走可編程器件的的全局時鐘網(wǎng)絡(luò)。在可編程器件中、控制時鐘信號盡量走可編程器件的的全局時鐘網(wǎng)絡(luò)。在可編程器件中一般都有專門的時鐘驅(qū)動器及全局時鐘網(wǎng)絡(luò),不同種類、型號的可編程器一般都有專門的時鐘驅(qū)動器及全局時鐘網(wǎng)絡(luò),不同種類、型號的可編程器件,它們中的全局時鐘網(wǎng)絡(luò)數(shù)量不同,因此要根據(jù)不同的設(shè)計需要選擇含件,它們中的全局時鐘網(wǎng)絡(luò)數(shù)量不同,因此要根據(jù)不同的設(shè)計需要選擇含有合適數(shù)量全局時鐘網(wǎng)絡(luò)的可編程器件。一般來說,走全局時鐘網(wǎng)絡(luò)的時有合適數(shù)量全局時鐘網(wǎng)絡(luò)的可編程器件。一般來說,走全局時鐘網(wǎng)絡(luò)的時鐘信號到各使用端的延時小,時鐘偏差很小,基本可以忽略不計。鐘信號到各使

17、用端的延時小,時鐘偏差很小,基本可以忽略不計。2 2、若設(shè)計中時鐘信號數(shù)量很多,無法讓所有的信號都走全局時鐘網(wǎng)絡(luò),、若設(shè)計中時鐘信號數(shù)量很多,無法讓所有的信號都走全局時鐘網(wǎng)絡(luò),那么可以通過在設(shè)計中加約束的方法,控制不能走全局時鐘網(wǎng)絡(luò)的時鐘信那么可以通過在設(shè)計中加約束的方法,控制不能走全局時鐘網(wǎng)絡(luò)的時鐘信號的時鐘偏差。號的時鐘偏差。 Dragon WH team20時序設(shè)計的可靠性保障措施時序設(shè)計的可靠性保障措施(3 3)異步接口時序裕度要足夠大)異步接口時序裕度要足夠大局部同步電路之間接口都可以看成是異步接口,比較典型的是設(shè)計中的局部同步電路之間接口都可以看成是異步接口,比較典型的是設(shè)計中的高低頻電路接口、高低頻電路接口、I/OI/O接口,那么接口電路中后一級觸發(fā)器的建立接口,那

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論