MediaTek · Interview Prep

AI Engineer for Digital Design

完整知識讀本 · 面試一週衝刺 · MTK120260317000 · HsinChu

🎯 這個職位在做什麼
用一句話說:你是把 AI 搬進晶片設計工廠的那個人。你不寫晶片邏輯(那是 RTL 工程師的事),也不訓練通用 AI 模型(那是 AI 研究員的事),你的角色是讓 LLM 能幫 RTL 工程師寫程式碼、幫 DV 工程師寫測試、幫整個團隊更快完成晶片設計。

你會和三類人密切合作:
· RTL 設計師 — 寫 Verilog 描述晶片行為的人
· DV 工程師(Design Verification)— 寫 testbench 驗證設計正確的人
· AI 專家 — 管理模型和 AI 基礎設施的人
📊 面試重要程度
AI Agent 技術
RTL / 數位設計知識
RAG 實作能力
IC 設計全流程認知
Python / API 整合
AI 工具鏈生態
Fine-tuning 經驗
📖 讀法建議
第一遍(2-3hr):按順序讀全部分頁,建立全貌。先跳過 ▶ 展開區塊。
第二遍(隔天):精讀不熟的部分,展開所有程式碼範例。
第三遍:用之前的互動題庫刷題檢驗。
🏭 從沙子到晶片:IC 設計全流程(從零講起)
一顆晶片的誕生,經過以下大階段。你的職位(Digital Design)屬於中間的 Front-End 階段,但你需要理解全貌才能知道自己的工作在哪個環節。
1
系統規格定義(Specification)

產品經理和架構師定義晶片要做什麼:支援什麼通訊協定、跑多快、功耗預算多少、需要哪些功能模組。產出 spec 文件。

2
架構設計(Architecture Design)

把 spec 翻譯成硬體架構:定義功能方塊(CPU core、DSP、DMA、bus…)、它們之間的通訊介面、pipeline 深度、記憶體階層。

3
RTL 設計(你在這裡!)

用 Verilog / SystemVerilog 把架構「寫成程式碼」。每個功能模組都用 HDL 描述它的行為。這就是 Front-End Design 的核心。

4
功能驗證(Functional Verification)

DV 工程師寫 testbench 來驗證 RTL 行為正確。包含 simulation、formal verification、coverage 分析。這也是 Front-End。

5
邏輯合成(Logic Synthesis)

用 EDA 工具(如 Design Compiler)把 RTL 轉成 gate-level netlist——由具體邏輯閘(AND、OR、FF…)組成的電路。這是 Front-End 和 Back-End 的分界。

6
佈局與繞線(Place & Route)

把邏輯閘放到晶片上的具體位置,然後用金屬線把它們連起來。這是 Back-End(Physical Design)的核心。

7
簽核驗證(Sign-off)

用 STA(Static Timing Analysis)確認時序、用 DRC/LVS 確認實體規則。全部通過才能送出。

8
光罩製作 & 晶圓製造(Tape-out → Fab)

產出 GDSII 檔案,送去晶圓廠(如 TSMC)製造。這之後就無法修改了。

9
封裝測試 & 矽後驗證(Package → Post-silicon Validation)

晶片回來後實際上電測試,確認功能正確。

🔍 Front-End vs. Back-End — 你必須搞清楚的分界
Front-End(前端)Back-End(後端)
又稱Digital Design / RTL DesignPhysical Design / Layout
在做什麼定義晶片「做什麼」(功能)定義晶片「長什麼樣」(物理實現)
核心產出RTL code + 驗證通過的 netlistGDSII 檔案(送工廠的檔案)
關鍵步驟RTL 設計、Simulation、Formal Verification、SynthesisFloorplan、Placement、CTS、Routing、STA、DRC/LVS
寫的語言Verilog / SystemVerilogTCL 腳本驅動 EDA 工具
你的職位✦ 你在 Front-End,用 AI 輔助 RTL 設計和驗證
面試 tip:JD 說的「front-end digital design」就是 Front-End = RTL 設計 + 驗證。不要跟網頁前端搞混!
📐 你的工作在流程中的哪裡?
Spec
Architecture
RTL 設計 ★
驗證 ★
Synthesis
P&R
Tape-out

你的 AI 工具主要幫助 ★ 標記的兩個階段:
· RTL 設計:用 LLM 生成 Verilog、優化設計、讀 spec 自動產 code
· 驗證:用 LLM 生成 testbench(simulation + formal)、分析 coverage、debug
· 也會觸及 Synthesis:分析合成結果,回饋 RTL 設計優化 PPA
🔤 名詞速查表
名詞全名白話解釋
RTLRegister Transfer Level用暫存器和組合邏輯描述硬體行為的抽象層級
HDLHardware Description Language描述硬體的程式語言(Verilog、VHDL、SystemVerilog)
Netlist由具體邏輯閘(AND/OR/FF)組成的電路清單
Synthesis邏輯合成把 RTL 翻譯成 Netlist 的過程
PPAPerformance, Power, Area評估晶片品質的三個核心指標
Tape-out設計定版,送去工廠製造(之後不能改了)
DUTDesign Under Test被測試的設計模組
STAStatic Timing Analysis不跑模擬,用數學方法檢查所有路徑是否滿足時序
DRCDesign Rule Check檢查晶片佈局是否符合製程規則
LVSLayout vs. Schematic檢查佈局和電路圖是否一致
IPIntellectual Property可重複使用的設計模組(如 USB controller、DDR PHY)
SoCSystem on Chip把 CPU、GPU、Modem 等全部整合在一顆晶片上
ASICApplication-Specific IC為特定用途客製化的晶片(對比 FPGA)
EDAElectronic Design Automation晶片設計用的軟體工具(Synopsys、Cadence…)
DVDesign Verification驗證 RTL 設計是否正確的工程領域
UVMUniversal Verification Methodology業界標準的驗證框架(SystemVerilog class-based)
SVASystemVerilog Assertions用於 formal verification 的斷言語法
CDCClock Domain Crossing信號從一個 clock domain 跨到另一個,需特殊處理
GDSII送去晶圓廠的最終設計檔案格式
⚡ 為什麼 LLM 寫 Verilog 比 Python 難得多?
1. 硬體並行性
Python 一行接一行執行。Verilog 的多個 always block 是同時執行的,LLM 習慣循序思維,容易產生 race condition。
2. 時序語意
blocking (=)non-blocking (<=) 在模擬中行為完全不同,一般語言沒有對應概念。
3. 訓練資料稀缺
IC 公司把 RTL 視為核心 IP 不公開。GitHub 上的 Verilog 品質差、數量少。
4. 錯誤代價極高
軟體 bug 可以 hotfix。晶片 tape-out 後無法修改,一個 bug = 數千萬美元損失。
🔁 Self-Verification 流程
Spec 輸入
LLM 生成 RTL
LLM 生成 Testbench
模擬器驗證
Fail → Error 回饋 → 修正 → 重來
代表研究:VeriAssist(讓 LLM 逐步 walk through 每個 cycle 的信號變化)。最新 agentic 方法在 RTLLM 上達 96%+ 通過率。
📊 Benchmark 速查
名稱規模評估最新成績
VerilogEval~156 題pass@k89.7%(agentic, Claude Sonnet 4)
RTLLM30 設計語法→功能→PPA96%(agentic, GPT-4.1)
CVDP783 題13 類任務34% pass@1(仍有大量改善空間)
🤖 Multi-Agent RTL 生成框架
框架核心做法
MAGE多 agent(planner, coder, tester, debugger)分工
VerilogCoder用 AST 解析輔助 LLM 理解程式碼結構
AIVRIL引入 AutoReview agent 做自動化 code review
AutoBenchtestbench 自動生成 + 迭代修正
AssertLLMmulti-agent pipeline 自動生成 formal assertion
❌ 常見錯誤模式 & 改善策略
錯誤改善
Blocking/Non-blocking 混用System prompt 加入 coding rule
FSM 漏掉 default stateCoT:先列所有 state 和 transition
無法轉換 K-map、波形圖Correct-by-construction training data
位寬推斷錯誤要求明確宣告所有信號寬度
Reset 邏輯遺漏Few-shot 範例包含 reset 模式
🤖 Agentic AI 完整概念
傳統 prompting vs. Agentic
傳統 promptingAgentic AI
互動一問一答多步驟自主迴路
工具可呼叫外部工具/API
迭代人工介入每步自動迭代直到完成
錯誤處理人工判斷自動 retry / 調整策略
Agent 五大核心能力
Planning(拆解任務)→ Tool Use(呼叫工具)→ Observation(讀取結果)→ Reflection(自我評估)→ Memory(記住上下文)
MCP(Model Context Protocol)— 必考!
Anthropic 開源的標準化協定。讓 AI 和外部工具的整合從 N×M → N+M。

三層架構:MCP Host(AI 應用)→ MCP Client(連線管理)→ MCP Server(工具服務)
三大能力:Tools(可執行的函式)、Resources(可讀取的資料)、Prompts(prompt 模板)
面試應用:「我會建 MCP Server 封裝 Verilator,暴露 compilesimulate 兩個 tool。任何支援 MCP 的 AI 工具都能自動呼叫模擬器。」
Claude Code — JD 直接點名
Anthropic 的 CLI agentic coding 工具:在 terminal 中委派任務給 Claude,它能直接讀寫檔案、跑 shell、整合 MCP,形成完整的自動化開發迴路。
Planning 策略比較
策略做法適用
ReActThought→Action→Observation 交替最通用
Plan-and-Execute先生成完整計畫再執行步驟明確的任務
Tree-of-Thought探索多條路徑需要探索不同方案
Reflexion失敗後反思存入 memory需從錯誤中學習
🔧 Verilog 核心語法
Blocking (=) vs. Non-blocking (<=) — 最常考!
Blocking =Non-blocking <=
執行立即更新時間步結束時同時更新
用於always_comb(組合邏輯)always_ff(循序邏輯)
混用造成 simulation-synthesis mismatch(大忌)
FSM 三段式寫法
第 1 段:State register(always_ff,更新 current_state)
第 2 段:Next state logic(always_comb,決定下一狀態)
第 3 段:Output logic(always_comb,產生輸出)
Formal Verification (SVA)
assert:設計必須滿足(違反 = bug)
assume:限制輸入合法範圍
cover:驗證場景可達性
時序:|-> overlapping / |=> non-overlapping / ##N延遲 N cycle
EDA 工具速查
工具功能
VCS (Synopsys)模擬器(業界最常用)
Design Compiler邏輯合成(RTL → netlist)
JasperGold (Cadence)Formal verification
SpyGlassLint / CDC 檢查
Verilator (開源)高速模擬器
CocoTB (開源)Python-based testbench
📚 RAG 完整知識
RAG 是什麼?
Retrieval Augmented Generation。LLM 回答前先從外部知識庫「查資料」,再根據查到的內容生成答案。不改模型權重,只在推論時注入知識。
五步驟 Pipeline
① 文件載入
② Chunking
③ Embedding
④ Retrieval
⑤ Generation
Chunking 策略(最影響品質!)
策略做法Verilog 建議
Fixed-size固定 500 tokens/chunk可能切斷 module
Recursive段落→句子遞進切LangChain 預設
Semanticembedding 相似度斷點品質最高
Code-aware以 module 為單位最推薦!保留 port 宣告作前綴
RAG vs. Fine-tuning
RAGFine-tuning
改模型?不改改權重
資料更新即時需重訓
成本高(需 GPU)
可解釋高(可追溯來源)低(黑盒子)
IC 場景查 spec、coding guideline學 Verilog 風格
最佳兩者結合:fine-tune 學風格 + RAG 查規範
LoRA & QLoRA(Fine-tuning 必知)
LoRA:不更新全部權重,在每層加小型低秩矩陣。參數量減少 10,000×+。可為不同任務維護不同 adapter。
QLoRA:凍結的原始模型量化到 4-bit → 消費級 GPU 也能 fine-tune。
🧰 AI 工具鏈完整地圖
作為 AI Engineer,你需要知道有哪些工具可用,以及它們之間的關係。以下按用途分類:

LLM 提供者 開發框架 Agentic 工具 向量資料庫 Embedding 模型 觀測 & 評估
🔗 LangChain vs. LangGraph — 深入比較
這是面試最容易被問的 AI 框架問題。它們不是競爭關係,而是互補
LangChain — 「樂高積木」
LangChain 提供一堆預製模組(積木),讓你快速組裝 LLM 應用:

· Prompt Templates:可重用的 prompt 模板
· Chat Models:統一介面呼叫 OpenAI / Anthropic / HuggingFace
· Document Loaders:讀取 PDF、CSV、網頁等各種格式
· Text Splitters:各種 chunking 策略
· Vector Stores:連接 FAISS / Chroma / Pinecone
· Retrievers:封裝檢索邏輯
· Tools:封裝外部工具(搜尋、計算器…)
· LCEL(LangChain Expression Language):用 | pipe 串聯步驟

核心特色線性流水線(Chain)——A → B → C → D,每步的輸出餵給下一步。像工廠的輸送帶。

適合:RAG pipeline、chatbot、摘要、Q&A、快速 prototype
LangGraph — 「流程圖引擎」
LangGraph 在 LangChain 的基礎上加入了圖(Graph)結構

· Node:一個處理步驟(呼叫 LLM、執行工具、人工審核…)
· Edge:步驟之間的連接,可以是條件式的(if/else routing)
· State:整個 graph 共享的狀態物件(所有 node 可讀寫)
· Checkpointing:可以暫停/恢復(適合 human-in-the-loop)
· 支援迴圈:Node A → B → C → 回到 A(LangChain 的 Chain 不行!)

核心特色支援迴圈、分支、重試——不是一條直線,而是一張網。像城市的交通網路。

適合:multi-agent 系統、需要迭代修正的流程、複雜決策樹、production-grade agent
關鍵差異總表
維度LangChainLangGraph
架構線性 Chain(DAG,有向無環圖)Graph(有向圖,可有環/迴圈)
流程A→B→C→D(固定順序)A→B→C→回到A(可迴圈)
狀態管理隱式(靠 memory module)顯式(State 物件,所有 node 共享)
迴圈❌ 不支援✅ 原生支援
條件分支有限的 Router原生 conditional edge
Human-in-the-loop需自己實作內建 interrupt/resume
Debug 難度Chain 長了變黑盒子Graph 可視化,每個 node 可追蹤
學習曲線低(快速上手)中高(需理解 graph/state 概念)
定位快速 prototypeProduction-grade agent
在這個職位的應用:
· 用 LangChain 快速建 RAG prototype(讀 spec → 檢索 → 生成答案)
· 用 LangGraph 建完整的 RTL 生成 agent(因為需要「生成→模擬→fail→修正→再模擬」的迴圈)
📊 LangChain 生態系全貌
工具定位何時用
LangChain基礎模組(積木)快速組裝 LLM 應用、RAG pipeline
LangGraphAgent 狀態機(圖引擎)複雜 agent、迴圈、多步驟流程
LangSmith觀測平台(tracing/eval)Debug、測量品質、regression testing
LangServe部署 API把 chain 包成 REST API 上線
LangFlow視覺化拖拉建構非工程師或快速 demo
學習順序:先學 LangChain → 需要迴圈時學 LangGraph → 上線時加 LangSmith 做 monitoring。
🗄️ 向量資料庫比較
名稱類型特色適合
FAISS本地端 libraryMeta 開源,速度極快POC、研究
Chroma輕量 DBPython-native,API 簡單開發 & 小型專案
Pinecone雲端 managed免維運、自動擴展生產環境
Weaviate開源 DB支援 hybrid search需要 keyword + semantic
Milvus開源 DB高效能、分散式大規模企業應用
🔤 Embedding 模型比較
模型維度特色
text-embedding-3-large (OpenAI)3072品質最高,API 方便
text-embedding-3-small (OpenAI)1536成本低,品質仍好
BGE-large-zh1024開源,中文表現優異
Voyage Code 31024專門為程式碼優化
Jina Embeddings768開源,支援長文本
Verilog 場景建議:如果你的 RAG 需要嵌入 Verilog 程式碼,優先考慮 Voyage Code 3(code-specialized)或 text-embedding-3-large(通用但品質高)。
🛠️ Agentic Coding 工具比較
工具介面LLM 後端MCP 支援特色
Claude CodeCLIClaude onlyAnthropic 官方、深度整合
Roo CodeVS Code多模型IDE 內操作、開源
OpenCodeCLI多模型開源、社群驅動
CursorIDE多模型部分商用 IDE、AI-native
GitHub CopilotIDE pluginOpenAI最普及、code completion 為主
📏 Prompt Engineering 技巧
技巧做法在 Verilog 的應用
Few-shot提供 2-3 個範例給正確的 counter 範例,再請它生成 FIFO
Chain-of-Thought要求先分析再寫先列 I/O 信號和寬度,再寫 RTL
Self-planning先生成計畫再實作RTLLM 的 self-planning 策略
Structured output指定格式(JSON/XML)module 和 testbench 分區塊
Role prompting設定專家角色「你是 20 年經驗的 ASIC 工程師」
💼 AI Engineer for Digital Design 的日常工作
面試官想知道你是否理解這個角色的實際樣貌。以下是你入職後可能會做的事情:
🔧 日常開發工作(60%)
· 建構和維護 RTL 生成 Agent:串接 LLM API + EDA 工具,讓 agent 能自動生成 Verilog 並驗證
· 建構 RAG 系統:讓 LLM 能查詢公司內部的設計 spec、coding guideline、IP 文件
· 開發 MCP Server:封裝 VCS / Design Compiler / Verilator 等 EDA 工具的 CLI 介面
· 設計 Prompt 模板:針對不同任務(RTL 生成、testbench 生成、debug)優化 prompt
· 建立 Evaluation framework:自動化評估 LLM 生成的 RTL 品質(語法、功能、PPA)
🧪 研究與評估(20%)
· 追蹤最新的 LLM for EDA 論文(RTLLM、VeriAssist、ChipNeMo…)
· 評估新的商用/開源 LLM 在 Verilog 生成上的表現
· 嘗試 fine-tuning 開源模型(StarCoder2、CodeLlama)學習 Verilog
· 做 benchmark 比較不同方案的優劣
📝 文件與溝通(20%)
· 撰寫技術文件:記錄系統架構、使用指南
· 撰寫專利:將創新方法申請專利保護
· 撰寫論文:將研究成果投稿至學術會議
· 與 RTL 設計師和 DV 工程師溝通:了解他們的痛點,設計他們真正會用的工具
🎯 AI 可以應用在 IC 設計的哪些任務?
應用領域具體任務成熟度
程式碼理解· 解釋 legacy RTL 程式碼
· 自動加註解
· 摘要設計 spec 文件
🟢 高(已落地)
技術文件生成· 從 RTL 自動產生設計文件
· 自動整理 release notes
🟢 高(聯發科已用)
Code completion· Verilog autocomplete
· 根據註解補全程式碼
🟡 中(聯發科已用)
Testbench 生成· 自動產生 simulation testbench
· 產生 directed test case
🟡 中
Spec → RTL· 從自然語言 spec 生成 Verilog module🟡 中(簡單模組可行)
Formal assertion 生成· 從 spec 自動萃取 property 並生成 SVA🟠 早期
Debug 輔助· 分析 simulation error log
· 定位 bug root cause
🟠 早期
RTL 優化· 建議 PPA 優化方向
· 分析 synthesis report
🔴 研究階段
完整自動化設計· 從 spec 到 tape-out 全自動🔴 遙遠目標
面試觀點:表達你理解 AI 在 IC 設計中的成熟度階梯——先從低風險的「理解/文件」開始落地,逐步推進到「生成/驗證」,最終才是「自動化設計」。展現你的務實態度,而非過度樂觀。
🏢 聯發科的 AI 現況(面試必知!)
項目內容
AI 工廠NVIDIA DGX SuperPOD,每月約 600 億 tokens 推論
自研 LLMBreeze 系列,含 480B 參數繁體中文模型
已落地應用AI code completion、設計文件分析 agent(從流程圖擷取資訊,文件工作從數週→幾天)
推論加速TensorRT-LLM + NIM:推論速度 ↑40%,throughput ↑60%
Fine-tuning用 NVIDIA NeMo 做 domain-specific fine-tuning
AI 戰略「AI For Life: From Edge to Cloud」
旗艦晶片Dimensity 9500s(2026/01)
AI ASIC多個 design win,2026 目標超 10 億美元營收
合作夥伴NVIDIA NVLink Fusion、Google LiteRT NeuroPilot、DENSO 車用 SoC
🧠 你應該主動思考的問題
面試中展現「你已經在想入職後要做什麼」會非常加分:

· 如果我是第一天上班,我會先跟 RTL 設計師和 DV 工程師聊,了解他們日常最花時間的任務是什麼
· 最低風險的 quick win:用 RAG 讓工程師能用自然語言查詢 coding guideline
· 中期目標:建 testbench 自動生成 agent,整合 VCS 做 self-verification loop
· 如何衡量成功:「AI 輔助設計的模組通過驗證的比例」、「工程師使用 AI 工具的頻率」、「設計時間縮短的百分比」
· 預期挑戰:工程師對 AI 生成程式碼的信任度、生成品質的一致性、公司內部資料的安全性
💬 STAR 法則 + 自我介紹
STAR
Situation(15%)→ Task(10%)→ Action(55%,最重要)→ Result(20%,用數字)
準備 5 個故事
① 解決困難技術問題 · ② 學習新技術 · ③ 跨團隊合作 · ④ 技術選型決策 · ⑤ 從失敗中學習
自我介紹範本
「我是 [姓名],過去 [X] 年專注 [專長]。在 [公司/學校],我 [具體成果+數字]。近期對 LLM 在硬體設計的應用特別感興趣,有使用 Claude Code / RAG 的經驗。聯發科的 AI 工廠每月處理 600 億 tokens、AI agent 已將文件工作從數週縮短到幾天,我希望加入團隊把這些能力擴展到 RTL 設計和驗證。」
問面試官的問題(挑 2-3 個)
· 目前團隊將 LLM 應用在哪些設計階段?最成功的案例?
· AI 生成的 RTL/testbench 品質如何驗證?有進入 tape-out 嗎?
· 這個職位的 6 個月和 1 年目標是什麼?
· 團隊在論文/專利方面的期望?
一週衝刺
Day 1-2:讀完本文 · Day 3-4:動手用 Claude 生成 Verilog,裝 Claude Code · Day 5:讀 RTLLM 論文,練系統設計 · Day 6:練自我介紹 + STAR 故事 · Day 7:讀新聞 + 複習 + 早睡