美國硬體工程師必勝面經

Eric
15 min readFeb 20, 2023

硬體面試會遇到的 4 大主題 — RTL、Cache、CPU、Transistors

前言

在美國的留學生,頂著唸書的壓力又要找工作,讓人身心俱疲。被美國研究所的龐大的作業、實驗積滿了時間; 對於找工作的變數感到恐慌; 巨大的金錢壓力讓你喘不過氣。身為過來人,我了解到硬體相關資源的稀少,因此我想分享當時準備硬體工程師的面試題目,藉由本文讓疲於準備課業的硬體學生們,快速熟悉面試題目

除此之外,對於本人找工作的經驗,可以參考下篇文章:

一、硬體程式問題

*程式碼的參考解答都可以在這邊找到:EDA Playground

# 基礎 RTL 語法問題如下:

  1. wire 類別跟 reg 類別的不同 ➡ wire 不能存資料,就像一線,reg 則可以存資料
  2. if else/case 語法在合成過程中會變成什麼 ➡ Multiplexer
  3. 如何避免 Inferred Latches — 確保所有條件分支的所有條件都有提供結果,或者有提供 Default Condition
  4. a = #5 b 跟 #5 a = b 的差別
    前者:先判斷 b 的值,並存到暫存器中,過了 5 單位時間在賦值給 a
    後者:有點像是 Gate Delay,過 5 單位時間在將 b 賦值給 a

# RTL 程式問題

  1. Design FIFO Buffer ➡ 參考連結內 fifo.sv
    幾乎算是必考題,我遇過兩次不同公司的面試都有遇到。因此可以試著自己寫一個 FIFO,並嘗試解釋自己的程式碼。
  2. Design a generator that given 8 bits vector if the LSB bit is one, then the output should be 1 at that bit and the rest is 0 ➡ 參考連結內 generator.sv
    這是一個 Priority bit vector 的題目,譬如說 input 是 b’00011010 那 output 就是…

--

--

Eric

SoC Software Engineer at Tesla | 2021 UC Berkeley EECS | 2019 NTUEE.