芯片設(shè)計工程師的技能是通過多年的經(jīng)驗學(xué)習(xí)的。在您開始作為芯片設(shè)計工程師工作之前,很難給出一個需要的全面的單一列表,也不可能學(xué)習(xí)所有內(nèi)容。話雖如此,以下是您開始芯片設(shè)計師職業(yè)生涯時必須知道的一些事情。
1.數(shù)字邏輯設(shè)計基礎(chǔ)。
這些必須讓您思考作為芯片設(shè)計師,能夠根據(jù)邏輯塊、互連和綜合到正確的結(jié)構(gòu)等方面對設(shè)計進(jìn)行微架構(gòu)。
2.模擬電路設(shè)計基礎(chǔ)
PLL、CDR(時鐘和數(shù)據(jù)恢復(fù)電路)、ADC/DAC、高速信號和信號完整性概念(串?dāng)_、抖動、振鈴等)
如果您正在從事純數(shù)字設(shè)計,這些可能不是那么重要,但當(dāng)前的設(shè)計總是有幾個復(fù)雜的時鐘方案和高速接口,這使得理解這些很重要。
3.設(shè)計方法和流程
對設(shè)計流程和方法有很好的理解——RTL設(shè)計、物理設(shè)計、STA(靜態(tài)時序分析)等。
4.使用至少一種 HDL 語言
大多數(shù)芯片設(shè)計都使用像 SystemVerilog 或 VHDL 這樣的 HDL,并且對語言有充分的了解可以幫助您將設(shè)計轉(zhuǎn)換為高效的 HDL 模型。根據(jù)您是使用 HDL 進(jìn)行 RTL 開發(fā)還是設(shè)計驗證,技能也會有所不同。
5.功耗、性能、面積估計和權(quán)衡
當(dāng)前大多數(shù)芯片設(shè)計的目標(biāo)是在最佳面積內(nèi)以最低功耗滿足最高性能——由市場需求和成本決定。芯片設(shè)計師需要權(quán)衡幾種設(shè)計特性/技術(shù)來滿足這一點。
6.其他一些推薦的技能 (雖然可能不是所有人都必須知道的)
a.腳本語言 ——每一項工作都關(guān)注效率,了解至少一種腳本語言(如 python/perl)會有所幫助。在 RTL 設(shè)計中,這些對于生成重復(fù)代碼、針對不同需求對設(shè)計進(jìn)行參數(shù)化等很有用。在設(shè)計驗證中,這些在模擬設(shè)置、測試、回歸和調(diào)試等方面更有用。
b.晶體管工藝技術(shù)—— 了解芯片設(shè)計中使用的各種工藝技術(shù)的細(xì)節(jié)有時會是一個額外的優(yōu)勢。
c.隨著設(shè)計趨向于更多的 SOC(片上系統(tǒng)),如今大多數(shù)設(shè)計都將嵌入至少一個或多個處理器內(nèi)核。 了解微處理器和編程的基礎(chǔ)知識,硬件-軟件接口將有助于芯片設(shè)計的高效硬件/軟件架構(gòu)。
d.領(lǐng)域知識—— 基于所設(shè)計芯片的應(yīng)用和市場,對特定應(yīng)用/市場有充分的了解將非常有用??吹胶芏嘈酒O(shè)計的一些領(lǐng)域包括——網(wǎng)絡(luò)(以太網(wǎng)、存儲等)、無線、物聯(lián)網(wǎng)(物聯(lián)網(wǎng))、使用 AMBA 協(xié)議互連的基于 ARM 的 SOC 等。