關(guān)于毛刺問題探討_第1頁
關(guān)于毛刺問題探討_第2頁
關(guān)于毛刺問題探討_第3頁
關(guān)于毛刺問題探討_第4頁
關(guān)于毛刺問題探討_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、關(guān)于毛刺問題探討        毛刺問題是我們在PLD/FPGA設(shè)計(jì)中面臨的最重要的挑戰(zhàn),只有深刻理解毛刺問題,才有可能真正掌握PLD/FPGA設(shè)計(jì)的精髓。和可靠性有關(guān)的幾個(gè)概念    1.建立時(shí)間和保持時(shí)間      建立時(shí)間(setup time)是指在觸發(fā)器的時(shí)鐘信號上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時(shí)間,如果建立時(shí)間不夠,數(shù)據(jù)將不能在這個(gè)時(shí)鐘上升沿被打入觸發(fā)器;保持時(shí)間(hold time)是

2、指在觸發(fā)器的時(shí)鐘信號上升沿到來以后,數(shù)據(jù)穩(wěn)定不變的時(shí)間, 如果保持時(shí)間不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器。  如圖1 。 數(shù)據(jù)穩(wěn)定傳輸必須滿足建立和保持時(shí)間的要求,當(dāng)然在一些情況下,建立時(shí)間和保持時(shí)間的值可以為零。       圖1 2.競爭和冒險(xiǎn)     幾乎所有關(guān)于數(shù)字電路的教材,都會提到數(shù)字電路中的競爭和冒險(xiǎn)問題,但是這個(gè)問題往往被我們忽略。3.PLD內(nèi)部毛刺產(chǎn)生的原因     我們在

3、使用分立元件設(shè)計(jì)數(shù)字系統(tǒng)時(shí),由于PCB走線時(shí),存在分布電感和電容,所以幾納秒的毛刺將被自然濾除,而在PLD內(nèi)部決無分布電感和電容,所以在PLD/FPGA設(shè)計(jì)中,競爭和冒險(xiǎn)問題將變的較為突出。4.FPGA中的冒險(xiǎn)現(xiàn)象     信號在FPGA器件內(nèi)部通過連線和邏輯單元時(shí),都有一定的延時(shí)。延時(shí)的大小與連線的長短和邏輯單元的數(shù)目有關(guān),同時(shí)還受器件的制造工藝、工作電壓、溫度等條件的影響。信號的高低電平轉(zhuǎn)換也需要一定的過渡時(shí)間。由于存在這兩方面因素,多路信號的電平值發(fā)生變化時(shí),在信號變化的瞬間,組合邏輯的輸出有先后順序,并不是同時(shí)變化,往往會出現(xiàn)一些不正確

4、的尖峰信號,這些尖峰信號稱為"毛刺"。如果一個(gè)組合邏輯電路中有"毛刺"出現(xiàn),就說明該電路存在"冒險(xiǎn)"。(與分立元件不同,由于PLD內(nèi)部不存在寄生電容電感,這些毛刺將被完整的保留并向下一級傳遞,因此毛刺現(xiàn)象在PLD、FPGA設(shè)計(jì)中尤為突出)    圖2給出了一個(gè)邏輯冒險(xiǎn)的例子,從圖3的仿真波形可以看出,"A、B、C、D"四個(gè)輸入信號經(jīng)過布線延時(shí)以后,高低電平變換不是同時(shí)發(fā)生的,這導(dǎo)致輸出信號"OUT"出現(xiàn)了毛刺。(我們無法保證所有連線的長度一致,所以即使四個(gè)

5、輸入信號在輸入端同時(shí)變化,但經(jīng)過PLD內(nèi)部的走線,到達(dá)或門的時(shí)間也是不一樣的,毛刺必然產(chǎn)生)??梢愿爬ǖ闹v,只要輸入信號同時(shí)變化,(經(jīng)過內(nèi)部走線)組合邏輯必將產(chǎn)生毛刺。 將它們的輸出直接連接到時(shí)鐘輸入端、清零或置位端口的設(shè)計(jì)方法是錯(cuò)誤的,這可能會導(dǎo)致嚴(yán)重的后果。 所以我們必須檢查設(shè)計(jì)中所有時(shí)鐘、清零和置位等對毛刺敏感的輸入端口,確保輸入不會含有任何毛刺圖2. 存在邏輯冒險(xiǎn)的電路示例         圖3 圖2所示電路的仿真波形    冒

6、險(xiǎn)往往會影響到邏輯電路的穩(wěn)定性。時(shí)鐘端口、清零和置位端口對毛刺信號十分敏感,任何一點(diǎn)毛刺都可能會使系統(tǒng)出錯(cuò),因此判斷邏輯電路中是否存在冒險(xiǎn)以及如何避免冒險(xiǎn)是設(shè)計(jì)人員必須要考慮的問題。判斷一個(gè)邏輯電路在某些輸入信號發(fā)生變化時(shí)是否會產(chǎn)生冒險(xiǎn),首先要判斷信號是否會同時(shí)變化,然后判斷在信號同時(shí)變化的時(shí)候,是否會產(chǎn)生冒險(xiǎn),這可以通過邏輯函數(shù)的卡諾圖或邏輯函數(shù)表達(dá)式來進(jìn)行判斷。對此問題感興趣的讀者可以參考有關(guān)脈沖與數(shù)字電路方面的書籍和文章。 如何處理毛刺    我們可以通過改變設(shè)計(jì),破壞毛刺產(chǎn)生的條件,來減少毛刺的發(fā)生。例如,在數(shù)字電路設(shè)計(jì)中,常常采用格雷

7、碼計(jì)數(shù)器取代普通的二進(jìn)制計(jì)數(shù)器,這是因?yàn)楦窭状a計(jì)數(shù)器的輸出每次只有一位跳變,消除了競爭冒險(xiǎn)的發(fā)生條件,避免了毛刺的產(chǎn)生。    毛刺并不是對所有的輸入都有危害,例如D觸發(fā)器的D輸入端,只要毛刺不出現(xiàn)在時(shí)鐘的上升沿并且滿足數(shù)據(jù)的建立和保持時(shí)間,就不會對系統(tǒng)造成危害,我們可以說D觸發(fā)器的D輸入端對毛刺不敏感。 根據(jù)這個(gè)特性,我們應(yīng)當(dāng)在系統(tǒng)中盡可能采用同步電路,這是因?yàn)橥诫娐沸盘柕淖兓及l(fā)生在時(shí)鐘沿,只要毛刺不出現(xiàn)在時(shí)鐘的沿口并且不滿足數(shù)據(jù)的建立和保持時(shí)間,就不會對系統(tǒng)造成危害。 (由于毛刺很短,多為幾納秒,基本上都不可能滿足數(shù)據(jù)的建立和

8、保持時(shí)間)     以上方法可以大大減少毛刺,但它并不能完全消除毛刺,有時(shí),我們必須手工修改電路來去除毛刺。我們通常使用"采樣"的方法。 一般說來,冒險(xiǎn)出現(xiàn)在信號發(fā)生電平轉(zhuǎn)換的時(shí)刻,也就是說在輸出信號的建立時(shí)間內(nèi)會發(fā)生冒險(xiǎn),而在輸出信號的保持時(shí)間內(nèi)是不會有毛刺信號出現(xiàn)的。如果在輸出信號的保持時(shí)間內(nèi)對其進(jìn)行"采樣",就可以消除毛刺信號的影響。    有兩種基本的采樣方法:一種方法是在輸出信號的保持時(shí)間內(nèi),用一定寬度的高電平脈沖與輸出信號做邏輯"與&

9、quot;運(yùn)算,由此獲取輸出信號的電平值。圖4說明了這種方法,采樣脈沖信號從輸入引腳"SAMPLE"引入。從圖5的仿真波形上可以看出,毛刺信號出現(xiàn)在"TEST"引腳上,而"OUT"引腳上的毛刺已被消除了.圖4 消除毛刺信號的方法之一圖5  圖4所示電路的仿真波形上述方法的一個(gè)缺點(diǎn)是必須人為的保證sample信號必須在合適的時(shí)間中產(chǎn)生,另一種更常見的方法是利用D觸發(fā)器的D輸入端對毛刺信號不敏感的特點(diǎn),在輸出信號的保持時(shí)間內(nèi),用觸發(fā)器讀取組合邏輯的輸出信號,這種方法類似于將異步電路轉(zhuǎn)化為同步電路。 圖6給出了這種方法的

10、示范電路,圖7是仿真波形。圖6 消除毛刺信號方法之二圖7  圖6所示電路的仿真波形     在仿真時(shí),我們也可能會發(fā)現(xiàn)在FPGA器件對外輸出引腳上有輸出毛刺,但由于毛刺很短,加上PCB本身的寄生參數(shù),大多數(shù)情況下,毛刺通過PCB走線,基本可以自然被慮除,不用再外加阻容濾波。     如前所述,優(yōu)秀的設(shè)計(jì)方案,如采用格雷碼計(jì)數(shù)器,同步電路等,可以大大減少毛刺,但它并不能完全消除毛刺。 毛刺并不是對所有輸入都有危害,例如D觸發(fā)器的D輸入端,只要毛刺不出現(xiàn)在時(shí)鐘

11、的上升沿并且滿足數(shù)據(jù)的建立和保持時(shí)間,就不會對系統(tǒng)造成危害。因此我們可以說D觸發(fā)器的D輸入端對毛刺不敏感。但對于D觸發(fā)器的時(shí)鐘端,置位端,清零端,則都是對毛刺敏感的輸入端,任何一點(diǎn)毛刺就會使系統(tǒng)出錯(cuò),但只要認(rèn)真處理,我們可以把危害降到最低直至消除。下面我們就對幾種具體的信號進(jìn)行探討。  時(shí)鐘信號最關(guān)鍵的信號之一,有專門的論述,請參閱關(guān)于時(shí)鐘問題的探討清除和置位信號    清除和置位信號要求象對待時(shí)鐘那樣小心地考慮它們,因?yàn)檫@些信號對毛刺也是非常敏感的。正如使用時(shí)鐘那樣,最好的清除和置位是從器件的引腳單直接地驅(qū)動。有一個(gè)主復(fù)位Reset

12、引腳是常用的最好方法,主復(fù)位引腳給設(shè)計(jì)項(xiàng)目中每個(gè)觸發(fā)器饋送清除或置位信號。幾乎所有PLD器件都有專門的全局清零腳和全局置位。如果必須從器件內(nèi)產(chǎn)生清除或置位信號,則要按照“門控時(shí)鐘”的設(shè)計(jì)原則去建立這些信號,確保輸入無毛刺。   若采用門控清除或者門控置位,則單個(gè)引腳或者觸發(fā)器作為清除或置位的源,而有其它信號作為地址或控制線。在清除或復(fù)位的有效期間,地址或控制線必須保持穩(wěn)定圖4213示出4個(gè)容許的清除和復(fù)位配置的實(shí)例。決不能用多級邏輯或包含競爭狀態(tài)單級邏輯產(chǎn)生清除或置位信號。更詳細(xì)的考慮見4.25節(jié)“競爭狀態(tài)”。組合邏輯輸出   

13、60; 當(dāng)PLD輸出引腳給出系統(tǒng)內(nèi)其它部分的邊沿敏感信號或電平敏感信號時(shí),這些出信號必須象內(nèi)部時(shí)鐘、清除和置位信號一樣小心地對待。只要可能就應(yīng)在PLD輸出端寄存那些對險(xiǎn)象敏感的組合輸出。如果你不能寄存險(xiǎn)象敏感的輸出,則應(yīng)符合“門控時(shí)鐘”中討論的門控時(shí)鐘的條件。決不能用多級邏輯驅(qū)動毛刺敏感的輸出。異步輸入信號     按照定義,異步輸入不是總能滿足(它們所饋送的觸發(fā)器的)建立和保持時(shí)間的要求。因此,異步輸入常常會把錯(cuò)誤的數(shù)據(jù)鎖存到觸發(fā)器,或者使觸發(fā)器進(jìn)入亞穩(wěn)定的狀態(tài),在該狀態(tài)下,觸發(fā)器的輸出不能識別為l或0。如果沒有正確地處理,亞穩(wěn)性會

14、導(dǎo)致嚴(yán)重的系統(tǒng)可靠性問題。    圖42.14示出具有異步信號控制使能輸入的二進(jìn)制計(jì)數(shù)器。當(dāng)使能輸入違反計(jì)數(shù);的建立時(shí)間或保持時(shí)間的約束條件時(shí),計(jì)數(shù)器的每一位會有錯(cuò)誤的動作。一位在加法:數(shù)器而另一位在保持狀態(tài),造成計(jì)數(shù)器進(jìn)入無效狀態(tài)。此外,各位中的任何一位都可1變成亞穩(wěn)定的,使電路的其它部分出現(xiàn)各種問題。    采用附加觸發(fā)器同步使能信號的方法可保證不違反計(jì)數(shù)器的建立時(shí)間,從而解決可靠性的問題。圖4215示出一種同步化的方法。雖然同步觸發(fā)器仍會感受到亞穩(wěn)性,但它在下一個(gè)時(shí)鐘邊沿之前是穩(wěn)定的。通常,為在EPLD中避免亞穩(wěn)性問題,決不能把一個(gè)異步信號輸出到器件內(nèi)兩個(gè)或更多的觸發(fā)器中。同步異步輸入的另一種方法示于圖4216。輸入驅(qū)動一個(gè)觸發(fā)器的時(shí)鐘,該觸發(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論