產業鏈
集成晶片(Integrated Chip, IC)的研發、生產是一個相當複雜的流程,所以產業上才會需要這麼多人來做這些事。而目前大多數的IC都是用半導體材料做成的,所以新聞界、金融界上都稱為"半導體"產業。半導體產業鏈的分工粗略分成以下流程:豬屎屋(Design House) 設計、驗證 →
晶圓代工廠生產製造(Fabrication, Manufacture) →
封裝測試廠(Packaging and Testing) 做大量的晶片封裝與測試
基本上要確立產品的是豬屎屋,而下游就是負責開發更好、更先進的製程以製造出更好的東西,以及維持製造品質。
在這個設計MCU(微控制器)的工作上,接觸到滿多東西的,也可以學到很多,然而相對的就是要拿出時間來換取了。
數位設計流程
以前從書上看到畫著設計流程的流程圖都沒什麼感覺,唯有走過之後才對那些描述有感。在工程開發上,流程圖可以確立開發步驟及時程,提醒開發者該做什麼事,已完成及待完成的事,遵循著這流程走能盡量避免差錯。以下列了一個數位開發上的典型流程,每個階段都有故事可以詳述。- 架構定義,設計目標定義 (spec. definition)
- 邏輯設計(Behavior-level/RTL-level design) -->
- 邏輯模擬(RTLSIM),驗證設計(Verification) -->
- 電路合成 (Synthesis) -->
- 佈局前模擬(pre-sim) -->
- 佈局及繞線 (Layout and APR) -->
- 佈局後模擬 (post-sim) -->
- 設計送出(Tape-out)
設計工具
一般都是在Linux 環境上執行。EDA tool也都是在Linux上跑。因此學一些script language是必要的。熟悉與否會影響工作效率
Script and Tool
Script - bash
Script - tcsh
Script - python
Tool - sed (字串處理)
Tool - awk (字串處理)
Tool - vim (文字編輯)
Tool - linux常用指令
Tool - vim (文字編輯)
Tool - linux常用指令
EDA
合成(Synthesis) - Design Compiler
模擬(Simulation) - NCVerilog
覆蓋率(Coverage) - NCVerilog + Calibre
比對(Formality) - Confocal
電路合成
EDA tool分析design及合成條件constraint,使用指定的資源庫(Library, .lib)合成出符合所需要的電路。參見合成章節時序分析 (Timing Analysis)
邏輯設計課程重點總結
真值表(Truth Table)組合邏輯(Combinational logic/circuit) vs. 循序邏輯((Sequential logic/circuit)
組合邏輯
基本邏輯閘(Logic Gate): AND, OR, NOT, XOR, NAND, NORDe morgan's Theorem: (AB)' = A'+B'
電路化簡及設計
- 卡諾圖
- Tabulation 化簡法
- Sum of product
- Product of sum
循序邏輯
Latch-base
RS-latch
Clock-base
D-FlipFlopT-FlipFlop
設計模式
- Cell-based design
- Customized circuit design
沒有留言:
張貼留言