既然RTL是以寄存器行為為基礎,那么就必須先了解寄存器是什么,并且掌握使用寄存器做設計需要注意的事項。
寄存器從字面看,就是一個容器,將可能隨時發生變化的數據存起來,確保變化不會影響到保存的數據。這個行為與“數字電路設計”中提到的D觸發器行為一致,一般來說由輸入數據信號D、輸出數據信號Q以及邊沿觸發信號CLK組成。其實就是D觸發器(D Flip-Flop,簡稱DFF)。
下圖所示是一個上升沿觸發寄存器常見的電路元件圖形,其中CLK輸入有個箭頭的形狀,表示邊沿觸發。其工作行為,由時序圖所示,當CLK上升沿觸發電路狀態的變化,則D端輸入的信號被采集并輸出到Q端。如果沒有CLK上升沿觸發電路,則輸出信號Q保持不變。以波形圖t1變化為例,第2個CLK上升沿后,D端數據發生變化,但變化并不會直接傳輸到Q的輸出上,而必須等到第3個CLK上升沿,D端的變化才會被更新到Q的輸出。


常用的寄存器類型
實際在設計電路時,寄存器主要有以下幾種類型:
- 上升沿觸發寄存器
- 下降沿觸發寄存器
- 帶異步復位(高電平有效)的上升沿觸發寄存器
- 帶異步置位(高電平有效)的上升沿觸發寄存器
- 帶異步復位(高電平有效)的下降沿觸發寄存器
- 帶異步置位(高電平有效)的下降沿觸發寄存器
- 帶異步復位(低電平有效)的上升沿觸發寄存器
- 帶異步置位(低電平有效)的上升沿觸發寄存器
- 帶異步復位(低電平有效)的下降沿觸發寄存器
- 帶異步置位(低電平有效)的下降沿觸發寄存器。
雖然寄存器種類很多,而且多數一般的標準單元庫[1]都會涵蓋這些寄存器類型。但考慮到電路的可靠性,以及可測試性設計(參考可測試性設計部分)的需要, 建議在設計電路時只使用帶異步復位或異步置位(低電平有效)的上升沿觸發寄存器 。
所謂異步復位或異步置位,就是當該信號有效時,Q端輸出立刻輸出為低電平或高電平,而不用邊沿信號驅動。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
寄存器
+關注
關注
31文章
5608瀏覽量
129964 -
RTL
+關注
關注
1文章
394瀏覽量
62645 -
D觸發器
+關注
關注
3文章
181瀏覽量
49736 -
異步復位
+關注
關注
0文章
47瀏覽量
13684 -
CLK
+關注
關注
0文章
132瀏覽量
18040
發布評論請先 登錄
相關推薦
熱點推薦
寄存器變量
C語言中使用關鍵字register來聲明局部變量為寄存器變量。寄存器變量的值會被存放在CPU的寄存器中,每當需要使用它們時,CPU就可以直接使用,而無須再通過控制
發表于 06-03 10:13
?2949次閱讀
GPIO寄存器
每組IO口有10個寄存器組成,如果芯片有GPIOA~GPIOI,9個組那么一共有90個寄存器如果配置一個IO口需要2個位,那么剛好32位寄存器配置一組IO口16個IO口如果配置一個IO
發表于 12-08 17:06
?5次下載
16位寄存器數據范圍 32位寄存器數據范圍 數據寄存器多少位怎么算
在單片機編程中,32 位寄存器常用于存儲較大的整數或用于進行計數、計時等操作。需要注意的是,有些單片機的寄存器可能會在數據范圍上有所不同,具體使用時需要查看相關單片機的技術手冊或數據手
發表于 03-31 18:00
?1.4w次閱讀
寄存器分為基本寄存器和什么兩種
寄存器是計算機中用于存儲數據的高速存儲單元,它們是CPU內部的重要組成部分。寄存器可以分為基本寄存器和擴展寄存器兩種類型。 一、基本寄存器
寄存器是什么 掌握使用寄存器做設計需要注意的事項
評論