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

Linux應(yīng)用編程的基本概念
X電容和Y電容的基本概念
集電極開路的基本概念與原理

評(píng)論