IC/FPGA大疆筆試題分析(預(yù)分析)
上午剛參加完一場面試,晚上又有大疆的FPGA筆試題要做,下午臨時磨刀,找點(diǎn)往年的筆試題練練手:
1 如果只使用2選1mux完成異或邏輯,至少需要幾個mux?
這類問題,我在以前的博客中練習(xí)過:https://blog.csdn.net/Reborn_Lee/article/details/89518120
至于思路,我在后面給出,先寫出表達(dá)式,在根據(jù)表達(dá)式畫出原理圖:
可知,兩個可以實(shí)現(xiàn),一個肯定不行,那就是2個了。
以前見過和這個同類的題目有:
用多路選擇器實(shí)現(xiàn)與門,或門等。
與門:? ? ? ? 或門:
當(dāng)然,不僅如此,還有反相器:
output = S ? 0 : 1;
緩沖器:
output = S ? 1 : 0;
至于上面所說的異或門,我們用表達(dá)式更容易表達(dá)清楚,通過表達(dá)式在畫出原理圖豈不更簡單,例如:
output = A ? ( B ? 0 : 1) : (B ? 1 : 0) ;
寫出這個表達(dá)式很簡單,A為1的話,選第一個括號內(nèi)的內(nèi)容,對于第一個括號,B 為·1,考慮到異或運(yùn)算,應(yīng)該是0,否則為1.
如此分析即可。
根據(jù)此表達(dá)式,最可能畫出的原理圖是:
當(dāng)然這肯定是對的,是不是最簡的,就不一定了,下面分析B如果為0的話,第一個選擇器輸出為1,第二個選擇器輸出為0(等于B),這不就等效于第二個選擇器可以用B本身代替,因此化簡為:
當(dāng)然還不止這些,還有一位全加器,這里就不說了,有了公式,都好辦。
2 在對信號采樣過程之前抗混濾波,其作用是什么?它選用何種濾波器?其截止頻率如何確定?
根據(jù)奈奎斯特采樣定律,對帶寬有限的模擬信號進(jìn)行采樣,采樣頻率應(yīng)該高于信號最高頻率的2倍,否則會出現(xiàn)頻譜混疊現(xiàn)象,這樣就無法恢復(fù)出原始信號。
為解決頻譜混疊問題,在對模擬信號進(jìn)行采樣前,需要采用低通濾波器進(jìn)行濾波處理,濾波器的截止頻率理論上為采樣頻率的一半,實(shí)際工程中可以更小一點(diǎn),為:
截止頻率(fc)= 采樣頻率(fz) / 2.56
3?將二輸入的與非門當(dāng)非門使用時,另一端的接法應(yīng)該是
與非門:
任意一端為0,輸出為1.
只有兩端同為1時,輸出為0;
而非門則,輸入為0,輸出為1,輸入為1,輸出為0.
根據(jù)此,可知,二輸入與非門另一端接高電平,即可當(dāng)成非門使用。
4 屬于高速串行接口的是
PCIE,USB,SPI,RapidIO;
參考鏈接:https://www.cnblogs.com/ylsm-kb/p/9281597.html
(abcd)
PCIE,USB,RapidIO是高速串行總線,我沒意見,SPI我實(shí)在不太清楚,查了幾個說法,百度:SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是一種高速的,全雙工,同步的通信總線。
因此,也算是吧。
5 代碼覆蓋率
包括語句覆蓋,判定覆蓋,條件覆蓋,路徑覆蓋;
6 速度優(yōu)化、面積優(yōu)化的措施
面積優(yōu)化:
資源共享、串行化;
速度優(yōu)化:
流水線、關(guān)鍵路徑法,寄存器配平;
7 線與邏輯
線與邏輯是兩個輸出信號相連可以實(shí)現(xiàn)“與”的功能,可以用OC或OD門來實(shí)現(xiàn),需要在輸出端加一個上拉電阻。
8 對于同步fifo,每100個cycle可以寫入80個數(shù)據(jù),每10個cycle可以讀出8個數(shù)據(jù),fifo的深度至少為?
寫時鐘頻率 w_clk,
讀時鐘頻率 r_clk,
寫時鐘周期里,每B個時鐘周期會有A個數(shù)據(jù)寫入FIFO
讀時鐘周期里,每Y個時鐘周期會有X個數(shù)據(jù)讀出FIFO
則,F(xiàn)IFO的最小深度是?
計算公式如下:
fifo_depth = burst_length - burst_length * X/Y * r_clk/w_clk
例舉說明:
如果100個寫時鐘周期可以寫入80個數(shù)據(jù),10個讀時鐘可以讀出8個數(shù)據(jù)。令wclk=rclk ,考慮背靠背(20個clk不發(fā)數(shù)據(jù)+80clk發(fā)數(shù)據(jù)+80clk發(fā)數(shù)據(jù)+20個clk不發(fā)數(shù)據(jù)的200個clk)代入公式可計算FIFO的深度
fifo_depth = 160-160X(80%)=160-128= 32
拓展:
如果令wclk=200mhz,改為100個wclk里寫入40個,rclk=100mhz,10個rclk里讀出8個。那么fifo深度為48
計算如下fifo_depth =80-80X(80%)X(100/200)=80-32=48
FPGA
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。