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