暫存器電路

暫存器電路

在數字電路系統工作過程中,把正在處理的二進制數據或代碼暫時存儲起來的操作叫做暫存,暫存器電路就是實現暫存功能的電路,是數字邏輯電路的基礎模組。

基本介紹

  • 中文名:暫存器電路
  • 外文名:register circuit
  • 拼音:jì cún qì diàn lù
  • 定義:實現暫存功能的電路
  • 屬性:數字邏輯電路的基礎模組
  • 套用學科:計算機
套用領域,基本暫存器電路,定義,特點,工作原理,移動暫存器電路,定義,適用場合,電路特徵,移位暫存器類型,暫存器電路建模,

套用領域

任何現代的數字電路系統,特別是一些大型的數字處理系統,往往不可能一次性地把所有的數據都處理好,因此在處理的過程中都必須把需要處理的某些數據、代碼先暫存起來,以便在需要的時候隨時取用。
在數字電路系統工作過程中,把正在處理的二進制數據或代碼暫時存儲起來的操作叫做暫存,實現暫存功能的電路稱為暫存器。暫存器是一種最基本的時序邏輯電路,在各種數字電路系統中幾乎是無所不在,使用非常廣泛。常用的積體電路暫存器按能夠暫存數據的位數來命名,如4位暫存器、8位暫存器、16位暫存器等。
暫存器按它具備的功能可分為兩大類:數碼暫存器和移位暫存器。若按照暫存器內部組成電路所使用的電晶體不同種類來區分,可以分成如電晶體一電晶體邏輯(TTL)、互補場效應電晶體邏輯(CMOS)等許多種類,目前使用最多的就是TTL暫存器和CMOS暫存器,它們都是中、小規模的積體電路器件。
暫存器電路是數字邏輯電路的基礎模組。暫存器用於暫存一組二值代碼,它被廣泛地用於各類數字系統和數字計算機中。由於一個觸發器能夠存儲一位二值代碼,所以用N個觸發器能夠存儲N位二值代碼。對於暫存器中的觸發器,只要求它們具有置高電平1、置低電平0的功能就可以了,因此,無論是用同步R-S結構觸發器,還是用主從結構或邊沿觸髮結構的觸發器,都可以組成暫存器電路。
暫存器電路
圖1
在計算機 CPU 中,為配合全加器的算術運算, N 個觸發器串聯可組成移位暫存器。例如,由四位D觸發器組成的向有數據移位的移位暫存器以及移位波形圖如圖1所示。

基本暫存器電路

定義

基本暫存器是由觸發器組成的,一個觸發器就是一個暫存器,它可以儲存一位二進制數碼。需要存儲四位二進制數碼時,只要把四個觸發器並聯起來,就可以組成一個四位二進制暫存器,它能接受和存儲四位二進制數碼。圖2是由4個D觸發器構成的基本暫存器邏輯電路,每個觸發器的cP端並聯起來作為控制端。需要存儲的數碼加到觸發器的D輸入端。四個觸發器的CP端接在一起,成為暫存器的控制端,需要存儲的數碼加到觸發器的D輸入端。
暫存器電路
圖2

特點

根據D觸發器的性質,上述的暫存器有以下基本特點。
(1)CP=0
當CP=0時,觸發器保持原狀態不變,即:
(2)CP=1
當CP=1(上升沿)時,觸發器的狀態為D輸入端的狀態,即:
由此可見,D觸發器只在CP=1(上升沿)時,才會接收和存儲數碼。
另外,由於4個觸發器的
端也並聯在一起。因此,如果在瓦D端加上負脈衝,就可將全部觸發器均置為0態,通常將這一過程稱為清零,也叫置0端。

工作原理

如果要存儲二進制數1001,它們被分別加到觸發器的D輸入端。當時鐘脈衝CP到來時,由於D觸發器的特性是在CP=1時,
,所以在CP脈衝的上升沿時,4個觸發器的狀態從高位到低位被分別置為1001,只要不出現清零脈衝或新的接收脈衝和數碼,暫存器將一直保持這個狀態不變,即輸入的二進制碼1001被存儲在該暫存器中。 如果想從暫存器中取出1001數碼,則只要從暫存器的各個Q輸出端就可以獲得。

移動暫存器電路

定義

移位暫存器電路和鎖存器電路一樣,都是暫時存放數據的部件。數字電路中常要進行加減乘除運算,加法和減法運算通常是用加法器和減法器來完成,而乘除運算則是用移位以後再加減的方法完成的。數位訊號在傳送時,將數碼一位一位按順序傳送的方式叫串列傳送,將幾位數碼同時傳送的叫並行傳送。因此,對於暫存器電路除要求它能接收、存儲和傳送數碼外,有時還要求它把數碼進行移位,這種暫存器電路被稱為移位暫存器電路。

適用場合

移位暫存器是數字系統中的一個重要部件,套用很廣泛。例如在串列運算中,需要用移位暫存器把二進制的數據—位一位依次送入,再用全加器進行運算。運算的結果又一位一位依次存入移位暫存器中。在有些數字裝置中,要將並行傳送的數據轉換成串列傳送,或者將串列傳送的數據轉換成並行傳送,要完成這些轉換也霈要使用移位暫存器。

電路特徵

從邏輯結構上看,移位暫存器電路有以下2個顯著特徵。
(1)由相同暫存單元組成
移位暫存器是由相同的暫存單元組成的。一般來說,暫存單元的個數就是移位暫存器的位數。為了完成不同的移位功能,每個暫存單元的輸出與其相鄰的下一個暫存單元輸入之間的連線方式也不同。
(2)公用時鐘
所有暫存單元公用一個時鐘,在公共時鐘作用下,各個暫存單元的工作是同步的。每輸入一個時鐘脈衝,7暫存器的數據就順序伺左或向右移動一位。暫存單元一般是主從結構的觸發器。

移位暫存器類型

CMOS移位暫存器屬子中規模積體電路,通常可按數據傳輸方式的不同進行分類,從數據輸入方式看,移位暫存器有串列輸入和並行輸入之分。串列輸入就是在時鐘脈衝作用下,把要輸入的數據從一個輸入端依次一位一位地送入暫存器。並行輸入就是把要輸入的數據從幾個輸入端同時送入暫存器。
在CMOS移位暫存器中,有的品種只具有1種輸入方式,例如只具有串列輸入方式,但也有些品種同時兼有並行和串列2種方式。串列輸入的數據加到第一個暫存單元的輸入端,在時鐘脈衝的作用下輸入;數據傳送速度較慢。並行輸入的數據一般由暫存單元的R、S端送入,傳送速度較快。

暫存器電路建模

暫存器和組合邏輯是數字邏輯電路的兩大基本要素。暫存器一般和同步時序邏輯關聯,其特點為僅當時鐘的沿(上升沿或下降沿)到達時,才有可能發生輸出的改變。根據實現目標不同,暫存器的建模結構略有不同,需要注意如下要點:
①暫存器信號聲明:暫存器定義是reg型。但是請注意,這個命題的反命題不一定成立。某些信號雖然被定義為reg型,但是最終綜合實現結果並不是暫存器,如“cnt—out—plus”雖然被指定為reg型,但是實現時是純組合邏輯。只有定義為reg型,且always的敏感表為posedge或negedge沿敏感操作時,該信號才是暫存器。
②時鐘輸入:在每個時鐘的正沿或負沿對數據進行處理。數據的正沿或負沿起作用,是在always的敏感表中通過posedge和negedge指定的。
③異步復位/置位:絕大多數目標器件的暫存器模型都包含異步復位/置位端。異步復位/置位是指無論時鐘沿是否有效,當復位/置位信號有效沿到達時,復位/置位立即發揮功能。指定異步復位/置位時,只需在always的敏感表中加入復位/置位信號的有效沿即可。下例描述的異步復位電路是最常用的暫存器復位形式之一。
④同步復位/置位:任何暫存器都可實現同步復位/置位功能。指定同步復位/置位時,always的敏感表中僅有時鐘沿信號,當同步復位/置位信號變化時,同步復位/置位並不立即發生,僅僅當時鐘沿採到同步復位/置位的有效電平時,才會在時鐘沿到達時刻進行復位/置位操作。
⑤同時使用時鐘上升和下降沿的問題:有時因為數據採樣或調整數據相位等需求,設計者會在一個always的敏感表中同時使用時鐘的posedge和negedge,或者在兩個always的敏感表中分別使用時鐘的posedge和negedge對某些暫存器電路操作。在這兩種描述下,當時鐘上沿或下沿到達時,該暫存器電路都會做相應的操作。這個雙沿電路往往可以等同於使用了原時鐘的倍頻時鐘的單沿操作電路。對於實現在PLD的設計而言,同時使用時鐘的上、下沿往往是不推薦的,因為PLD內嵌的PLL/DLL和一些時鐘電路往往只能對時鐘的一個沿保證非常好的指標,而另一個沿的抖動、偏斜、斜率等指標不見得非常最佳化,有時同時使用時鐘的正負沿會因時鐘的抖動、偏斜、占空比、斜率等問題造成一定的性能惡化。因此推薦的做法是:將原時鐘通過PLL/DLL倍頻,然後使用倍頻時鐘的單沿(如上升沿)進行操作。但是電路設計不可一概而論,如果必須使用時鐘的雙沿對同一個暫存器操作時,請設計者明確此時相當於使用了倍頻時鐘。

相關詞條

熱門詞條

聯絡我們