鎖存器和寄存器
寄存器主要由觸發器和一些控制門組成,每個觸發器能存放一位 二進制碼,存放N位數碼,就應該有N位觸發器。為保持觸發器能正常完成寄存器的功能,還必須用適當的門電路組成控制電路。
鎖存器是由電平觸發器完成的,N個電平觸發器的時鐘端連在一起,在時鐘脈沖作用下能接收N位二進制信息。
從寄存器數據角度看,鎖存器和寄存器的功能是一樣的,其區別僅在于鎖存器是用電平觸發的,而寄存器是用邊沿觸發器觸發的,即寄存器的輸出端平時不隨輸入端的變化而變化,只有在時鐘有效時,才將輸入端的數據送到輸出端;而鎖存器的輸出端平時總隨輸入端變化而變化。
寄存器是在時鐘沿進行數據的鎖存,而鎖存器是用電平使能來鎖存數據。所以寄存器的Q輸出端在每個時鐘沿都會被更新,而鎖存器僅在使能電平有效時才被更新。在FPGA設計中建議如果不是強制需求鎖存器,則應該盡量使用寄存器。
寄存器按功能可以分為兩類,即基本寄存器和移位寄存器。基本寄存器的數據只能并行的輸入或輸出;移位寄存器中的數據可以在移位脈沖作用下一次逐位右移或左移,數據既可以并行輸入并行輸出,也可以并行輸入串行輸出、串行輸入串行輸出、串行輸入并行輸出,因其數據輸入輸出方式非常靈活,所以用途非常廣泛。
鎖存器
鎖存器通常由D觸發器構成,在數字電路中,74373是一種常用的8位鎖存器,它由使能控制端EN、數據鎖存控制端G、數據輸入端D7~D0和數據輸出端Q7~Q0構成,其邏輯符號與其真值表如下;
例6-13] 74373鎖存器的VHDL描述。
分析:通過74373 鎖存器的真值表可以看出,當數據鎖存控制端G=1且使能控制端EN=0時,鎖存器把輸入端口D的數據送到輸出端口; 當數據鎖存控制端G=0且使能控制端EN =0時,鎖存器輸出端口將保持前一個狀態;當使能控制端EN=1時,不管數據鎖存控制端G的狀態如何,這時鎖存器輸出端口將處于高阻態。編寫74373鎖存器的VHDL程序時,需先使用IF語句判斷EN是否等于見 若是,再使用IF語句判斷G是否等于1,如果G等于1,則將D輸入到Q中,否則Q保持前一狀態;當EN=0時,則Q輸出為高阻態。74373 鎖存器的VHDL程序編寫如下:
6位串入串出移位寄存器的結構化描述
-
FPGA
+關注
關注
1629文章
21729瀏覽量
603010 -
寄存器
+關注
關注
31文章
5336瀏覽量
120232 -
鎖存器
+關注
關注
8文章
906瀏覽量
41496 -
數字電路
+關注
關注
193文章
1605瀏覽量
80580 -
觸發器
+關注
關注
14文章
2000瀏覽量
61132
發布評論請先 登錄
相關推薦
評論