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