數字IC面試經驗及面試題總結(內附大廠試題)

數字IC面試經驗及面試題總結(內附大廠試題)的圖1



前言

微電子這行 現在本科生出去 做研發會比較難,尤其是大公司,很少招本科生去做研發, 除非很優秀,讀研了導師又 不愿意放 你出去實習 ,結果就是到了 找工 那一步,總覺得 有點心虛

而我作為一個學酥,當找工作這件大事咄咄襲來的時候,坦白講,我是慌張的。


最開始春招的時候,在經過幾家公司的面試和宣講會之后,我發現自己的能力還存在很多不足,這讓我更沒有底氣去選擇心儀的公司。
 
不過好在自己還是有點上進心的,缺什么就補什么,當即就選了西安叩持電子的IC修真院進行個人提升,畢竟參與了中科院郝躍院士牽頭發起的樹芯計劃,還是比較可靠的。
 
當時也沒有太多的想法,就是沖著講師出身去的,都是出身英特爾,華為這類大廠從業經驗十多年的行業大牛,所以講授的方向更偏實戰而非紙上談兵。

這正是我那時所需要的, 成功把學習思維轉化成工作思維 ,熟悉掌握之后工作所要做的內容和項目。 最終還在實訓階段走了一遍 流片的全流程,實屬意外之喜。
 
經過六個月的學習之后,總算找到了自己滿意的工作。 但能力歸能力,面試歸面試,你永遠不會知道面試官拋出來的會是什么樣的問題。
 
經歷了無數的筆試面試之后,發現數字IC的筆試面試還是有很對共通之處和規律可循的。期望我的經驗能讓你少走些彎路。
 
 一、有關筆試準備
 

數字IC面試經驗及面試題總結(內附大廠試題)的圖2


數字IC驗證的筆試往往和數字IC設計做的是同一套筆試題,所以相比有數字設計經驗的同學,做驗證同學的在筆試環節還是有很大劣勢的,但也并不是不可彌補。

筆試題一般側重基礎,但基本都跟數字IC設計中最常用的方法和思想有關,最常考的有:

(1)信號的跨時鐘域同步。 包括單比特和多比特,對于單比特 自然用兩級寄存器同步最為方便。 對于多比特,常考察異步FIFO以及握手方法。 要理解亞穩態的概念以及避免亞穩態的方法。
(2)說到亞穩態,就不得不說setup time 和 hold time。一定要掌握兩種時鐘約束和分析時鐘約束的方法。清楚四種路徑(輸入到輸出,輸入到寄存器,寄存器到寄存器,寄存器到輸出),并能找到關鍵路徑。會計算最高的工作頻率。
(3)分析和修復setup time validation(降低時鐘頻率,組合邏輯優化或拆分,提高工作電壓) 和 hold time validation(插入buffer,更難修復)
(4)能用verilog描述常用的電路結構,如:D觸發器,計數器,分頻(奇數倍分頻,偶數倍分頻,小數分頻(如1.5倍)),同步FIFO,異步FIFO,序列檢測器(FSM實現)
(5)用verilog描述給出的代碼或者偽代碼
(6)找出verilog代碼中的錯誤,如信號未進行跨時鐘域同步,無else分支會產生不期望的鎖存器等等。
(7)阻塞,非阻塞賦值
(8)sv基礎,包括@signal觸發和wait(signal)的區別,事件觸發,隊列操作,task同步調度(fork ...join,fork ...join_any,fork ...join_none的用法差異)
(9)掌握一些常用的協議,如I2C(能夠根據提示用verilog實現),SRAM協,AMBA(AHB),AXI。
(10)異步復位在使用時應當注意什么?
(11)請畫出異步復位同步釋放的電路結構:
(12) 在驗證環境中,C如何access和dut中寄存器,是如何聯系的?
(13)掌握一些常用的低功耗方法,如clock gating(能畫出電路結構圖),了解DVFS,多閾值電壓技術,多電壓技術
(14)組合邏輯輸出需經過寄存器過濾毛刺。。。
 
二、數字IC面試

數字IC面試經驗及面試題總結(內附大廠試題)的圖3


面試準備:
 
面試之前充分準備自我介紹,針對外企可以準備一份英文自我介紹,最好能夠用英文介紹自己做過的項目或課題。

然后最重要的是充分準備好你簡歷所寫的內容,寫在簡歷上的東西一定是你完全掌握的,如果有項目的話最好把項目各方面可能會被問到的問題想到。

另外一個容易被忽視的是, 好多人對選擇工作城市的理由上準備很不充分 ,要能夠給出很合理且具有說服力的理由讓面試官相信你確實想要去那座城市工作和生活,表現出自己的誠意,不然就會讓面試官會覺得你只是在拿他們當備選offer。
 
技術面:

如果你有項目經歷的話,面試官最關心的是你對自己做過的項目有沒有吃透。所以面試前的準備就顯得很重要,當然,這是建立在你扎實的項目經歷之上的。也有面試官對你的項目經歷不感興趣,他/她可能會問你一些基礎知識。

大多數技術面的時候最后面試官一般會問你還有什么問題,面試前最好有所準備,準備一些有關職業發展,工作崗位等問題。一般在技術面時不要提及薪資待遇,因為這是HR負責的部分。
 
技術面里遇到的問題:
1. 先簡單談談你現在在做的工作。
2. 請談談你在學校的學習和項目。
3. 請談談你對UVM驗證方法學的理解。
4. 請談談UVM組件的關系。
5. 舉例談談UVM組件中的一些常用方法。
6. 請談談virtual sequencer與sequencer的區別,以及為什么要用virtual sequencer?
7. 為什么會有sequence,sequencer,以及driver,為什么要分開實現?這樣做有什么好處?
8. 你寫過assertion嗎?assertion分為哪幾種?簡單描述下assertion的用法。
9. 請描述一下你所驗過的模塊的功能。
10. 你對fifo熟悉嗎?談談如何判斷fifo的空滿狀態?
11. fifo有同步的和異步的,它們有什么區別?
12. 對于異步fifo,如何處理空滿時的同步問題?還可以采用什么方法?
13. 請談談驗證的思想,驗證人員和設計人員思考問題的差異。
14. 你們項目中都會考慮哪些coverage?
15. coverage一般不會直接達到100%,當你發現有condition未cover到的時候你該怎么做?
16.為什么要盡量避免絕對路徑的使用?如何避免?
17. 如何在driver中使用interface?為什么?
18. 你了解UVM的callback機制嗎?
19.UVM各component之間是如何組織運行的,是串行的還是并行的?如果串行的,請問是通過什么機制實現各組件之間的運行調度的?
20.對一個加密模塊和解密模塊進行驗證,如果數據先進行加密緊接著進行解密,如果發現輸入數據與輸出數據相同,能不能說明這兩個加解密模塊功能解沒有問題?為什么?
21.在對一個模塊仿真的時候發現:如果輸入是一個地址addr,發現dut的輸出是一個相同的地址addr,但是參考模型的輸出是addr1.請分析可能是什么問題導致的?你會怎么去解決?

HR面:

一般在技術面通過之后,這個時候就可以細致地了解薪資福利等方方面面的問題啦,包括吃,住,行等問題都可以提問。

盡量提前考慮好要問的事情,以免入職之后造成不必要的麻煩和困擾。

最后要說的話

IC行業競爭并不算激烈,各行各業都在內卷的大環境下,做芯片的反倒是可以一門心思搞技術了。(前提是你的能力足夠)
最后希望大家放平心態,當具備足夠的能力之后,面試的成功只取決于你自己的心態和臨場表現。

PS.公眾號后臺回復“面試”,即可獲取大廠數字芯片筆試題
      回復“前端”、“驗證”、“后端”獲取相應課程大綱


IC入行/進修
首選IC修真院
數字IC面試經驗及面試題總結(內附大廠試題)的圖4

或許你感興趣
為什么很多人從FPGA轉IC前端崗?
入行須知丨IC工程師崗位全介紹
如何成為一名合格的芯片設計工程師?
【學員追訪】與其溫水煮青蛙,不如給自己一個機會

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

5
1