借鑑雙邊沿觸發器思想,設計一個雙邊沿移位寄存器

2021-01-08 電子產品世界

  隨著社會的發展,科學技術也在不斷的進步。特別是計算機產業,可以說是日新月異,移位寄存器作為計算機的一個重要部件,從先前的只能做簡單的左移或右移功能的寄存器到現在廣泛應用的具有寄存代碼、實現數據的串行-並行轉換、數據運算和數據處理功能的移位寄存器。移位寄存器正在向著功能強,體積小,重量輕等方向不斷發展。

本文引用地址:http://www.eepw.com.cn/article/201712/373668.htm

  近年來,集成電路和計算機應用得到了高速發展,現代電子設計技術已邁入一個嶄新的階段,具體表現在:

  (1)電子器件及其技術的發展將更多地趨向於為EDA服務;

  (2)硬體電路與軟體設計過程已高度滲透;

  (3)電子設計技術將歸結為更加標準、規範的EDA工具和硬體描述語言HDL的運用;

  (4)數字系統的晶片化實現手段已成主流。

  因此利用計算機和大規模複雜可編程邏輯器件進行現代電子系統設計已成為電子工程類技術人員必不可少的基本技能之一。

  隨著集成電路集成度的不斷增加和工作速度的提高,功耗急劇增加。早在7年前,Alpha處理器21164的功耗已高達50W.這給集成電路的散熱、封裝和便攜設備的使用等都帶來極大的困難。因此,如何降低功耗成為設計集成電路時要考慮的一個重要問題。

  在CMOS電路的功耗中決定性的一項來自於電路中對給定結點的充放電與此相應的功耗可由下式表示:

  P=0.5CL·V2DD·fCLK·ESW

  式中,CL為該結點的物理電容,VDD為電源電壓,fCLK為時鐘頻率,ESW(稱為開關活動性)是每個時鐘周期1?fCLK中的平均輸出跳變數。

  在一個系統中時序電路常是功耗的主要貢獻者,因為時序電路的輸入信號之一就是時鐘,而它正是唯一的一直在跳變的信號。此外,時鐘信號的負荷總是最高的。為分布時鐘以及控制住時鐘偏移,就需要構建一個含有時鐘緩衝器的遍布系統的時鐘網絡(通常稱為時鐘樹)。所有這些均增加了時鐘網絡的結點電容的總和。近年來的研究表明,在數字計算機中時鐘信號消耗的功耗佔了系統功耗的很大比例(15%~45%)。因此,通過減少時鐘功耗將可以大幅度降低電路的總功耗。

  在對觸發器的內部結構的分析中發現時鐘信號有一半跳變是冗餘的,僅有另一半跳變才引起觸發器的狀態變化。因此,當前國際上對一種新型的雙邊沿觸發器提出了研究。所謂雙邊沿觸發器是指對時鐘上下跳變敏感的一種新型觸發器。使用該類觸發器,時鐘信號的頻率可以降低一半就能保持原來的工作速度,從而使得對雙邊沿觸發器的研究成為低功耗設計的一個研究熱點。

  注意到觸發器是存儲單個數位訊號的存儲單元,而用觸發器串接而成的移位寄存器可以認為是一種存儲多位數位訊號的存儲元件。因此對雙邊沿觸發器的研究應可推廣到對移位寄存器的研究中來。本文將從雙邊沿觸發器的設計思想出發對雙邊沿移位寄存器的設計思想、工作原理、低功耗特點及應用等方面展開深入研究,以達成對該一新型低功耗器件的研究完整性。

  雙邊沿移位寄存器的設計

  鎖存器(latch)是構成觸發器的基本單元。鎖存器的輸入時鐘信號clk用於將鎖存器置於存貯狀態或輸入狀態。若用D、Q和Q′分別來表示鎖存器的輸入信號、現態及次態,則高電平輸入與低電平輸入等兩種鎖存器的狀態方程可表示如下:

  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)利用數據選擇器MUX實現的時鐘高電平時輸入與低電平時輸入的D型鎖存器邏輯結構。

    

 

  以圖1(a)所示的時鐘高電平時輸入的D型鎖存器為例,它的工作特點為在clk=0時輸入信號無法影響鎖存器的存貯狀態,而當clk=1時,輸入信號就能影響鎖存器的存貯狀態。這樣,在clk=1期間輸入信號的多次變化將會導致鎖存器發生多次狀態轉換。為了實現一次狀態轉換,可以要求它的輸入信號在clk=1時保持不變。這一要求暗示了該鎖存器的輸入信號在clk=1時應處於一種存貯狀態,因此也就需要另外一個反相控制的鎖存器,由此便導出了傳統的主從觸髮結構。圖2(a)即為用圖1(a)、(b)中兩種用數據選擇器MUX組成的鎖存器串聯而構成的單邊沿主從觸發器。其中前級D型鎖存器為主鎖存器,後級D型鎖存器為從鎖存器。當clk=1時主鎖存器處於輸入狀態,而從鎖存器處於存貯狀態;當clk=0時主鎖存器處於存貯狀態,而從鎖存器處於輸入狀態,Q轉換為Q′,即該主從觸發器僅在clk下跳時進行狀態轉換,因此稱為單邊沿觸發器(SETFF)。

  一次狀態轉換的要求也可以從觸發器的輸出來考慮。只要選擇處於輸入狀態的鎖存器與輸出隔離,則該鎖存器即使在輸入狀態下發生多次狀態轉換也不會影響輸出狀態。這暗示了可以把串聯的主從觸發器改成並聯的形式。兩個鎖存器在時鐘clk的作用下交替處於輸入狀態及存貯狀態,而最後可以用另一個數據選擇器MUX使二者中處於存貯狀態的鎖存器接通輸出端,如圖2(b)所示。這樣,該觸發器在clk=0、1時都能夠接收輸入信號,觸發器的狀態在時鐘脈衝的上升沿和下降沿均可以改變,從而實現了時鐘信號的雙邊沿觸發,圖2(b)中的圖形符號已在時鐘輸入端標誌了這一特性。

    

 

  借鑑以上雙邊沿觸發器的設計思想,可以設計出雙邊沿移位寄存器。下面以設計16位的移位寄存器為例進行討論。傳統的移位寄存器設計以16個單邊沿觸發器串行級聯構成,如圖3(a)所示。該移位寄存器要存儲或者輸出162bit的數據需要有16個時鐘周期,在此期間各個觸發器均要受到32個時鐘跳變。如果將16個單邊沿觸發器分成兩組,每組由8個反相觸發的單邊沿觸發器串行級聯構成單邊沿移位寄存器,再將兩組觸發器並聯就構成了雙邊沿移位寄存器。兩組觸發器在時鐘的作用下交替處於輸入狀態及存儲狀態,而最後可以用一個數據選擇器MUX使處於存儲狀態的觸發器組接通輸出端,如圖3(b)所示。這樣,162bit數據依次在一個時鐘周期內分別由上下二組觸發器輪流接收、存儲並輸出到移位寄存器的輸出端,在此期間每個觸發器只接收到16次時鐘信號的觸發(8個時鐘周期)。因此,如果保持時鐘頻率不變,則移位寄存器處理的數據流量在能耗不變的前提下增加近1倍;另外,如果時鐘頻率降低一半,則能在保持不變的數據流量的同時降低移位寄存器的功耗。

    

 

  圖4所示是在相同的數據流量的情況下單邊沿移位寄存器和雙邊沿移位寄存器的能耗曲線。由圖可知,雙邊沿移位寄存器比單邊沿移位寄存器的功耗降低了38.5%.可以發現,雖然雙邊沿移位寄存器比單邊沿移位寄存器增加了一個MUX,但是由於開關頻率減半所導致的功耗降低仍是主要的。

    

 

  應用雙邊沿移位寄存器的時序電路設計

  以上設計的雙邊沿移位寄存器可以應用於各種時序系統,如數據的移位寄存和設計移位型計數器。在數據流量不變的情況下,時鐘頻率可以減半。以下將以圖5所示的2&TImes;2位雙邊沿移位寄存器為例,討論採用該移位寄存器設計移位計數器的設計過程及設計特點。

  如圖5所示,2&TImes;2位雙邊沿移位寄存器的控制輸入端接受控制邏輯I的輸出,控制邏輯I的輸入為狀態變量Q1、Q2、Q3、Q4.這樣只須設計控制邏輯I,就可以設計出雙邊沿移位計數器,故其設計比較簡單。作者發現,將時鐘信號clk作為狀態變量可以設計出更多狀態數的計數器並且使電路結構簡單。由Q1、Q2、Q3、Q4、clk五位狀態變量,可以設計出最大狀態數為32的移位計數器。

    

 

  由於各觸發器之間必須保持移位的關係,移位計數器狀態遷移受到限制。這就是說,對任何一個目前狀態來說,它只有兩種可能的下一狀態,因為只有首位觸發器才有兩種可能的取值供選擇,而其餘各位已由目前狀態所決定。由於狀態遷移受到限制,可以將一個移位寄存器的全狀態圖畫出來,以便用它來選擇各種長度的移位計數器所使用的編碼。五位移位計數器的全狀態圖如圖6所示。圖中I為首位觸發器的輸入,它只有兩種取值0或1.在圖6中,作者以一個最大計數環作為主幹,給出了全狀態圖。為了使用上的方便,在全狀態圖左邊的返回線上用十進位數表明它所跨的狀態數(包括起止狀態),在全狀態圖右邊的分枝線上用負數表明它所跳過的狀態數(不包括起止狀態)。

  單獨使用返回線,能夠獲得某種循環長度的狀態圖及其編碼。例如4號返回線指出,若起始狀態為00100,在I為1時遷移到狀態10001,又在I為0時從10001遷到10000,再在I為0時遷到00101,最後在I為0時返回到起始狀態00100.僅用返回線決定的循環長度有4、6、8、10、12、14、16、18、20、22、30、32十二種。

    

 

  如果返回線和分枝線配合起來使用,可以獲得從2到32的任何一種偶數循環長度。設計原則是:使所有選中的返回線和分枝線上的數字的代數和,等於所需的循環長度。例如,要求循環長度為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

  利用全狀態圖來設計移位計數器是十分方便的,只要給定循環長度後,就能從全狀態圖中查出所設計的計數器的狀態圖,有了狀態圖便能設計出電路來。而且因為對於給定的循環長度,其設計方案有很多種,所以可以綜合考慮各種設計方案,找到首級觸發器的控制邏輯I最簡單的一種方案,從而達到電路的最簡。

    

 

  以設計30狀態移位計數器為例,由圖6可以看出循環長度為30的組成方案至少有3種,而採用單獨使用30號返回線的方案,控制邏輯I最簡單。由30號返回線構成的狀態圖可以得到控制邏輯I的卡諾圖如圖7所示,再由卡諾圖可以得到控制邏輯I的表達式:I=Q3+Q4.因此,在圖5中當控制邏輯部分的電路為Q3+Q4時,就得到了30狀態移位計數器。作者對設計出的30狀態移位計數器進行PSPICE模擬,其工作波形如圖8所示。圖中,起始狀態為11110,中止狀態為11101.其邏輯功能達到了設計的要求。

    

 

  本文為了有效利用導致無效功耗的時鐘信號一半的冗餘跳變,借鑑雙邊沿觸發器的設計思想,推演了雙邊沿移位寄存器的設計,並進一步探討了其在雙邊沿移位計數器中的應用。通過PSPICE模擬程序比較單邊沿移位寄存器和雙邊沿移位寄存器,作者發現所設計出的雙邊沿移位寄存器具有正確的邏輯功能,而且在時鐘信號頻率減半後,仍能保持數據傳輸率不變,達到了降低功耗的目的。本文對30狀態移位計數器的設計中發現,如使用雙邊沿移位寄存器,則可以只用4個觸發器來實現,這一節省一個觸發器的結果與文獻[9]的結果相吻合。本文對雙邊沿移位寄存器的研究實際上是對雙邊沿觸發器的進一步研究,達成了研究的完整性。

相關焦點

  • 脈衝和邊沿觸發器區別
    現在一般指數位訊號,它已經是一個周期內有一半時間有信號。計算機內的信號就是脈衝信號,又叫數位訊號。此外,脈衝也用來表示思想感情上的衝動和要求。 邊沿觸發器,指的是接收時鐘脈衝CP 的某一約定跳變(正跳變或負跳變)來到時的輸入數據。在CP=l 及CP=0 期間以及CP非約定跳變到來時,觸發器不接收數據的觸發器。
  • 無線充電qi協議的主控制器的低功耗設計
    由於無線充電是數模混合電路,故對控制器的設計要考慮模擬方面的需求,採用的是0.25 μm ,5 V的標準CMOS數模混合庫。2 無線充電設計的總體架構根據無線充電QI協議中控制器的設計要求,其控制器的設計架構如下圖3a所示。該架構主要有:狀態機,計數器,選擇器和移位寄存器構成。
  • ALTECC_DECODER IP核的IEEE 1500 Wrapper設計
    1.2 WBY設計在測試過程中,為達到節省測試時間的目的,對於無需測試的IP核,可使旁路寄存器WBY在Wrapper中處於有效狀態。如圖2所示,旁路寄存器WBY串接於WSI—WSO之間,其可為Wrapper提供一條最短的移位路徑,實現對WBR鏈的旁路。因此,WBY通常按1 bit移位長度設計,但在必要時可增加移位長度。
  • 數字電路中D觸發器和D鎖存器分別有什麼作用?
    打開APP 數字電路中D觸發器和D鎖存器分別有什麼作用?   D觸發器時序圖     數字電路中D觸發器和D鎖存器作用描述:   D型觸發器的輸入輸出關係簡單明了,是多位寄存器的基本結構。
  • C51串口的SCON寄存器及工作方式
    RISM0、SM1:串行口工作方式選擇位,其定義如下:SM0、SM1工作方式功能描述波特率0 0方式08位移位寄存器TI置位既表示一幀信息發送結束,同時也是申請中斷,可根據需要,用軟體查詢的方法獲得數據已發送完畢的信息,或用中斷的方式來發送下一個數據。TI必須用軟體清0。RI:接收中斷標誌位。在方式0,當接收完第8位數據後,由硬體置位。在其它方式中,在接收到停止位的中間時刻由硬體置位(例外情況見於SM2的說明)。RI置位表示一幀數據接收完畢,可用查詢的方法獲知或者用中斷的方法獲知。
  • 介紹數字電路中的三種觸發器類型
    電平觸發器如上圖所示就是電平觸發器的邏輯結構圖和圖形符號圖,只有CLK為高電平的時候才能接受輸入信號,並按照輸入信號將觸發器輸出置成相應的輸出。它是由一個SR觸發器和兩個與非門組成,又稱為同步SR觸發器。2.
  • jk邊沿觸發器工作原理
    JK觸發器具有置0、置1、保持和翻轉功能,在各類集成觸發器中,JK觸發器的功能最為齊全。在實際應用中,它不僅有很強的通用性,而且能靈活地轉換其他類型的觸發器。由JK觸發器可以構成D觸發器和T觸發器。   JK觸發器工作特性   建立時間:是指輸入信號應先於CP信號到達的時間,用tset表示。
  • 施密特觸發器的特點_施密特觸發器作用
    打開APP 施密特觸發器的特點_施密特觸發器作用 發表於 2018-01-16 16:02:37 施密特觸發器的特點
  • 關於串行口控制寄存器SCON
    在具體操作串口之前需要對單片機的一些與串口有關的特殊功能寄存器進行初始化設置,主要是設置產生波特率的定時器1、串行口控制和中斷控制。具體步驟如下:1.
  • 應用於CNN中卷積運算的LUT乘法器設計
    CLB(configuratble logic block)是主要的資源模塊,其包含了8個LUT,16個寄存器,carry邏輯,以及多路選通器等。其中LUT可以用作6輸入1輸出,或者兩個5輸入LUT,但是這兩個LUT公用輸入,具有不同輸出。每個LUT輸出可以連接到寄存器或者鎖存器,或者從CLB輸出。LUT可以用於64x1和32X2的分布式RAM,一個CLB內最大可以支持512X1大小的RAM。
  • 具有記憶功能門電路之基本RS觸發器、同步RS觸發器、D觸發器
    該類電路,即數字電路中的基本RS觸發器、同步RS觸發器、同步D觸發器、主從觸發器、邊緣觸發器等和在此基礎之上的時序邏輯電路,而整個數字電路的大廈,也即由組合邏輯電路和時序邏輯電路所構成。1、基本RS觸發器1)由與非門構成的基本RS觸發器由兩個與非門電路交叉耦合即構成基本的RS觸發器,由於電路中G1、G2作用相同,習慣上用邏輯符號予以表示。
  • 數字電路中簡單的觸發器就可以組成計數器
    1-1二進位計數器原理異步二進位加法計數器圖1-1所示是一個3位二進位異步加法計數器的電路結構,它由3個JK觸發器組成, 其中J、K端都懸空,相當於J=l、K=l,時鐘脈衝輸入端的和小圓圈表示脈衝下降沿 (由「1」變為「0」時)來時工作有效。
  • 基礎組合邏輯電路之邊沿觸發的D觸發器
    邊沿觸發器的電路結構可使觸發器在CP脈衝有效觸發沿到來前一瞬間接收信號,在有效觸發沿到來後產生狀態轉換,這種電路結構的觸發器大大提高了抗幹擾能力和電路工作的可靠性。下面以維持阻塞D觸發器為例介紹邊沿觸發器的工作原理。邏輯圖結構維持阻塞式邊沿D觸發器的邏輯圖。
  • FPGA控制下面陣CCD時序發生器設計及硬體實現
    摘要 在分析Sony公司ICX098BQ面陣CCD圖像傳感器驅動時序的基礎上,對可調節曝光時間的CCD時序發生器及其硬體電路進行設計。選用FPGA器件作為硬體設計平臺,使用VHDL語言對時序關係進行了硬體描述。
  • 一份寄存器匯總讓你成為單片機編程高手
    393508.htm  一、一般而言,MCS-51單片機有5個中斷源,分別是:  1、外部中斷0;  2、外部中斷1;  3、定時/計數器0中斷;  4、定時/計數器1中斷;  5、串行口發送或接受中斷;  1)用到外部中斷時:  EX0 = 1;//中斷允許開關  IT0 = 0;//下降沿觸發方式