華為晶元與器件設計工程師(實習)一 二面

2021-10-06 22:31:56 字數 3192 閱讀 9829

首先說一下這個是海思專場,雖然是武長地區的,但是我申請的崗位是深圳的,二面業務主管也說了,這個會同意安排,實習地點暫定

一面相對簡單一些,一開始上來面試官讓介紹一下自己,五分鐘時間講自己的求學經歷(可能是想針對這些經歷發問吧),然後問了一下專案做過哪些邏輯,如果讓你接觸乙個新的介面邏輯,你怎麼去理解這個邏輯並實現還問有沒有做過非同步的邏輯,非同步處理的幾種方法(fifo、握手、格雷碼、多拍快取),其次問到控制訊號和資料訊號傳給下游非同步器件,是怎麼保證控制訊號和資料訊號經過非同步處理後時序還是對齊的(這個沒有答上來,她問我也是做過這樣的沒有,我之前還真沒做過)。

隨後為了看看我真的寫過**沒有,就給我了一道題,大概像下面這樣

1.always@(posedge clk or negedge rst_n)begin

if(!rst_n) din_dly <= 0;

else din_dly <= din;

end2.always@(posedge clk)begin

din_dly <= din;

end3.always@(posedge clk )begin

if(!rst_n) din_dly <= 0;

else din_dly <= din;

end

主要考察的是復位這裡,1為非同步復位,2為無復位,3為同步復位,同步復位不能在無時鐘的時候正常復位,復位鍵應該是與其他訊號無關聯的。

二面問的範圍比較廣吧,一開始也是介紹自己,然後就先問有關c語言的,讓你寫一下20個隨機數的排序(對於那些c++研發大佬而言隨便寫,我還是卡了一下),我用的最簡單的氣泡排序,寫完後問我還知道那些排序方法(快排,堆排序,插入排序,我只答了這幾個,辛虧沒有讓我說原理,估計我只說得出快排的了),然後就是問我二叉樹是什麼,作用是啥(我說用在堆排序,哈弗曼編碼,圖的遍歷)。隨後問我學過什麼與晶元這邊有關聯的東西,我說了一些課程,他問我對mips了解多少,我說我學過,然後問了mips有多少級流水線,這個我沒有答上來,引用網上的回答吧:

經典的mips流水bai線分五級

(1)if取指du(insturction fetch),從指令快取記憶體(i-cache)獲取下一條指令

(2)rd讀取暫存器zhi(read register),讀取該指令的dao源暫存器域指定的cpu暫存器的內容。

(3)alu算術邏輯單元(arithmetic/logic unit)在乙個時鐘週期內完成算術或者邏輯操作。

(4)mem訪問記憶體(memory),該階段指令可以讀寫資料快取記憶體(d-cache)中的記憶體變數。

(5)wb寫回暫存器(write back),將操作結果值寫道暫存器堆中。

第一次握手:建立連線時,客戶端傳送syn包(seq=j)到伺服器,並進入syn_sent狀態,等待伺服器確認;syn:同步序列編號(synchronize sequence numbers)。

第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(seq=k),即syn+ack包,此時伺服器進入syn_recv狀態。

第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established(tcp連線成功)狀態,完成三次握手。

完成三次握手,客戶端與伺服器開始傳送資料,在上述過程中,還有一些重要的概念:

(1)未連線佇列

在三次握手協議中,伺服器維護乙個未連線佇列,該隊列為每個客戶端的syn包(seq=j)開設乙個條目,該條目表明伺服器已收到syn包,並向客戶發出確認,正在等待客戶的確認包。這些條目所標識的連線在伺服器處於 syn_recv狀態,當伺服器收到客戶的確認包時,刪除該條目,伺服器進入established狀態。

(2)backlog引數

表示核心為相應套接字排隊的最大連線個數。syn-ack重傳次數

三次握手協議

三次握手協議

伺服器傳送完syn-ack包,如果未收到客戶確認包,伺服器進行首次重傳,等待一段時間仍未收到客戶確認包,進行第二次重傳,如果重傳次數超過系統規定的最大重傳次數,系統將該連線資訊從半連線佇列中刪除。注意,每次重傳等待的時間不一定相同。

(3)半連線存活時間

是指半連線佇列的條目存活的最長時間,也即伺服器從收到syn包到確認這個報文無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時我們也稱半連線存活時間為timeout時間、syn_recv存活時間。

面試官說背景知識也很重要,不能只是會寫**,給我推薦了兩本書:

計算機組成與設計硬體/軟體介面,

計算機體系結構:量化研究方法(第5版)

後一本更加深奧一些。

聽說我是做過fpga的rtl設計,所以問我fpag的資源有多少,fpga的實現原理

fpga採用了邏輯單元陣列lca(logic cell array)這樣乙個概念,內部包括可配置邏輯模組

clb(configurable logic block)、輸入輸出模組iob(input output block)和內部連線(interconnect)三個部分。 現場可程式設計門陣列(fpga)是可程式設計器件,與傳統邏輯電路和門陣列(如pal,gal及cpld器件)相比,fpga具有不同的結構。fpga利用小型查詢表(16×1ram)來實現組合邏輯,每個查詢表連線到乙個d觸發器的輸入端,觸發器再來驅動其他邏輯電路或驅動i/o,由此構成了既可實現組合邏輯功能又可實現時序邏輯功能的基本邏輯單元模組,這些模組間利用金屬連線互相連線或連線到i/o模組。fpga的邏輯是通過向內部靜態儲存單元引導程式設計資料來實現的,儲存在儲存器單元中的值決定了邏輯單元的邏輯功能以及各模組之間或模組與i/o間的聯接方式,並最終決定了fpga所能實現的功能,fpga允許無限次的程式設計。

lut的應用(lut指顯示查詢表(look-up-table),本質上就是乙個ram。它把資料事先寫入ram後,每當輸入乙個訊號就等於輸入乙個位址進行查表,找出位址對應的內容,然後輸出。):網上查到的是什麼灰度對映,其它就沒有了。

還有乙個題我也沒有答出來,他問我資料依賴怎麼解決原來 cpu 為程式效能優化做了這麼多 ,只能先貼乙個這個鏈結了解相關的知識了,至於資料依賴導致執行的速度變慢,這個我還沒有查到好的答案。

華為晶元與器件設計工程師 數字晶元設計工程師

崗位職責 1 參與晶元需求討論,並按照晶元規格的要求,參與完成晶元總體方案 詳細設計方案的完成 邏輯 的編寫 2 嚴格遵循開發流程 模板 標準和規範,確保開發工作按時按質完成。崗位要求 1 具有soc開發經驗者 熟悉arm處理器 amba匯流排 外設介面 具備複雜電路設計 ut驗證經驗,深刻理解同步...

華為熱設計工程師待遇

1.ppt介紹個人經歷 2.綜合面試 3.專業性強,問得很細 第一部分 坐下來之後,面試官說你先自我介紹吧。當我介紹到我擔任某個社團的負責人時,她打斷了我,開始詳細討論這塊的內容。這裡的主線問題有這麼幾個 你在這個社團中是幹什麼的 你負責的活動中有沒有遇到什麼問題 在活動中什麼時候發現的問題 通過什...

華為數字晶元工程師實習生面試全過程

3月底去參加了深圳華為實習生的面試,先用幾句話形容整個面試經歷吧 準備很充分 過程很順利 等待很漫長 結果很意外。是的,最終我沒有通過面試,但是還是有一些收穫和感想吧,在這裡分享一下。首先說一下準備過程,大概是在3月初在華為官網投了簡歷,三月中旬開始準備,大概十幾天時間,收到面試通知是在3月29號。...