2021屆數字芯片秋招記錄


歡迎關注公眾號,摸魚范式,最新文章都在那里

HR面這類的就不記錄了,只寫一寫技術面、主管面的經驗。

vivo提前批

崗位信息

投遞崗位:芯片驗證工程師

一共兩面,一面技術面,二面HR面

技術面

  • 首先介紹教育經歷和項目經歷
  • 聊項目,會扣得比較細,根據項目提問題
  • 你的加速器有哪些模塊?是並行的嘛?
  • 你的項目中使用了m3軟核,你能解釋一下m3啟動流程嗎?我回答說我不了解
  • 你用過axi嘛,axi的特點有哪些,size信號是做什么用的?
  • 解釋一下CNN的典型層,我項目里有相關的
  • uvm有什么特點
  • fork-join,fork-join_any,fork-join_none的區別,如果fork-join_none里面是a和b,后面再跟個c,他們的啟動順序是?如果想讓c最后啟動怎么做?我說的是加一個#0
  • 啟動sequence有幾種方法
  • vritual sequence如何工作?
  • tlm接口有哪幾種?實現tlm通信要做哪些工作?
  • 你的參考模型是c嗎?還是sv寫的?
  • 覆蓋率有哪幾種?代碼覆蓋率和功能覆蓋率如何收集?
  • phase有哪些?
  • component和object的區別?
  • new和create的區別是?
  • 如何關閉隨機約束?

結果

收到感謝信

樂鑫提前批

崗位信息

投遞崗位:數字IC驗證工程師

一共兩面,技術面,HR面

技術面

  • 自我介紹,教育背景,項目經歷
  • 你在項目中擔任的角色和承擔的任務是什么
  • UVM有什么優點
  • 工廠機制的好處是什么?
  • 通過工廠進行覆蓋有什么要求?
  • vritual function/task的作用是什么?這屬於oop的什么特性?
  • 用任意語言找出100以內的質數
  • 在sv或者v中產生一個100Mhz的時鍾
  • 域的自動化有什么好處?
  • 如何啟動test?
  • config db有什么參數?
  • 如果環境中有兩個config db set,哪個有效?
  • 你遇到問題的時候是如何一步步解決的
  • rand bit data[100],如何約束它隨意一位是1,剩下的都是0?
  • 除了培訓班和實驗室項目,你為了進入IC行業還做了什么自主學習?

結果

收到offercall

卓勝微

崗位信息

投遞崗位:數字驗證工程師

郵箱投遞,等待面試中

匯頂科技

崗位信息

投遞崗位:數字驗證工程師

技術面/25min

  • inout能用logic嗎,為什么
  • sequence和sequencer有什么區別?分別繼承自什么類
  • 寄存器模型了解嗎
  • 為什么一定要進行網表仿真,網表仿真的作用是什么
  • uvmcallback講一下
  • 你在項目中遇到過什么問題?如何解決的?
  • IC設計的整個流程了解嗎,講一下
  • 建立時間和保持時間是什么,違例了怎么辦?
  • clocking block是什么?
  • 跨時鍾域怎么處理
  • 為什么想接觸IC驗證
  • 你對匯頂了解多少?
  • c和sv怎么交互?交互的接口叫什么?
  • 你了解ovm、vmm他們是什么嗎,和uvm什么關系?
  • 用過腳本嗎?

HR面/30min

  • 你人生中遇到了什么重要的事件嗎,對你影響很大
  • 評價一下自己的大學生活
  • 為什么比賽不找本校的要找本科室友?
  • 你有沒有什么堅持了很久的事情?
  • 你公眾號有多少粉絲?為什么說以后可能會更新頻率下降?
  • 你是如何看待目前華為的壓力的?
  • 你有拿到其他offer嗎?如何考量
  • 你對匯頂的了解如何?
  • 你的職業規划是怎樣的?
  • 你對工作地點是如何考量的

面試官給我講了很久匯頂的業務,還有匯頂的優勢,下周出結果。

主管面/15min

  • 介紹一下自己
  • 你是設計驗證都有設計嗎
  • 設計和驗證各問一個問題吧
  • 跨時鍾域如何處理,為什么多bit不能直接打拍
  • driver的run_phase一般寫什么?
  • 你的職業規划是怎么樣的
  • 你的工作地點是如何考量的
  • 講一個能體現你能力的例子吧
  • 你遇到問題是是如何解決的?

大疆正式批

崗位信息

數字IC工程師

筆試掛

oppo提前批

崗位信息

數字驗證工程師

官網投遞

面試

一面

和了解到的其他人比起來,我的面試官問的問題有點水,問了一堆設計的問題,說應屆生不咋懂UVM,最后我建議他以后多問問驗證的問題。。。。。

  • UVM環境組件有哪些
  • interface怎么傳遞到環境當中
  • 動態數組和隊列有什么區別,隊列能通過索引取值嗎
  • always @ *的作用是什么
  • 分支不寫全會發生什么
  • 什么是阻塞賦值和非阻塞賦值
  • 描述一下AXI的特點,以及一個寫事務的過程
  • 用AXI,起始地址0x00,突發長度4,每周期發32bit,地址怎么變化
  • 時序路徑有哪幾種
  • 什么是建立時間和保持時間

二面

  • 自我介紹
  • 你在搭建UVM環境的時候從拿到任務到完成環境是一個怎樣的流程?
  1. 分析spec
  2. 提取功能點
  3. 根據接口時序,規划drv的tranction內容
  4. 根據spec編寫參考模型
  5. 完成驗證環境組件編碼
  6. 根據spec編寫對應的sequence,testcase,定義功能覆蓋率
  • 你有遇到設計出現bug嗎
  • 如何處理bug
  • 如何和設計人員協同解決bug
  • 如何保證你的參考模型就是對的?
  • 你的設計中有跨時鍾域的內容嗎,你是如何處理的,處理跨時鍾域有哪些方法?
  • 驗證環境是你獨立完成的嗎
  • 你是如何定義功能覆蓋率的?考慮了哪些點
  • 分支覆蓋率屬於什么覆蓋率?
  • 代碼覆蓋率達不到100%,你是如何分析的
  • 對於內部數據的肯定會出現一些地方翻轉覆蓋率達不到100%,你是如何考慮的,會care嗎
  • 設計內部有很多模塊,你們有做小模塊的驗證嗎?
  • 系統級聯后出現過什么問題?
  • 詳細講一講你的另一個項目
  • 你的簡歷上看起來設計驗證各占一半,你的傾向是設計還是驗證?
  • 你的職業規划是怎么樣的?

結果

收到offer

中興微電子

投遞信息

崗位:我記得我投的是IC驗證,但是面試的是IC開發,總之中興的招聘系統和投遞方式實在太迷了,看不懂

投遞方式:不知道是問卷星生效的還是官網投遞生效的,迷

一面技術面

設計

  • 自我介紹,專業,學校,實驗室項目,比賽經驗,實習經歷
  • 項目細節,負責的具體內容是哪些,你覺得哪一塊最難,如何解決的
  • 項目中有遇到異步處理嗎
  • 跨時鍾域如何處理
  • 什么是亞穩態,為什么會產生亞穩態
  • 什么是建立時間保持時間,他們的關系是什么
  • 你的成績如何,在班級排名多少
  • 老家哪里的
  • 你了解中興有哪些工作地點嗎
  • 你的第一意向是哪個城市

由於我明確表示了我想應聘的是驗證,所以面試官跟我說如果有招聘驗證工程師會把我的簡歷投過去,如果沒有這次面試就算是技術面試,進入后續流程。

驗證

之前面的設計,和HR溝通了一下轉成驗證的重新進行技術面試

主要還是在講項目

  • 教育背景,項目經歷,實驗室工作
  • 介紹一下你的驗證環境
  • 你的覆蓋率是如何收集的
  • 激勵是如何產生的
  • 覆蓋率沒收集滿你是如何處理的
  • 實習主要做了什么?

還問我為什么不去中興華為實習。大哥啊,華為一個沒招,中興我都沒找到哪兒招實習了。

  • 你有在投別的公司嗎
  • 你的意向有哪些公司?
  • 除了SV你有別的OOP的經驗嗎?

然后讓我問了一些問題

  • 新人培訓如何?和華為聯發科差不多,導師帶着做。
  • 你們這里的業務是啥?網絡芯片里的流量控制方面的模塊,不太懂。

聯發科

投遞信息

崗位:IC開發工程師

投遞方式:官網投遞

一面

  • 自我介紹,項目經驗,實驗室經驗,學校背景
  • 一句基礎知識都沒問,全都是在聊項目,兩個比賽和實驗室項目問了個底朝天。簡歷上些什么,問什么,每一個部分都問。
  • 問了碩士畢設做什么,講了一堆原理,然后就讓我講具體設計實現,正好我電腦上有自己寫的畢設文檔,直接對着講。
  • 其中一個比賽我說我電腦上有PPT,直接讓我對着PPT講。

最后聊了一下他們的業務主要做的是手機里通信這塊的,調制解調器、wifi、藍牙這些。新人入職培訓和華為差不多,設計驗證綜合前端后端都會cover到。

本來應該是兩個面試官的,估計一個設計一個驗證,但是另一個面試官沒來,主要都在問項目的設計部分。

最后還問我願不願意做設計,我說被分到設計也沒問題,但是我的意願是驗證。

聯發科分為筆試、一面技術面、二面主管面。

結果

收到感謝信

海思優招

崗位信息

芯片與器件設計工程師

投遞方式:官網投遞

一面

  • 自我介紹
  • 你說你了解uvm,什么時候開始接觸的,用了多久
  • uvm是一個類庫,你能簡單畫一下類的繼承關系嗎
  • 項目中模塊的結構圖畫一下
  • 講解一下你的模塊都是怎么工作的
  • 模塊的上下游接的是什么
  • 考慮過模塊的帶寬問題嗎,axi能滿足你嗎
  • 手撕代碼,上升沿檢測,並且講解一下思路,我沒考慮到輸入可能是異步的,要打拍
  • 考慮留在實習的公司嗎

二面

  • 自我介紹
  • 驗證的流程
  • 驗證環境的構成
  • 如何保證驗證的完備性
  • 如何評價驗證的完備性
  • 芯片設計的整體流程
  • 從驗證的角度來說,如何檢查異步問題,內部信號拉出來看,延遲驅動,想不起來了
  • 手撕代碼給我改成寫測試點了

一個模塊,vaild會連續拉高,同時有16bit數據進來,vaild連續拉高的周期數為3-255,然后模塊要把這些數據求和,但是要把最大值和最小值踢除,最后done和sum一起有效。另外不用考慮兩次求和之間的間隔,假設無限長。

我寫的測試點:

  1. 復位后done和sum的狀態是否正常
  2. 3拍、255拍、隨機拍功能是否正常,隨機化數據
  3. done和sum是否在vaild拉低以后的有限拍內有效
  4. 特殊拍數,\(2^N\)\(2^N - 1\)拍數
  5. 特殊數據內容,全0,全FFFF
  6. 特殊數據分布,全部相等,全部只有兩個值,全部只有三個值
  7. 16bit每一bit都翻轉
  8. 數據較大時的溢出檢查
  9. done和sum不能再vaild有效期間進行有效
  10. 數據分布:正態分布、均勻分布
  11. vaild和data不同步的時候異常處理
  12. 數據如果在0-2或者超過255個時的異常處理
  • 這么多功能點,如何實現檢查?

總結一波手撕代碼的題型:

  1. 序列檢測
  2. 序列生成
  3. 幀頭檢測,這個可以看我之前暑期實習的時候面試
  4. 紅綠燈
  5. 前面提到的剔除最大最小值的累加模塊
  6. 上升沿檢測,記得做異步處理
  7. Round Robin仲裁器
  8. 有符號比較器
  9. 三分頻
  10. 異步FIFO的關鍵代碼

下面給一個4輸入RR仲裁器的代碼,核心就是使用優先級選擇器

module arb_comb4
(
  input [1:0]cur_arb_id,
  input [3:0]arb_req,
  input arb_en,
  output reg [1:0]nxt_arb_id
);

always @(*)
begin
  if(arb_en)
  begin
      case(cur_arb_id)
        2'd0:
        case(1'b1)
                arb_req[1]:nxt_arb_id=2'd1;
                arb_req[2]:nxt_arb_id=2'd2;
                arb_req[3]:nxt_arb_id=2'd3;
                arb_req[0]:nxt_arb_id=2'd0;
                default:nxt_arb_id=2'd0;
        endcase
        2'd1:
        case(1'b1)
                arb_req[2]:nxt_arb_id=2'd2;
                arb_req[3]:nxt_arb_id=2'd3;
                arb_req[0]:nxt_arb_id=2'd0;
                arb_req[1]:nxt_arb_id=2'd1;
                default:nxt_arb_id=2'd1;
        endcase
        2'd2:
        case(1'b1)
                arb_req[3]:nxt_arb_id=2'd3;
                arb_req[0]:nxt_arb_id=2'd0;
                arb_req[1]:nxt_arb_id=2'd1;
                arb_req[2]:nxt_arb_id=2'd2;
                default:nxt_arb_id=2'd2;
        endcase
        2'd3:
        case(1'b1)
                arb_req[0]:nxt_arb_id=2'd0;
                arb_req[1]:nxt_arb_id=2'd1;
                arb_req[2]:nxt_arb_id=2'd2;
                arb_req[3]:nxt_arb_id=2'd3;
                default:nxt_arb_id=2'd3;
        endcase
        default:nxt_arb_id=2'd0;
      endcase
  end
  else
    nxt_arb_id=cur_arb_id;
end

endmodule

結果

進池子錄用排序

海光

崗位信息

SoC驗證工程師

官網投遞

一面

  • 自我介紹

項目相關:

  • 你的UART uvc的設計思路講一下
  • 你是如何考慮復用性的
  • checker是如何檢查的?
  • 定義了哪些覆蓋率,收集情況如何
  • 有沒有spec作為參考?

項目無關:

  • 考慮一個加密模塊和解密模塊,如果模塊加密然后再解密的輸出和你的refmod的輸出完全一致,是否可以認為模塊沒有問題

當時沒想到,當時后面問了面試官,可能加密模塊是錯的,解密模塊也是錯的,兩邊錯的一樣,數據經過加密再解密后能夠還原,但是其實加密解密模塊都是錯的。應該把加密和解密模塊分開考慮,單獨進行驗證

  • 如果一個地址轉換模塊,進行驗證的時候,出現了bypass現象,無論輸入什么都是原原本本的輸出,有可能是什么原因造成的?

可能是模塊頂層連線出錯,或者模塊具有bypass模式,驗證時把模塊配置到了bypass模式中

  • 什么是vritual sequencer,作用是什么?
  • object具有phase機制嗎?
  • 你是如何考慮工作地點的

我的提問:

  • 成都的site主要負責哪些業務?

soc設計,南橋北橋芯片,高速接口,比如sata、pcie、ddr、usb

  • 新人如何培訓的?

虛擬lab+mentor機制

  • 如果通過了,后續還有哪些流程?

一共兩面,技術面和HR面,這次通過了的話后續等HR面就行了

紫光展銳

崗位信息

數字芯片驗證工程師

一面

  • 自我介紹一下
  • 你在實習期間做的是什么?
  • 為什么只實習了一個月?
  • 詳細講一講你復旦微的比賽內容
  • 為什么你獲得的是第三名
  • 驗證環境中,你定義了哪些功能覆蓋率?
  • 代碼覆蓋率有哪些?達到100%了嗎?
  • 為什么代碼覆蓋率沒有達到100%
  • vritual sequencer的作用是什么?
  • 講一講集創賽的比賽內容
  • 了解axi總線嗎,axi總線有什么特點?axi總線有幾個通道?什么是outstanding,什么是out of order?
  • 你覺得的優勢是什么?
  • 你在實驗室的內容是什么,發專利和論文了嗎?
  • 你對於城市是怎么選擇的?
  • 你現在有多少offer?

二面

  • 本科是哪里的?
  • 成績怎么樣,有獲過獎嗎?
  • 復微杯這個比賽含金量怎么樣?決賽有多少人?和實驗室課題關系大么
  • 畢設做得怎么樣?最后要達到一個什么樣的成果?實驗室有沒有和公司合作?
  • 你的加速器是做算法還是做實現?
  • 你廣東長大的怎么沒有廣東口音?
  • 實習期間做了什么?環境搭了多久?學習的vip是哪家的?
  • 什么時候開始接觸uvm的?有沒有遇到什么困難?
  • 你主管名字叫什么?(說是有同事跳槽過去了。。。
  • 實習公司給你意向書了嗎,如果都拿到了你會怎么考慮?

上海做的是消費電子,成都做的是近距離通信,驗證比較缺所以可能會支援項目。跟我說一面問過技術問題了,就不再問了,遇到好多在平頭哥實習的了,大概了解什么情況了。

AMD

崗位信息

設計與驗證工程師

面試

  1. 自我介紹一下
  2. 你偏向設計還是驗證
  3. 給你的sv和uvm打個分,滿分100
  4. 講一講在項目中負責的內容吧
  5. 你是如何實現矩陣運算的,有沒有考慮過低功耗
  6. 你的加速器設計的難點在哪里?
  7. 講一講你的環境構成吧
  8. 從那些角度定義的覆蓋率?
  9. 什么是多態
  10. sv支持多重繼承嗎
  11. sv支持重載或者覆蓋嗎?
  12. sv的interface的作用是什么?
  13. rand和randc的區別是什么
  14. 如何關閉某個變量的隨機
  15. 如何關閉某個約束的隨機
  16. 如何指定某個coverpoint在特定條件下進行采樣
  17. iff是什么的縮寫
  18. 如何指定不要統計某些bin
  19. ignore bins和illgeal bins的區別是什么
  20. assertion中的交疊非交疊是什么意思
  21. Property是什么
  22. 如何指定對某一個Property進行覆蓋率收集?
  23. build phase和connect phase分別做什么?自上而下還是自下而上?
  24. task phase有哪些?
  25. 控制phase的是什么機制
  26. post shutdown phase結束了run phase沒結束,會進入下一個phase嗎
  27. 環境中有ral model嗎,解釋一下為什么要使用ral model
  28. 如果給你一個ip,帶寄存器配置接口,dma接口,還有spec,按照你的理解,你會怎么進行驗證?
  29. 如果代碼覆蓋率95%,功能覆蓋率80%,test pass100%,請問接下來怎么讓覆蓋率收斂?

這里我說把約束收緊,或者用直接激勵,面試官說你要把代碼覆蓋率沒有toggle的地方和功能覆蓋率沒覆蓋的地方聯系起來

  1. 如果功能覆蓋率100%而代碼覆蓋率不到60%,原因是什么,如何收斂?
  2. 英文自我介紹一下


免責聲明!

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



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