1、什么是Setup 和Holdup時間?
答:Setup/hold time 是測試芯片對輸入信號和時鐘信號之間的時間要求。
建立時間是指觸發(fā)器的時鐘信號上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時間。輸入信號應(yīng)提前時鐘上升沿(如上升沿有效)T時間到達芯片,這個T就是建立時間-Setup time。如不滿足setup time,這個數(shù)據(jù)就不能被這一時鐘打入觸發(fā)器,只有在下一個時鐘上升沿,數(shù)據(jù)才能被打入觸發(fā)器。
保持時間是指觸發(fā)器的時鐘信號上升沿到來以后,數(shù)據(jù)穩(wěn)定不變的時間。如果holdtime不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器。
2、什么是競爭與冒險現(xiàn)象?解決辦法?
答:在組合邏輯中,由于門的輸入信號通路中經(jīng)過了不同的延時,導(dǎo)致到達該門的時間不一致叫競爭。產(chǎn)生毛刺叫冒險。如果布爾式中有相反的信號則可能產(chǎn)生競爭和冒險現(xiàn)象。
解決方法:一是添加布爾式的消去項,二是在芯片外部加電容。三加選通信號。用D觸發(fā)器,格雷碼計數(shù)器,同步電路等優(yōu)秀的設(shè)計方案可以消除。
3、如何解決亞穩(wěn)態(tài)?Metastability
答:亞穩(wěn)態(tài)是指觸發(fā)器無法在某個規(guī)定時間段內(nèi)達到一個可確認的狀態(tài)。當一個觸發(fā)器進入亞穩(wěn)態(tài)時,既無法預(yù)測該單元的輸出電平,也無法預(yù)測何時輸出才能穩(wěn)定在某個正確的電平上。在這個穩(wěn)定期間,觸發(fā)器輸出一些中間級電平,或者可能處于振蕩狀態(tài),并且這種無用的輸出電平可以沿信號通道上的各個觸發(fā)器級聯(lián)式傳播下去。
解決方法:
1 、降低系統(tǒng)時鐘頻率
2 、用反應(yīng)更快的Flip-Flop
3 、引入同步機制,防止亞穩(wěn)態(tài)傳播
4 、改善時鐘質(zhì)量,用邊沿變化快速的時鐘信號
關(guān)鍵是器件使用比較好的工藝和時鐘周期的裕量要大。
4、說說靜態(tài)、動態(tài)時序模擬的優(yōu)缺點
靜態(tài)時序分析是采用窮盡分析方法來提取出整個電路存在的所有時序路徑,計算信號在這些路徑上的傳播延時,檢查信號的建立和保持時間是否滿足時序要求,通過對最大路徑延時和最小路徑延時的分析,找出違背時序約束的錯誤.它不需要輸入向量就能窮盡所有的路徑,且運行速度很快、占用內(nèi)存較少,不僅可以對芯片設(shè)計進行全面的時序功能檢查,而且還可利用時序分析的結(jié)果來優(yōu)化設(shè)計,因此靜態(tài)時序分析已經(jīng)越來越多地被用到數(shù)字集成電路設(shè)計的驗證中。
動態(tài)時序模擬就是通常的仿真,因為不可能產(chǎn)生完備的測試向量,覆蓋門級網(wǎng)表中的每一條路徑.因此在動態(tài)時序分析中,無法暴露一些路徑上可能存在的時序問題;
靜態(tài)時序分析缺點:
1、無法識別偽路徑
2、不適合異步電路
3、不能驗證功能
5、用VERILOG寫一段代碼,實現(xiàn)消除一個glitch。
濾掉小于1個周期glitch的原理圖如下:
verilog代碼實現(xiàn)如下:
module digital_filter_(clk_in,rst,host_rst,host_rst_filter);
inputclk_in;
inputrst;
inputhost_rst;
output host_rst_filter;
reg host_rst_d1;
reg host_rst_d2;
always@(posedge clk_in or negedge rst)
begin
if(~rst)
begin
host_rst_d1 <= 1'b1;
host_rst_d2 <= 1'b1;
end
else
begin
host_rst_d1 <= host_rst;
host_rst_d2 <= host_rst_d1;
end
end
assign host_rst_filter = host_rst_d1 | host_rst_d2;
endmodule
濾掉大于1個周期且小于2個周期glitch的原理圖如下:
verilog代碼實現(xiàn)如下:
module digital_filter_(clk_in,rst,host_rst,host_rst_filter);
inputclk_in;
inputrst;
inputhost_rst;
output host_rst_filter;
reg host_rst_d1;
reg host_rst_d2;
reg host_rst_d3;
always@(posedge clk_in or negedge rst)
begin
if(~rst)
begin
host_rst_d1 <= 1'b1;
host_rst_d2 <= 1'b1;
host_rst_d3 <= 1'b1;
end
else
begin
host_rst_d1 <= host_rst;
host_rst_d2 <= host_rst_d1;
host_rst_d3 <= host_rst_d2;
end
end
責任編輯:xj
原文標題:總結(jié)五個面試中經(jīng)常會遇到的FPGA基本概念
文章出處:【微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
FPGA
+關(guān)注
關(guān)注
1620文章
21510瀏覽量
598951 -
Setup
+關(guān)注
關(guān)注
0文章
30瀏覽量
11938
原文標題:總結(jié)五個面試中經(jīng)常會遇到的FPGA基本概念
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論