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