1. 程式人生 > 其它 >同步電路、非同步電路設計

同步電路、非同步電路設計

1.       同步電路

  1.1同步電路的定義

所謂同步電路,即電路中所有受時鐘控制的單元,如觸發器(Flip Flop)或暫存器(Register),全部由一個統一的全域性時鐘控制。

 

       如圖所示,觸發器R1和R2都由一個統一的時鐘clk來控制時序,在R1和R2之間有一堆組合邏輯,這就是一個最簡單的同步電路。

       1.2同步電路的收斂問題

       時序電路的一個首要問題是觸發器的時序收斂問題。觸發器的時序收斂保證了觸發器輸入端的資料在時鐘訊號的有效沿來臨之前達到穩定。即滿足了觸發器的建立時間(Setup Time),同樣也保證了觸發器輸入端資料在時鐘有效沿過後的一段時間內保持穩定,即滿足觸發器的保持時間(Hold Time)。

 

  第1級觸發器R1的輸出Q1在時鐘上升沿後得到新值,Q1值經過一段組合邏輯後輸出連線到下一級觸發 器R2的輸入端D2,經過這段組合邏輯必然要有一段延時 Tdelay輸出才能最終穩定。假設觸發器R2的建立時間為Tsetup2,所謂滿足時序收斂首先要滿足時鐘週期T≥Tsetup2+ Tdelay, 可以看出同步電路的最大工作速度是由最長的組合邏輯路徑延時決定的。同樣為了保證D2在T時刻的值能夠被無誤地鎖存,其值必須在保持時間Thold內保持穩定。這樣整個同步電路就可以可靠無誤地執行下去了。

1.3同步電路的優點與缺陷

  優點:

  在同步設計中,EDA工具可以保證電路系統的時序收斂,有效避免了電路設計中競爭冒險現象;

  由於觸發器只有在時鐘邊緣才改變取值,很大限度減少了整個電路受毛刺和噪聲的影響的可能。

  缺陷:

  同步設計中最主要的問題是時鐘偏斜(Clock Skew)及功耗的問題。

  由於版圖上達到每個觸發器時鐘埠的連線長度不同,驅動單元的負載不同等原因,如果沒有經過處理,全域性時鐘線到達各個時序邏輯單元的時鐘埠的時間就不可能相同。這種時鐘到達在空間上的差別稱為時鐘偏斜(Clock Skew)。

  時鐘偏斜如上圖所示,時鐘偏斜的後果是非常嚴重的,試想如果clk2早於clk1到達,會造成資料到達R2的建立時間不夠,如果要保證電路正常工作就只能降低電路的工作頻率。反之,clk2晚於clk1到達,會不滿足保持時間的時序要求,從而產生競爭冒險現象。目前解決上述問題的方法是採用EDA工具進行時鐘樹綜合。它的原理是根據最長時鐘路徑來平衡其他時鐘路徑,這就需要加入大量的延遲單元,使得電路的面積和功耗增加。

  除了時鐘偏斜,同步電路還受到時鐘抖動(Clock Jitter)的影響。所謂時鐘抖動指的是,晶片某一給定點上時鐘訊號的間歇性變化,即時鐘週期在不同的時間段長短不一。

2.全非同步電路設計

       全非同步設計和同步設計最大的不同就是它的電路中的資料傳輸可以在任何時候發生,電路中沒有一個全域性的或區域性的控制時鐘。

  如圖所示,觸發器R1由時鐘clk1控制,觸發器R2由時鐘clk2控制,R1的輸出端Q1通過組合邏輯連線到R2的輸入端D2。D2的輸入端的資料值的跳變並不在clk2的控制之下,它可能在時鐘clk2的任意時間點發生跳變。在全非同步設計中,原來同步設計中可避免競爭冒險現象、減少噪聲影響的優點全沒有了。

       2.1自定時方法

為了保證電路在任何操作條件和輸入序列下都能正確工作,需要一套可靠的技術解決電路中可能碰到的時序問題,這就是自定時方法。區別於同步設計的全域性時鐘,它是一種區域性解決時序問題的方法。

  如上圖所示,自定時方法要求每個邏輯單元,都能通過一個開始(Start)訊號來啟動,從而開始對輸入的資料進行計算,一旦計算完畢,它又會產生一個完成(Done)訊號。自定時方法工作方式描述如下:

       首先,一個輸入位元組到達,F1的Req訊號上升,如果F1此時沒有執行,輸入緩衝器R1接收資料,HS發出Ack,啟用發出輸入字的前級模組,然後,Start訊號上升,F1開始執行。一段延遲後,Done訊號升高,表明運算完成,接著,F1的HS模組向F2發出Req訊號,由此,資料一步一步向下傳播,實現了流水功能。

2.2握手協議自同步方法的實現離不開握手協議的支援,否則會出現競爭現象。

  如圖所示,二相位握手協議在Req和Ack的任何一對跳變沿組合處可實現一次資料資訊,相應地,四相位握手協議卻只能實現一次資料傳輸,它只有在Req和Ack固定的電平組合下(圖中為Req和Ack均為高時)才能實現資料傳輸,且在開始新的一組資料前Req和Ack必須回到無效電平。顯然,二相位握手協議比四相位握手協議效率要高,但會造成電路死鎖,其穩定性要遠遠低於四相位握手協議,所以四相位握手協議是大多數自定時電路的首選實現方法。

       2.3非同步設計電路的優點與缺陷

       優點:

       模組化特性突出,對訊號的延遲不敏感,沒有時鐘偏斜問題,有潛在的高效能特性,好的電子相容性,具有低功耗的特性。

       缺陷:

       設計複雜,缺少相應的EDA軟體支援。

摘抄自《Soc設計方法與實現》---