Altera器件時間匹配問題的解決方案
1 引言
Altera的 MAX+PLUSⅡ可編程邏輯開發(fā)軟件,提供了一種與工作平臺、器件結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,深受廣大電子設(shè)計人員的喜愛。但設(shè)計人員都會遇到Altera器件設(shè)計中的時間匹配問題,本文對這個問題展開了討論,對電路中短時脈沖波形失真的所謂毛刺現(xiàn)象進行了研究,并提出了解決的辦法。
2 消除毛刺
某個事件成功的條件不分先后順序,只要滿足成功的組合需求,此事件就算成功,此種邏輯關(guān)系就是組合邏輯。我們在使用Altera器件進行組合邏輯的設(shè)計時,常遇到短時脈沖波形失真,即毛刺問題(見圖1)。在組合電路中,兩輸入AND門是最簡單的電路,從MAX+PLUSⅡ中的 Timing Analyzer的Delay Matrix 中可得知a=11.1ns,b=8. 1ns。假定AND門內(nèi)部的延時時間為0.2ns,那么 a的延時+ AND內(nèi)部的延時(0.2ns)=11.1ns,a的延時為10.9ns; b的延時+AND內(nèi)部的延時(0.2ns)=8.1ns,b的延時為7.9ns。由于 a和b的延時時間不相等,所以當(dāng)a從1變?yōu)?,同時b從0變?yōu)?時,輸出結(jié)果c產(chǎn)生了毛刺。
本文引用地址:http://cafeforensic.com/article/151258.htm |
Altera器件結(jié)構(gòu)有許多特點,使你在設(shè)計時具有較大的靈活性,但是,它可能會引入附加的時間延時。另外,復(fù)雜可編程邏輯器件中具有稱作邏輯陣列塊(LAB)的小型、高性能、靈活陣列模塊,還有稱作可編程連線陣列(PIA)的專用可編程網(wǎng)絡(luò),MAX的結(jié)構(gòu)通過PIA來連接LAB,保證其100%的內(nèi)部連接布通率。每個LAB中的邏輯擴展項都提供附加的邏輯資源給LAB中的任何一個宏單元。但是,所有來自宏單元和擴展項的信號經(jīng)過PIA時都必然引入時間延時,從而可能在組合邏輯的輸出端產(chǎn)生毛刺。對于怎樣消除毛刺,我們作了以下探討。
2.1 軟件修改輸入端子的延時時間
一些軟件(如Xilinx公司)提供的方法是通過修改輸入端子的延時時間,來解決毛刺問題的。如圖1中,我們用軟件把 b輸入端子的延時時間改為10.9ns,這樣a與 b的延時時間相等,就消除了輸出端c的毛刺。它的優(yōu)點是能快速解決問題,這是設(shè)計中最簡單實用的方法。
2.2 修改電路
通過修改定義時鐘信號的復(fù)雜邏輯,將其轉(zhuǎn)換成同步時鐘方式就可以避免毛刺出現(xiàn)。同步時鐘是采用單一的引腳驅(qū)動的系統(tǒng)時鐘,而不是異步的(邏輯驅(qū)動的)時鐘,見圖2。只要可能就應(yīng)盡量采用同步設(shè)計,可以避免定時關(guān)系發(fā)生問題。另外,同步設(shè)計也可以改善電路的在線性能,減少調(diào)試時間和提高電路的可靠性。在同步時鐘方式中 c信號是D觸發(fā)器輸入的一部分,而且時鐘是由引腳驅(qū)動。這個電路稱作寄存器使能電路, MAX+PLUSⅡTTL宏功能庫中提供了一種可以實現(xiàn)這種類型電路的D觸發(fā)器DFFE(見圖2)。
評論