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