FPGA筆試題解析(三)

2021-09-11 08:04:48 字數 2106 閱讀 5135

1、簡述建立時間和保持時間,畫圖表示?

建立時間tsu(setup):觸發器在時鐘上公升沿到來之前,其資料輸入端的資料必須保持不變的最小時間。

保持時間th(hold):觸發器在時鐘上公升沿到來之後,其資料輸入端的資料必須保持不變的最小時間。

2、簡述觸發器和鎖存器之間的差別?

鎖存器對電平訊號敏感,在輸入脈衝的電平作用下改變狀態。

d觸發器對時鐘邊沿敏感,檢測到上公升沿或下降沿觸發瞬間改變狀態。

3、計算最小週期?

tco:暫存器更新延遲,clock output delay,時鐘觸發到資料輸出的最大延遲時間

最小時鐘週期:tmin = tco + tdata + tsu - tskew。最快頻率fmax = 1/tmin

tskew = tclkd – tclks。

4、什麼是clock jitter和clock skew,這兩者有什麼區別?

時鐘抖動(clock jitter):指晶元的某乙個給定點上時鐘週期發生暫時性變化,使得時鐘週期在不同的週期上可能加長或縮短。

如下圖:

時鐘偏移(clock skew):是由於佈線長度及負載不同引起的,導致同乙個時鐘訊號到達相鄰兩個時序單元的時間不一致。

如下圖:

區別:jitter是在時鐘發生器內部產生的,和晶振或者pll內部電路有關,佈線對其沒有影響。skew是由不同佈線長度導致的不同路徑的時鐘上公升沿到來的延時不同。

時鐘抖動和時鐘偏斜的差別

5、什麼是亞穩態,產生的原因,如何消除?

這個問題的詳細介紹在博文:亞穩態專題

篇幅過大,給出簡潔解釋:

如果觸發器的輸入電壓取樣時間過短,即時序不夠,則觸發器需要花很長時間來實現輸出邏輯達到標準電平,也就是說,電路處於中間態的時間變長,使得電路「反應」遲鈍,這就是「亞穩態」。(例如輸入訊號在時鐘有效沿的建立時間和保持時間之間改變了,導致不滿足觸發器的建立時間或保持時間,導致輸出有一段時間的不穩定態,就是亞穩態。)

消除:兩級或多級暫存器同步。理論上亞穩態不能完全消除,只能降低,一般採用兩級觸發器同步就可以大大降低亞穩態發生的概率,再加多級觸發器改善不大。

但注意雙觸發器作為同步器只能用在單位元資料的傳遞中。原因很簡單,因為同步器輸出只能保證是乙個穩態不能不能保證是乙個確定的值。故多位元資料使用同步器還是會出現亂碼的情況。對於多位元資料的操作一般使用非同步fifo。 

reg data_mid;

reg data_out;

always @(posedge clk or negedge rst_n)begin

if(!rst_n)begin

data_mid <= 1'b0;

data_out <= 1'b0;

endelse begin

data_mid <= data_in;

data_out <= data_mid;

endend

6、同步與非同步?

同步復位和非同步復位的區別

同步復位是復位訊號隨時鐘邊沿觸發有效。非同步復位是復位訊號有效和時鐘無關。

如非同步復位:

同步復位:

同步邏輯和非同步邏輯的區別

同步邏輯是時鐘之間有固定的因果關係。非同步邏輯是各時鐘之間沒有固定的因果關係

同步電路和非同步電路區別

同步電路有統一的時鐘源,經過pll分頻後的時鐘驅動的模組,因為是乙個統一的時鐘源驅動,所以還是同步電路。非同步電路沒有統一的時鐘源。

7、談談對retiming技術的理解

retiming就是重新調整時序,例如電路中遇到複雜的組合邏輯,延遲過大,電路時序不滿足,這個時候採用流水線技術,在組合邏輯中插入暫存器加流水線,進行操作,面積換速度思想。

2017前端筆試題解析

1.輸出題 var x 0 if 0 else 考點 隱式轉換 解析 此題涉及兩次隱式轉換,第一次是在if中預設使用boolean轉換,第二次是在 時發生了雙 等的隱式轉換。首先明確boolean的轉換規則 字串時除空字串之外其餘都轉換為true 數字 型別時除0其餘都轉換為true 物件時除了nu...

拼多多筆試題解析

120分鐘,共四道程式設計題。1.輸出乙個陣列a最長的 山谷 子陣列b的長度。山谷是指b 0 b 1 b i 1 b i 思路 對每個數,向左搜尋,若比當前數大,則一直搜尋。向右搜尋,若比當前數大,則一直搜尋。如下 def findsubnum nums ans 0 for i in range 1...

騰訊筆試題解

1,把整數分成256m段,每段可以用64位整數儲存該段資料個數,256m 8 2g記憶體,先清0 2,讀10g整數,把整數對映到256m段中,增加相應段的記數 3,掃瞄256m段的記數,找到中位數的段和中位數的段前面所有段的記數,可以把其他段的記憶體釋放 4,因中位數段的可能整數取值已經比較小 如果...