曼麗nilei
如果真的想從事芯片設計方向,建議你首先要搞清楚芯片設計到底是什么,日常的工作是什么,是不是自己喜歡的。
芯片設計大概可以分成三個大類:數(shù)字,模擬和射頻。如果說模擬和射頻之間還有些聯(lián)系,那數(shù)字和模擬基本上平常工作內(nèi)容是完全不同的。
因為我在數(shù)字方向,我可以簡單講講數(shù)字方向的工作。數(shù)字芯片設計主要分成幾個大方向:架構建模,前端設計,前端驗證和后端。
架構建模主要是利用C/C++或者SystemC進行算法和架構的建模,用于早期的軟件仿真的amodel和fmodel以及后面驗證的referencemodel。你需要具備的基本知識是計算機體系結(jié)構,基本的操作系統(tǒng),數(shù)據(jù)結(jié)構和算法知識,以及你做的芯片的domainknowledge,當然這個是可以后面工作中學習的,比如一些protocol的知識。如果具備一些芯片硬件相關的知識是更好的,真正的systemarchitect是必須具備扎實的數(shù)字電路的硬件知識的。
前端設計主要是使用verilog/vhdl語言進行硬件的描述。好的工程師應該是非常精通硬件底層的原理的,代碼如何映射到硬件。Timing的概念等等,基本上是微電子專業(yè)電路相關的知識。
前端驗證主要是使用systemverilog/uvm進行verification的工作,當然還有各種腳本。這個工作崗位雖然對硬件知識要求不低,但是其實跟軟件工作更相像。你需要非常理解OOP的概念,大部分人都是微電子等相關專業(yè)來做這個,所以很多人其實都沒有很好的理解UVM等框架,也很難寫出比較好的代碼。所以你看這個方向,不僅需要你有很好的硬件基礎,最好也有非常好的軟件素養(yǎng)。
后端,沒有接觸過太多,基本上是各種腳本+非常扎實的硬件電路基礎,特別是timing,甚至器件/工藝知識(高手)。這個方向的話應該是微電子專業(yè)最適合了。
所以,真的想做芯片設計,我猜你指CPU,GPU這種大芯片,那你應該想從事的是數(shù)字方向。那么其實4個字方向中每個小方向都需要非常扎實的硬件電路基礎,同時其中某些方向還需要你具有非常好的軟件和系統(tǒng)素養(yǎng)。
所以我建議可以選擇微電子方向(最好是去那幾所最好的學校,并且需要讀研)+自學軟件方向課程。
不過最重要的問題是你真的想做芯片設計嗎?
以心為馬
數(shù)字 IC 測試工程師是指負責驗證和測試數(shù)字集成電路的工程師。以下是數(shù)字 IC 測試工程師需要學習的內(nèi)容:
數(shù)字電路基礎課程 。數(shù)字電路知識是做數(shù)字 IC 的基礎,也是很多同學入行學習的第一本書,因此需要先掌握。
編程語言 。IC 測試工程師需要學習相應的編程語言,例如:SystemVerilog,最好也要懂 C 和 C++。除了這些編程語言之外,還需要掌握 MATLAB 和 C 語言用來產(chǎn)生測試數(shù)據(jù)。
驗證語言 。驗證工程師們需要使用各種驗證語言去搭建驗證環(huán)境。常用的驗證語言有 C、C++ 和 SystemVerilog。驗證崗位對 Verilog 語言的要求是能夠看懂、能夠理解的程度,并不需要像設計崗位那樣精通。SystemVerilog 就屬于驗證工程師的核心技能了,隨著設計越來越復雜,為了更方便例化模塊,所以 SV 語言也是越來越流行。
PCB 設計 。至少應該畫下簡單的芯片應用電路,因此需要掌握 PCB 設計知識。
驗證方法學 。UVM 是現(xiàn)在主流的驗證方法學,同樣屬于驗證工程師必備的核心技能。
測試基礎理論 。測試基礎理論包括需求分析、測試計劃、用例設計、測試執(zhí)行等方面。
體系結(jié)構 。體系結(jié)構領域的經(jīng)典書籍是計算機體系結(jié)構領域的經(jīng)典書籍,強調(diào)軟硬件協(xié)同設計及其對性能的影響,對數(shù)字 IC 測試工程師也有很大幫助。
需要注意的是,數(shù)字 IC 測試工程師需要掌握的知識和技能非常廣泛,包括理論知識、語言類、工具類、實踐經(jīng)驗等方面。因此,需要不斷學習和積累經(jīng)驗,才能成為一名優(yōu)秀的數(shù)字 IC 測試工程師。
優(yōu)質(zhì)工程師考試問答知識庫