非同步電路入門AlDavis1StevenM.Nowick2UUCS-97-0131997.9月10日摘要這篇論文提供對非同步電路設計領域的簡介,和到1997年,這個領域的實際發展狀況。在早期的數位電路設計,同步(synchronous)和非同步(asynchronous)是兩條分歧的路。然而從1960年代,主要的數位電路設計公司對同步電路較感興趣。同步電路可以簡單的定義為有一個或多個全域且周期性的時脈訊號的電路,我們稱之為-共同時脈(clock)。由於有更多於共同時脈的訊號次序,非同步天生就是電路中範圍較大的一類。非同步電路開始被研讀始於1950’s早期,當時主要用在機械上的繼電器電路。而一些理論上的問題被Muller和Bartky更深入的研究於1956年。自此非同步電路領域進入一個被高度感興趣的年代。近幾年來非同步電路在學術跟工業界裡有了空前的成果。儘管大部分的研究成果都只著重在理論方面,但非同步電路的實際應用技術也有卓越的進展。本篇論文主要觀點在於,非同步電路設計可能的或實際影響的學習。最後嘗試著介紹目前的設計技術和實際應用的基本觀念。本文包含許多的參考書目,指出更多此領域的許多重要研究者1.簡介這篇報告的目的在對非同步電路設計領域,提供一個綜合的概略簡介。我們注重的焦點在設計上,因此一些理論上不直接影響設計程序的部份將被忽略。若要深入完整的涵蓋所有各種設計是不太可能地,在此僅談論部分的設計理論。另一方面來說,若所有的方法都只提到皮毛,那可能得不到多少。綜合結論是這篇報告對基本觀念有較深入的介紹,而強調少部分的設計型態。其他的教育文獻會涵蓋更多被忽略的觀念。相異或相似處將會被提出討論。還有許多的引用和眾多的參考書目會提供對各種特別理論的深入研究。1ComputerScienceUniversityofUtahSaltLakeCity,UT841122ComputerScienceColumbiaUniversityNewYork,NY100272.動機與基本概念電路設計的類型可分為主要兩種,同步電路與非同步電路。不過值得一提的是兩種類型的電路並非全然獨立,也有許多的設計結合了兩種電路的觀念。同步電路可以簡單的定義為有一個或多個全域,且周期性的時脈訊號的電路,我們稱之為-共同時脈。由於有更多於共同時脈的訊號次序,非同步天生就是電路中範圍較大的一類。在大部分已有的商業走向,重要的經驗、製品、動力全是同步電路的設計,這可能使你很難相信非同步電路技術的發展動機。有時候繼續研究非同步電路的動機僅是單純的一個事實-它很不一樣。一些人發現非同步電路有個特性,就是可以簡潔地組合再以理論分析驗證正確性。然而人們對非同步電路應用感興趣的動機,常來自於它和同步電路間基本又自然的關係。共同的利害關係就在於共同時脈的成本問題,同步電路中一個共同時脈訊號的基本週期是接近最差情況(worst-case)。當執行一些平均情況(average-case)或是最佳情況(best-case)的時候,同步電路既不適合,也佔不到任何好處。支持非同步電路的人非同步的方式相當適合來增進效能(performance)。數學運算電路就是一個好例子。數學運算電路的效能是很典型地,由層遞的進位或借位延遲(delay)訊號所決定。但最差的層遞情況很少發生,然而同步的數學運算電路的同步時脈,仍必須被極少發生的最差情況給限制。對於這個觀察,有些非同步電路的設計者犯了一個推論上的錯誤,認為非同步與生俱來的特性通常能增進效能。然而這不是必然的。3/15所有非同步電路和他所對應的同步電路比較有額外的工作限制。觀念中我們是以兩個不同的電壓值來表示一位二進位數,為了方便起見我們稱之為0和1。當一個電路活動或事件(event)發生時,這些訊號可能保持不變或改變,而當訊號改變時,也許不是單純的從一種電壓轉換到另一種電壓,這種非單調性的改變通常稱為雜訊(glitch),而當電路可能產生含有雜訊的輸出時,此電路會含有一些潛在問題(hazard)。在4.3節裡將討論許多不同種類的潛在問題。在同步電路中,同步時脈訊號若有雜訊必然會造成電路機能失常,而其他非同步時脈的訊號,只要在時脈訊號轉換的前後時間裡進入穩定狀態,則雜訊不會造成電路的機能失常。而雜訊的問題是同步電路的優點亦是缺點,這意味著在設計非共同時脈的訊號無須考慮雜訊的產生,而可以...