經典面試題:建立時間與保持時間
我曾背過這個答案N多遍,但是依然沒有理解。
直到...
一、同步電路設計
同步電路系統設計將系統狀態的變化與時鐘信號同步,并通過這種理想化的方式降低電路設計難度。同步電路設計是FPGA設計的基礎。
但是伴隨著集成電路的微縮化和大規模化,同步式電路的一些問題也顯現出來。有研究提出了基于異步電路實現FPGA的思路。這個后面再談。
二、觸發器
觸發器(Flip Flip,FF)是一種只能存儲1個二進制位(bit)的存儲單元,可以用作時序邏輯電路的記憶元件。FPGA邏輯單元的D觸發器(DFF)就是一種在時鐘的上升沿將輸入信號的變化傳送至輸出的邊沿D觸發器。DFF的符號和真值表如下圖所示:
2.1 D觸發器結構
CMOS傳輸門構成的D邊沿觸發器電路如下圖所示:
CMOS工藝下的D-FF結構如下圖所示:
先由傳輸門和兩個反相器組成一個循環電路(鎖存器),再有前后兩級鎖存器按主從結構連接而成。這里的傳輸門起開關作用,隨著CLK的狀態切換開關。只看輸出的話,前級鎖存器的值會隨著時鐘輸入的變化井然有序的傳入后級鎖存器。為了防止時鐘信號變化時輸入信號發生冒險,從而使輸入數據穩定的進入前級鎖存器,前級鎖存器的時鐘相位應與輸入數據的電路時鐘相位相反。
2.2 D觸發器工作原理
D-FF的工作原理,如下圖所示:
當CLK=0時(主鎖存器工作),位于前級的主鎖存器將輸入D的值保存進來,后級的從鎖存器將維持上一個時鐘周期的數據。由于此時前級與后級的反相器環路之間的傳輸門是關閉狀態,所以前級的信號不會傳到后級。
當CLK=1時(從鎖存器工作),前級主鎖存器的值將會傳到后級,同時輸入D的信號將會被隔離在外。此時如果前級反相器環路中的信號沒有循環一圈以上,就會出現如下圖所示的在0和1之間搖擺的中間電位,這就是所謂的亞穩態。
三、建立時間和保持時間
由于亞穩態時間比延遲時間長,在該階段讀取數據可能會引起錯誤,所以我們引入建立時間(setup time)來約束在時鐘上升沿到來之前輸入D保持穩定的時間。
當CLK=1時,如果輸入D在傳輸門關閉之前就發生變化,那么本該在下一周期讀取的數據就會提前進入鎖存器,從而引起反相器環路振蕩或產生亞穩態。因此在CLK=1之后也需要輸入D維持一定的時間,我們稱之為保持時間(hold time)約束。
審核編輯:湯梓紅
-
FPGA
+關注
關注
1630文章
21759瀏覽量
604302 -
觸發器
+關注
關注
14文章
2000瀏覽量
61223 -
同步電路
+關注
關注
1文章
60瀏覽量
13317
發布評論請先 登錄
相關推薦
評論