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