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