隨著社會的發(fā)展,科學技術也在不斷的進步。特別是計算機產業(yè),可以說是日新月異,移位寄存器作為計算機的一個重要部件,從先前的只能做簡單的左移或右移功能的寄存器到現(xiàn)在廣泛應用的具有寄存代碼、實現(xiàn)數據的串行-并行轉換、數據運算和數據處理功能的移位寄存器。移位寄存器正在向著功能強,體積小,重量輕等方向不斷發(fā)展
近年來,集成電路和計算機應用得到了高速發(fā)展,現(xiàn)代電子設計技術已邁入一個嶄新的階段,具體表現(xiàn)在:
(1)電子器件及其技術的發(fā)展將更多地趨向于為EDA服務;
(2)硬件電路與軟件設計過程已高度滲透;
(3)電子設計技術將歸結為更加標準、規(guī)范的EDA工具和硬件描述語言HDL的運用;
(4)數字系統(tǒng)的芯片化實現(xiàn)手段已成主流。
因此利用計算機和大規(guī)模復雜可編程邏輯器件進行現(xiàn)代電子系統(tǒng)設計已成為電子工程類技術人員必不可少的基本技能之一。
隨著集成電路集成度的不斷增加和工作速度的提高, 功耗急劇增加。 早在 7 年前, A lpha 處理器21164 的功耗已高達 50 W. 這給集成電路的散熱、封裝和便攜設備的使用等都帶來極大的困難。 因此,如何降低功耗成為設計集成電路時要考慮的一個重要問題。
在 CM O S 電路的功耗中決定性的一項來自于電路中對給定結點的充放電與此相應的功耗可由下式表示:
P = 0. 5CL·V2DD·f CL K·E SW ,
式中, CL 為該結點的物理電容, V DD 為電源電壓,f CL K為時鐘頻率, E SW (稱為開關活動性) 是每個時鐘周期 1?f CL K中的平均輸出跳變數
在一個系統(tǒng)中時序電路常是功耗的主要貢獻者, 因為時序電路的輸入信號之一就是時鐘, 而它正是唯一的一直在跳變的信號。 此外, 時鐘信號的負荷總是最高的。 為分布時鐘以及控制住時鐘偏移, 就需要構建一個含有時鐘緩沖器的遍布系統(tǒng)的時鐘網絡(通常稱為時鐘樹)。 所有這些均增加了時鐘網絡的結點電容的總和。 近年來的研究表明, 在數字計算機中時鐘信號消耗的功耗占了系統(tǒng)功耗的很大比例(15%~ 45% )。 因此, 通過減少時鐘功耗將可以大幅度降低電路的總功耗。
在對觸發(fā)器的內部結構的分析中發(fā)現(xiàn)時鐘信號有一半跳變是冗余的, 僅有另一半跳變才引起觸發(fā)器的狀態(tài)變化。 因此, 當前國際上對一種新型的雙邊沿觸發(fā)器提出了研究。 所謂雙邊沿觸發(fā)器是指對時鐘上下跳變敏感的一種新型觸發(fā)器。 使用該類觸發(fā)器, 時鐘信號的頻率可以降低一半就能保持原來的工作速度, 從而使得對雙邊沿觸發(fā)器的研究成為低功耗設計的一個研究熱點。
注意到觸發(fā)器是存儲單個數字信號的存儲單元, 而用觸發(fā)器串接而成的移位寄存器可以認為是一種存儲多位數字信號的存儲元件。 因此對雙邊沿觸發(fā)器的研究應可推廣到對移位寄存器的研究中來。 本文將從雙邊沿觸發(fā)器的設計思想出發(fā)對雙邊沿移位寄存器的設計思想、工作原理、低功耗特點及應用等方面展開深入研究, 以達成對該一新型低功耗器件的研究完整性
雙邊沿移位寄存器的設計
鎖存器(latch) 是構成觸發(fā)器的基本單元。 鎖存器的輸入時鐘信號 clk 用于將鎖存器置于存貯狀態(tài)或輸入狀態(tài)。 若用D、Q 和Q ′分別來表示鎖存器的輸入信號、現(xiàn)態(tài)及次態(tài), 則高電平輸入與低電平輸入等兩種鎖存器的狀態(tài)方程可表示如下:
Q ′= D ·clk+ Q ·clk , (1)
Q ′= D ·clk+ Q ·clk.,(2)
式(1) 表示鎖存器在 clk = 1 時輸入數據, clk = 0 時存貯數據; 而相應式(2) 為 clk = 0 時輸入數據, clk= 1 時存貯數據。 圖 1 (a)、(b) 分別示出了根據式(1)、(2) 利用數據選擇器M U X 實現(xiàn)的時鐘高電平時輸入與低電平時輸入的D 型鎖存器邏輯結構
以圖 1 (a) 所示的時鐘高電平時輸入的D 型鎖存器為例, 它的工作特點為在 clk = 0 時輸入信號無法影響鎖存器的存貯狀態(tài), 而當 clk = 1 時, 輸入信號就能影響鎖存器的存貯狀態(tài)。 這樣, 在 clk = 1期間輸入信號的多次變化將會導致鎖存器發(fā)生多次狀態(tài)轉換。 為了實現(xiàn)一次狀態(tài)轉換, 可以要求它的輸入信號在 clk = 1 時保持不變。 這一要求暗示了該鎖存器的輸入信號在 clk = 1 時應處于一種存貯狀態(tài), 因此也就需要另外一個反相控制的鎖存器, 由此便導出了傳統(tǒng)的主從觸發(fā)結構。 圖 2 (a) 即為用圖 1(a)、(b) 中兩種用數據選擇器M U X 組成的鎖存器串聯(lián)而構成的單邊沿主從觸發(fā)器。 其中前級D 型鎖存器為主鎖存器, 后級D 型鎖存器為從鎖存器。 當clk = 1 時主鎖存器處于輸入狀態(tài), 而從鎖存器處于存貯狀態(tài); 當 clk = 0 時主鎖存器處于存貯狀態(tài), 而從鎖存器處于輸入狀態(tài),Q 轉換為Q ′, 即該主從觸發(fā)器僅在 clk 下跳時進行狀態(tài)轉換, 因此稱為單邊沿觸發(fā)器(SETFF)。
一次狀態(tài)轉換的要求也可以從觸發(fā)器的輸出來考慮。 只要選擇處于輸入狀態(tài)的鎖存器與輸出隔離,則該鎖存器即使在輸入狀態(tài)下發(fā)生多次狀態(tài)轉換也不會影響輸出狀態(tài)。 這暗示了可以把串聯(lián)的主從觸發(fā)器改成并聯(lián)的形式。 兩個鎖存器在時鐘 clk 的作用下交替處于輸入狀態(tài)及存貯狀態(tài), 而最后可以用另一個數據選擇器M U X 使二者中處于存貯狀態(tài)的鎖存器接通輸出端, 如圖 2 (b) 所示。 這樣, 該觸發(fā)器在 clk = 0、1 時都能夠接收輸入信號, 觸發(fā)器的狀態(tài)在時鐘脈沖的上升沿和下降沿均可以改變, 從而實現(xiàn)了時鐘信號的雙邊沿觸發(fā), 圖 2 (b) 中的圖形符號已在時鐘輸入端標志了這一特性
借鑒以上雙邊沿觸發(fā)器的設計思想, 可以設計出雙邊沿移位寄存器。 下面以設計 16 位的移位寄存器為例進行討論。 傳統(tǒng)的移位寄存器設計以 16 個單邊沿觸發(fā)器串行級聯(lián)構成, 如圖 3 (a) 所示。 該移位寄存器要存儲或者輸出 162b it 的數據需要有 16 個時鐘周期, 在此期間各個觸發(fā)器均要受到 32 個時鐘跳變。 如果將 16 個單邊沿觸發(fā)器分成兩組, 每組由8 個反相觸發(fā)的單邊沿觸發(fā)器串行級聯(lián)構成單邊沿移位寄存器, 再將兩組觸發(fā)器并聯(lián)就構成了雙邊沿移位寄存器。 兩組觸發(fā)器在時鐘的作用下交替處于輸入狀態(tài)及存儲狀態(tài), 而最后可以用一個數據選擇器M U X 使處于存儲狀態(tài)的觸發(fā)器組接通輸出端,如圖 3 (b) 所示。 這樣, 162b it 數據依次在一個時鐘周期內分別由上下二組觸發(fā)器輪流接收、存儲并輸出到移位寄存器的輸出端, 在此期間每個觸發(fā)器只接收到 16 次時鐘信號的觸發(fā) (8 個時鐘周期)。 因此, 如果保持時鐘頻率不變, 則移位寄存器處理的數據流量在能耗不變的前提下增加近 1 倍; 另外, 如果時鐘頻率降低一半, 則能在保持不變的數據流量的同時降低移位寄存器的功耗
圖 4 所示是在相同的數據流量的情況下單邊沿移位寄存器和雙邊沿移位寄存器的能耗曲線。 由圖可知, 雙邊沿移位寄存器比單邊沿移位寄存器的功耗降低了 38. 5%. 可以發(fā)現(xiàn), 雖然雙邊沿移位寄存器比單邊沿移位寄存器增加了一個M U X, 但是由于開關頻率減半所導致的功耗降低仍是主要的。
應用雙邊沿移位寄存器的時序電路設計
以上設計的雙邊沿移位寄存器可以應用于各種時序系統(tǒng), 如數據的移位寄存和設計移位型計數器。在數據流量不變的情況下, 時鐘頻率可以減半。 以下將以圖 5 所示的 2&TImes;2 位雙邊沿移位寄存器為例, 討論采用該移位寄存器設計移位計數器的設計過程及設計特點
如圖 5 所示, 2&TImes;2 位雙邊沿移位寄存器的控制輸入端接受控制邏輯 I 的輸出, 控制邏輯 I 的輸入為狀態(tài)變量Q 1、Q 2、Q 3、Q 4. 這樣只須設計控制邏輯I, 就可以設計出雙邊沿移位計數器, 故其設計比較簡單。 作者發(fā)現(xiàn), 將時鐘信號 clk 作為狀態(tài)變量可以設計出更多狀態(tài)數的計數器并且使電路結構簡單。由Q 1、Q 2、Q 3、Q 4、clk 五位狀態(tài)變量, 可以設計出最大狀態(tài)數為 32 的移位計數器
由于各觸發(fā)器之間必須保持移位的關系, 移位計數器狀態(tài)遷移受到限制。 這就是說, 對任何一個目前狀態(tài)來說, 它只有兩種可能的下一狀態(tài), 因為只有首位觸發(fā)器才有兩種可能的取值供選擇, 而其余各位已由目前狀態(tài)所決定。 由于狀態(tài)遷移受到限制, 可以將一個移位寄存器的全狀態(tài)圖畫出來, 以便用它來選擇各種長度的移位計數器所使用的編碼。 五位移位計數器的全狀態(tài)圖如圖 6 所示。 圖中 I 為首位觸發(fā)器的輸入, 它只有兩種取值 0 或 1. 在圖 6 中,作者以一個最大計數環(huán)作為主干, 給出了全狀態(tài)圖。為了使用上的方便, 在全狀態(tài)圖左邊的返回線上用十進制數表明它所跨的狀態(tài)數(包括起止狀態(tài)) , 在全狀態(tài)圖右邊的分枝線上用負數表明它所跳過的狀態(tài)數(不包括起止狀態(tài))。
單獨使用返回線, 能夠獲得某種循環(huán)長度的狀態(tài)圖及其編碼。 例如 4 號返回線指出, 若起始狀態(tài)為00100, 在 I 為 1 時遷移到狀態(tài) 10001, 又在 I 為 0 時從 10001 遷到 10000, 再在 I 為 0 時遷到 00101, 最后在 I 為 0 時返回到起始狀態(tài) 00100. 僅用返回線決定的循環(huán)長度有 4、6、8、10、12、14、16、18、20、22、30、32 十二種
如果返回線和分枝線配合起來使用, 可以獲得從 2 到 32 的任何一種偶數循環(huán)長度。 設計原則是:使所有選中的返回線和分枝線上的數字的代數和,等于所需的循環(huán)長度。 例如, 要求循環(huán)長度為 28 的方案有 3 種:
方案一: 32- 4= 28, (32 號返回線和- 4 號分枝線)。
編 碼 為 00000, 00001, 01000, 01001, 00010,10011, 11000, 01101, 01110, 01011, 01010, 11011,11010, 11111, 10110, 00111, 01100, 11001, 10010,10111, 10100, 10101, 11100, 11101, 11110, 01111,00110, 00011
方案二: 30- 2= 28, (30 號返回線和圖 6 中上部的- 2 號分枝線)
編 碼 為 01000, 01001, 00010, 10011, 11000,01101, 01110, 11011, 11010, 11111, 10110, 00111,00100, 10001, 10000, 00101, 01100, 11001, 10010,10111, 10100, 10101, 11100, 11101, 11110, 01111,00110, 00011
方案三: 30- 2= 28, (30 號返回線和圖 6 中下部的- 2 號分枝線)
編 碼 為 01000, 01001, 00010, 10011, 11000,01101, 01110, 01011, 01010, 11011, 11010, 11111,10110, 00111, 00100, 10001, 10000, 00101, 01100,11001, 10010, 10111, 11100, 11101, 11110, 01111,00110, 00011
利用全狀態(tài)圖來設計移位計數器是十分方便的, 只要給定循環(huán)長度后, 就能從全狀態(tài)圖中查出所設計的計數器的狀態(tài)圖, 有了狀態(tài)圖便能設計出電路來。 而且因為對于給定的循環(huán)長度, 其設計方案有很多種, 所以可以綜合考慮各種設計方案, 找到首級觸發(fā)器的控制邏輯 I 最簡單的一種方案, 從而達到電路的最簡
以設計 30 狀態(tài)移位計數器為例, 由圖 6 可以看出循環(huán)長度為 30 的組成方案至少有 3 種, 而采用單獨使用 30 號返回線的方案, 控制邏輯 I 最簡單。 由30 號返回線構成的狀態(tài)圖可以得到控制邏輯 I 的卡諾圖如圖 7 所示, 再由卡諾圖可以得到控制邏輯I 的表達式: I= Q 3+ Q 4. 因此, 在圖 5 中當控制邏輯部分的電路為Q 3+ Q 4 時, 就得到了 30 狀態(tài)移位計數器。 作者對設計出的 30 狀態(tài)移位計數器進行PSP ICE 模擬, 其工作波形如圖 8 所示。 圖中, 起始狀態(tài)為 11110, 中止狀態(tài)為 11101. 其邏輯功能達到了設計的要求
本文為了有效利用導致無效功耗的時鐘信號一半的冗余跳變, 借鑒雙邊沿觸發(fā)器的設計思想, 推演了雙邊沿移位寄存器的設計, 并進一步探討了其在雙邊沿移位計數器中的應用。 通過 PSP ICE 模擬程序比較單邊沿移位寄存器和雙邊沿移位寄存器, 作者發(fā)現(xiàn)所設計出的雙邊沿移位寄存器具有正確的邏輯功能, 而且在時鐘信號頻率減半后, 仍能保持數據傳輸率不變, 達到了降低功耗的目的。 本文對 30 狀態(tài)移位計數器的設計中發(fā)現(xiàn), 如使用雙邊沿移位寄存器, 則可以只用 4 個觸發(fā)器來實現(xiàn), 這一節(jié)省一個觸發(fā)器的結果與文獻[ 9 ]的結果相吻合。 本文對雙邊沿移位寄存器的研究實際上是對雙邊沿觸發(fā)器的進一步研究, 達成了研究的完整性.