【不定期更新】FPGA/IC崗位常見筆試面試題總結(基礎知識)


1 數字IC(ASIC)設計流程:

  IC設計分為前端和后端。前端設計主要將HDL語言-->網表,后端設計是網表-->芯片版圖。

  前端主要有需求分析與架構設計、RTL設計、仿真驗證、邏輯綜合、STA、形式驗證。后端主要包括DFT、布局規划、布線以及版圖物理驗證。

2 MCU結構:

  它是由CPU系統、程序存儲器(ROM)、數據存儲器(RAM)、各種I/O端口、基本功能單元(定時器/計數器等)組成。

3 低功耗技術:

  功耗可用公式描述:Power = KFCV^2,即功率等於常數系數*工作頻率*負載電容值*電壓的平方。

  故從以下幾個方面降低功耗方式:

  a.控制工作頻率:降低頻率增大數據路徑寬度,動態頻率調整,門控時鍾(時鍾使能有效時鍾才進入寄存器時鍾輸入引腳)

  b.減少電容負載:使用幾何尺寸更小的邏輯門,其電容負載較小,功率也隨之減少。

  c.降低工作電壓:動態改變工作電壓、零操作電壓(直接關閉系統中一部分的電源)。

 4 MOS管基本概念及畫圖:

  MOS中文意思是金屬氧化物半導體場效應管,由柵極(G)、漏級(D)、源級(S)組成。分為PMOS和NMOS兩種類型,區別在於G級高電平時,N型管導通,P型管截止。兩者往往是成對出現的,即CMOS。只要一只導通,另一只則不導通,現代單片機主要是采用CMOS工藝制成的。

  畫圖一般需要根據一個簡單的邏輯表達式,畫出CMOS電路圖結構。需要掌握常用邏輯門的實現方式。

  總體來看還是挺好記的,與非門和或非門都是上下各兩個MOS管,且上面是PMOS,下面是NMOS。不同之處在於與非是“上並下串”,或非是“上串下並”。

5 FPGA內部結構及資源:

  FPGA主要由可編程單元、可編程I/O單元及布線資源構成。

  可編程邏輯單元(可配置邏輯單元,CLB)由兩個SLICE構成,SLICE主要包括實現組合邏輯的LUT和實現時序邏輯的觸發器。FPGA內部還包含專用存儲單元BRAM,運算單元DSP Slice,及專用內嵌功能單元,如:PLL、Serdes等。

6 FPGA內部LUT實現組合邏輯的原理:

  LUT相當於存放邏輯表達式對應真值表的RAM。軟件將邏輯表達式所有可能結果列出后存放在RAM中,輸入作為RAM地址,輸出為邏輯運算結果。如使用LUT模擬二輸入“與”邏輯。列出真值表:00 -- 0,01 -- 0,10 -- 0,11 -- 1。此時將00 01 10 11作為地址線,依次將結果0 0 0 1存放在RAM中。當輸入00時及輸出0&0=0.

7 常用邏輯表達式化簡公式:

左右關系為*變+,+變*

  交換律:A*B = B*A         A+B = B+A

  結合律:(A*B)*C = A*(B*C)      (A+B)+C = A+(B+C)

  分配率:A(B+C) = AB+AC     A+BC = (A+B)(A+C)

特殊定律: 

 8 FIR濾波器與IIR濾波器函數表達式、特點及結構:

  FIR(有限沖激響應)濾波器:非遞歸,具有線性相位。IIR(無限沖激響應)濾波器:遞歸結構,非線性相位。相同階數FIR和IIR濾波器,IIR濾波器濾波效果較好,但會產生相位失真。

FIR濾波器:

對N個采樣數據進行加權和平均處理。

表達式:

結構圖:

IIR濾波器:

包含遞歸部分也包含非遞歸部分。

表達式:(具有N個前饋系數和M-1個反饋系數)

結構圖:

9 N位二進制數所能表示的數據范圍,兩個Nbit數相加相乘后需要多少bit?(多在計算題中間接提問)

  有符號數:(補碼)-2^(N-1) ~ 2^(N-1)-1 如N = 8,則表示范圍是:-128 ~ 127.

    無符號數:0~2^N-1 如N = 8,則表示范圍是:0~255.

  定點數:3Q13 范圍是:-4~4-2^(-13) 精度是:2^(-13)

  相加相乘后需要的數據位寬若無已知數據范圍,按照基本規律:相加位寬+1,相乘位寬*2.若已知操作數范圍,根據運算操作數所能表示數的絕對值最大值求出運算結果極限值。

問:例如兩個8bit有符號數相乘,其結果需要的位寬是多少?

答:8bit有符號數補碼所能表示的數據范圍是:-128到127,具有最大絕對值的數是-128,所以極限情況下是-128*(-128) = 16384 = 2^14. 15bit有符號數所能表示范圍是:-2^14到2^14-1,並不能表示2^14。綜上,需要16bit位寬。正好位寬擴大一倍。

10 FPGA詳細設計流程(面試提問)

  與數字IC設計流程類似,以xilinx vivado工具為例,主要有以下步驟:系統規划、RTL輸入、行為仿真、邏輯綜合、綜合后仿真(可選)、綜合后設計分析(時序及資源)、設計實現(包括布局布線及優化)、實現后設計分析(時序及資源)、板級調試、bitstream固化。

11 時序約束相關

有哪幾種時序路徑:

input paths:外部引腳到內部模塊路徑

register-to-register paths:系統內部寄存器到寄存器路徑

output paths:內部模塊到外部引腳的路徑

port to port paths:FPGA輸入端口到輸出端口路徑(不常用)

創建時序約束的關鍵步驟:

a baseline約束:create clocks  define clocks interactions  b I/O約束:set input and output delays  c 例外約束:set timing execptions(set_max_delay/set_min_delay、set_multicycle_path、set_false_path)

設計初期可先不加I/O約束,但baseline約束要盡早建立。

input delay和output delay計算:

input delay:

a 系統同步:min_delay  Tco min + Trce min

        max_delay      Tco max + Trce max

b 源同步:  min_delay    Tco min

        max_delay    Tco max

output delay:

min_delay  Trce min - Th

max_delay    Trce max + Tsu

 其中input delay的源同步模式下,DDR采樣多采用示波器測量延遲的方式。

Tsu和Th與Tco T Tdata的關系:

T≥Tco+Tdata+Tsu

Th≤Tco+Tdata

12 異步信號同步方式

單比特數據,打兩拍后檢測打拍后信號變化沿。若快時鍾域信號進入慢時鍾域,則先擴展位寬再打兩拍。

多比特數據,使用異步FIFO橋接。在數據量不大,帶寬要求不高的場合可以采用握手同步方式(利用單比特握手信號打兩拍同步方式找到數據穩定時刻,保證上游握手信號拉高時數據穩定不變)。

13 SRAM和DRAM的區別

  SRAM是靜態隨機訪問存儲器,由晶體管存儲數據,無需刷新,讀寫速度快。DRAM是動態隨機訪問存儲器,由電容存儲數據,由於電容漏電需要動態刷新,電容充放電導致讀寫速度較SRAM低。但DRAM成本較低,適合做大容量片外緩存。

14 邏輯設計中競爭與冒險概念,如何識別和消除?

  競爭:在組合邏輯電路中,信號經過多條路徑到達輸出端,每條路徑經過的邏輯門不同存在時差,在信號變化的瞬間存在先后順序。這種現象叫競爭。

  冒險:由於競爭而引起電路輸出信號中出現了非預期信號,產生瞬間錯誤的現象稱為冒險。表現為輸出端出現了原設計中沒有的窄脈沖,即毛刺。

  常見的邏輯代數法判斷是否有競爭冒險存在:只要輸出邏輯表達式中含有某個信號的原變量A和反變量/A之間的“與”或者“或”關系,且A和/A經過不同的傳播路徑,則存在競爭。解決辦法一是修改邏輯表達式避免以上情況,二是采樣時序邏輯,僅在時鍾邊沿采樣,三十在芯片外部並聯電容消除窄脈沖。

15 格雷碼特點及其應用

  連續的格雷碼之間只有單比特信號變化,多用在異步時鍾域處理上,如異步FIFO中地址指針的索引就采用格雷碼編碼。

  分析:只有單比特信號跨時鍾域時,我們能通過雙觸發器構成的同步器在另一個時鍾域內得到有效脈沖,但多比特信號若采用同樣的方法,會出現各個比特更新時刻不一致導致數據錯誤的情況。而在異步FIFO設計中,兩側信號屬於不同時鍾域,FIFO必須通過對比來自不同時鍾域的讀寫地址指針數值給出空滿指示信號,地址指針需要多個比特信號才能代表FIFO深度。格雷碼的單比特變化特性正好適用於這一場合,使用單比特信號同步策略完全適用於格雷碼。

16 亞穩態的產生原因及消除方式

  在異步系統中,寄存器建立保持時間不滿足引起亞穩態。典型的場合為數據跨時鍾域傳輸和異步復位電路。在異步傳輸過程中,通過單比特信號雙寄存器同步,多比特信號FIFO橋接的方式消除亞穩態(實際上異步信號同步方式即為異步傳輸過程中亞穩態的消除方式)。通過異步復位,同步釋放可消除異步復位引起的亞穩態。

17 如何利用C語言編寫帶有多個返回值的子函數

  常見的有兩種方式:一是利用全局變量,子函數在執行過程中修改多個全局變量即可達到與多個返回值同樣的效果。二是利用數組指針作為函數參數,通過地址傳遞改變多個實參本身。

18 時鍾抖動和時鍾偏移的概念及產生原因,如何避免?

  時鍾抖動jitter:指時鍾信號的跳變沿不確定,故是時鍾頻率上的不一致。

  時鍾偏移Skew:指全局時鍾產生的各個子時鍾信號到達不同觸發器的時間點不同,是時鍾相位的不一致。

  jitter主要受外界干擾引起,通過各種抗干擾手段可以避免。而skew由數字電路內部各路徑布局布線長度和負載不同導致,利用全局時鍾網絡可盡量將其消除。

19 CMOS和TTL電路區別是什么?

兩者區別主要體現在三個方面:

  a.結構:CMOS電路由場效應管構成,TTL由雙極性晶體管構成。

  b.電平范圍:CMOS邏輯電平范圍大(5~15V),TTL只工作在5V以下,因此CMOS噪聲容限比TTL大,抗干擾能力強。

  c.功耗與速率:CMOS的功耗比TTL小,但工作頻率低於TTL。

20 信號3dB帶寬的意義是什么?

  3dB帶寬通常指功率譜密度的最高點下降到1/2時界定的頻率范圍。

21 JTAG接口信號及功能

  JTAG實際上使用的只有四個信號:時鍾TCK、狀態機控制信號TMS、數據輸入信號TDI、數據輸出信號TDO。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM