Altera器件時間匹配問題的解決方案_第1頁
Altera器件時間匹配問題的解決方案_第2頁
Altera器件時間匹配問題的解決方案_第3頁
Altera器件時間匹配問題的解決方案_第4頁
Altera器件時間匹配問題的解決方案_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

Altera器件時間匹配問題的解決方案1引言

Altera的MAX+PLUSⅡ可編程邏輯開發(fā)軟件,提供了一種與工作平臺、器件結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,深受廣大電子設(shè)計(jì)人員的喜愛。但設(shè)計(jì)人員都會遇到Altera器件設(shè)計(jì)中的時間匹配問題,本文對這個問題展開了討論,對電路中短時脈沖波形失真的所謂"毛刺"現(xiàn)象進(jìn)行了研究,并提出了解決的辦法。

2消除毛刺

某個事件成功的條件不分先后順序,只要滿足成功的組合需求,此事件就算成功,此種邏輯關(guān)系就是組合邏輯。我們在使用Altera器件進(jìn)行組合邏輯的設(shè)計(jì)時,常遇到短時脈沖波形失真,即毛刺問題(見圖1)。在組合電路中,兩輸入AND門是最簡單的電路,從MAX+PLUSⅡ中的TimingAnalyzer的DelayMatrix中可得知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)生了毛刺。

Altera器件結(jié)構(gòu)有許多特點(diǎn),使你在設(shè)計(jì)時具有較大的靈活性,但是,它可能會引入附加的時間延時。另外,復(fù)雜可編程邏輯器件中具有稱作邏輯陣列塊(LAB)的小型、高性能、靈活陣列模塊,還有稱作可編程連線陣列(PIA)的專用可編程網(wǎng)絡(luò),MAX的結(jié)構(gòu)通過PIA來連接LAB,保證其100%的內(nèi)部連接布通率。每個LAB中的邏輯擴(kuò)展項(xiàng)都提供附加的邏輯資源給LAB中的任何一個宏單元。但是,所有來自宏單元和擴(kuò)展項(xiàng)的信號經(jīng)過PIA時都必然引入時間延時,從而可能在組合邏輯的輸出端產(chǎn)生毛刺。對于怎樣消除毛刺,我們作了以下探討。

2.1軟件修改輸入端子的延時時間

一些軟件(如Xilinx公司)提供的方法是通過修改輸入端子的延時時間,來解決毛刺問題的。如圖1中,我們用軟件把b輸入端子的延時時間改為10.9ns,這樣a與b的延時時間相等,就消除了輸出端c的毛刺。它的優(yōu)點(diǎn)是能快速解決問題,這是設(shè)計(jì)中最簡單實(shí)用的方法。

2.2修改電路

通過修改定義時鐘信號的復(fù)雜邏輯,將其轉(zhuǎn)換成同步時鐘方式就可以避免毛刺出現(xiàn)。同步時鐘是采用單一的引腳驅(qū)動的系統(tǒng)時鐘,而不是異步的(邏輯驅(qū)動的)時鐘,見圖2。只要可能就應(yīng)盡量采用同步設(shè)計(jì),可以避免定時關(guān)系發(fā)生問題。另外,同步設(shè)計(jì)也可以改善電路的在線性能,減少調(diào)試時間和提高電路的可靠性。在同步時鐘方式中c信號是D觸發(fā)器輸入的一部分,而且時鐘是由引腳驅(qū)動。這個電路稱作寄存器使能電路,MAX+PLUSⅡTTL宏功能庫中提供了一種可以實(shí)現(xiàn)這種類型電路的D觸發(fā)器DFFE(見圖2)。

對于三到八譯碼器而言,用a、b、c表示輸入引腳,d0、d1、d2、d3、d4、d5、d6、d7表示三到八譯碼器的輸出引腳。對該設(shè)計(jì)項(xiàng)目進(jìn)行編譯后模擬仿真,這時非常容易從模擬仿真出來的波形上看到出現(xiàn)了毛刺。如采用同步時鐘(引腳驅(qū)動)方式,就可以消除毛刺。要注意的一點(diǎn)是建立和保持時間(Setup/holdtime)是測試芯片對輸入信號和時鐘信號之間的時間要求。建立時間是指觸發(fā)器的時鐘信號上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時間。輸入信號應(yīng)提前時鐘上升沿(如上升沿有效)T時間到達(dá)芯片,這個T就是建立時間Setuptime。如不滿足Setuptime,這個數(shù)據(jù)就不能被這一時鐘打入觸發(fā)器,只有在下一個時鐘上升沿,數(shù)據(jù)才能被打入觸發(fā)器。保持時間是指觸發(fā)器的時鐘信號上升沿到來以后,數(shù)據(jù)穩(wěn)定不變的時間。holdtime不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器。我們選用a端的輸入脈沖寬度是時鐘脈沖的四倍,這樣D觸發(fā)器就可以正常動作,輸出結(jié)果是正確的,見圖3、圖4。如果我們一定要使輸入脈沖等于輸出脈沖的寬度,就要使輸入脈沖的高電平與時鐘脈沖的高電平錯開,保證D觸發(fā)器能工作。

2.3重新設(shè)計(jì)電路

毛刺是信號趨于穩(wěn)定前不必要的開關(guān)動作,使每個時鐘沿改變了寄存器間組合邏輯的輸入。對每個節(jié)點(diǎn)而言,不同的輸入路徑有不同的延時,這將多次改變狀態(tài)。節(jié)點(diǎn)上的毛刺多少與該節(jié)點(diǎn)的邏輯深度,也就是節(jié)點(diǎn)至最初輸入的邏輯門個數(shù)有關(guān)。到達(dá)節(jié)點(diǎn)的邏輯錐體越深、越寬,毛刺也越多。降低邏輯深度,減少邏輯錐體的開關(guān)輸入可減少這類毛剌。時序驅(qū)動合成以及邏輯單元的合理映射能減少邏輯級的數(shù)量。

如果一個計(jì)數(shù)器的輸出端接一個組合電路,這個組合電路的輸出端產(chǎn)生了毛刺,最好的解決方法是重新設(shè)計(jì)電路,只要在這一時刻改變計(jì)數(shù)器輸出端子的輸出順序,就可以消除下一級組合電路輸出端的毛刺。例如,在下面程序中,在這一時刻改變q0、q1、q2輸出順序,就能解決計(jì)數(shù)器輸出所接的組合電路輸出端毛刺的問題。

subdesignmodcount

(clk,reset:input;

q[2..0]utput;

)

variable

counter3:machineofbits(rr[2..0])

withstates(r0=B"101",--換成r5的輸出

r1=B"100",--換成r4的輸出

r2=B"000",--換成r0的輸出

r3=B"001",--換成r1的輸出

r4=B"011",--換成r3的輸出

r5=B"010",--換成r2的輸出

r6=B"110",

r7=B"111");

begin

q[]=rr[];

counter3.reset=reset;

counter3.clk=clk;

CASEcounter3IS

whenr0=>counter3=r1;

whenr1=>counter3=r2;

whenr2=>counter3=r3;

whenr3=>counter3=r4;

whenr4=>counter3=r5;

whenr5=>counter3=r6;

whenr6=>counter3=r7;

whenr7=>counter3=r0;

ENDCASE;

End;

3行波時鐘時間匹配問題

行波時鐘是計(jì)數(shù)器通常使用的一種時鐘方式,而使用行波時鐘是可能引起潛在時間匹配問題的另一個因素。所謂行波時鐘是指一個寄存器的輸出為另一個寄存器產(chǎn)生時鐘,而不是使用一個公共的系統(tǒng)時鐘。如果仔細(xì)設(shè)計(jì),行波時鐘可以像全局時鐘一樣可靠工作,但是行波時鐘使得與電路有關(guān)的定時計(jì)算變得很復(fù)雜。行波時鐘在行波鏈上各寄存器時鐘之間將產(chǎn)生較大的時間偏移,并且會超出最壞情況下的建立時間、保持時間和電路中時鐘到輸出的延時,使系統(tǒng)的實(shí)際速度下降。在圖5(a)中使用行波時鐘所示電路的時鐘周期依賴于計(jì)數(shù)器最低位的變化沿計(jì)數(shù)器傳播到最高位所花的時間,這個周期與計(jì)數(shù)器的位數(shù)有關(guān)。隨著逐位進(jìn)位計(jì)數(shù)器的位數(shù)增加,系統(tǒng)的速度將下降,為此可使用同步電路來解決這個問題,如圖5(b)所示。當(dāng)把異步計(jì)數(shù)器改成同步操作時,系統(tǒng)的速度由寄存器的建立和保持時間決定,而不是由計(jì)數(shù)器的位數(shù)決定。同步電路不需要使用附加的資源,就可以提高計(jì)數(shù)器的速度,并消除出現(xiàn)非法計(jì)數(shù)數(shù)值的可能性。

還可以通過在MAX+PLUSII中仔細(xì)地分配資源,來提高設(shè)計(jì)的可靠性。在MAX器件中通過PIA的信號將會有時間延時。為消除這種延時,可以在MAX+PLUSⅡ中進(jìn)行"團(tuán)體"分配,也就是將計(jì)數(shù)器鄰接的位安排在同一個LAB中的諸宏單元內(nèi)。

4結(jié)束語

在組合電路中,從信號輸入到穩(wěn)定輸出需要一定的時間。由于從輸入到輸出的過程中,不同通路上門的級數(shù)不同,或者門電路平均延遲時間的差異,使信號從輸入經(jīng)不同通道傳輸?shù)捷敵黾壍臅r間不同,由于這個原因,就產(chǎn)生了

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論