經典面試題:建立時間與保持時間
我曾背過這個答案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
+關注
關注
1660文章
22412瀏覽量
636360 -
觸發器
+關注
關注
14文章
2056瀏覽量
63410 -
同步電路
+關注
關注
1文章
61瀏覽量
13759
發布評論請先 登錄
關于綜合保持時間約束不滿足的問題
NTP時間同步技術:保證網絡時間精確無比
是誰偷走了我的時間?RTC時間異常的秘密
賽思高保持小型時鐘模塊:精確時間的守護者
cyusb3104在長時間bulk in上傳數據時會突然卡死flaga和flagb標志線不正常一直為低,為什么?
常見電子類硬件筆試題整理(含答案)
最全的硬件工程師筆試試題集
常見電子類硬件筆試題整理(含答案)
普源示波器時間精度測量方法詳解
詳解FPGA中建立時間與保持時間
評論