數位IC設計瞭解篇(5)認識積體電路

2020-08-14 01:04:39
  1. 什麼是積體電路。
    積體電路(integrated circuit)是一種微型電子器件或部件。採用半導體工藝,把一個電路中所需的電晶體、電阻、電容和電感等元件及佈線在一塊或幾塊半導體晶片上製作出來,然後封裝在一個管殼內,成爲具有所需電路功能的微型結構。積體電路通常用字母「IC」表示,其功能是對輸入的資訊進行加工處理。
    先看看分立器件組成稱的電路圖和電路板。
    分立器件电路
    試想能不能把這些分立半導體器件組成的電路微型化然後再做在一起?早在1952年,英國科學家G. W. A. Dummer就提出了積體電路的設想,1958年TI公司Clair Kilby的研究小組發明了第一塊積體電路,包含12個元件,採用的是鍺半導體。接下來的幾十年積體電路得到了飛速發展,現在整合晶片包含幾十億電晶體已是常事,像華爲麒麟1020、蘋果A14這些採用5nm先進工藝的晶片,電晶體數量達到100億以上。
    原始的集成电路
    IC芯片
    以MCU(Microcontroller Unit)爲例進一步認識晶片的構造,微控制單元又稱單片微型計算機(Single Chip Microcomputer )或者微控制器,晶片內部包含微處理器(cpu),並將記憶體(memory)、計數器(Timer)、PLL、A/D轉換、UART、DMA等外圍介面整合在單一晶片上,形成晶片級的計算機,爲不同的應用場合做不同組合控制。 下圖是MCU晶片的結構示意圖。
    mcu芯片构造
    通過晶片的版圖和顯微鏡放大圖片來了解晶片內部長什麼樣,下圖是多款不同工藝晶片版圖。多款不同工艺芯片版图
    再看看積體電路晶片的顯微照片。
    芯片显微镜照片
  2. 積體電路產業鏈
    IC 產業主要由設計業、製造業、封測業三大產業組成,除此之外,還有半導體材料、器件、裝置、設計軟體工具等附加產業。
    芯片产业
    早期,半導體公司多是從IC設計、製造、封裝、測試到銷售都一手包辦的整合組件製造商(Integrated Device Manufacturer, 俗稱 IDM)。典型的IDM 廠有Intel、TI、摩托羅拉、三星等公司。
    由於摩爾定律的關係,半導體晶片的設計和製作越來越複雜、花費越來越高,單獨一家半導體公司往往無法負擔從上遊到下遊的高額研發與製作費用。1980年代末期,半導體產業逐漸走向專業分工的模式── FOUNDRY模式 (做晶圓代工和封裝測試)、FABLESS模式(無廠,專注IC設計)和DESIGN SERVICE模式(晶片設計服務提供商)。知名的代工廠(Foundry,一般只負責製造、封裝或測試的一個環節)有TSMC、UMC、Charter、SMIC、日月光、矽品、長電科技、華天科技等,知名的FABLESS有高通、聯發科、博通(Broadcom)、華爲、AMD等,知名DESIGN SERVICE有ARM、Imagination、Synopsys (新思科技)、Cadence、Mentor Graphics等。下圖爲三大主要產業的分工圖。
    产业分工
  3. IC大致分類
    IC從電路特性上可分爲模擬IC和數位IC,如運算放大器是模擬IC,編碼器晶片是數位IC,當然很多晶片是兩者混合設計的。從定製程度上分可分半定製IC和全定製IC,FPGA/CPLD屬於半定製晶片,典型特點是使用者可程式化改變內部邏輯,ASIC(專用積體電路)屬於全定製晶片,通用的CPU、GPU一般也是全定製晶片,它們特點是一旦設計製造完成後電路就固定了,無法再改變。事實上,不論它是模擬的、數位的,或兩者的混合,任何定製的晶片都是一個ASIC。SOC(片上系統或系統級晶片)可用FPGA實現,也可設計成ASIC,它一般即包含數位邏輯設計又包含類比電路設計。
    IC分类
  4. 數位IC研發流程
    數位IC研發的大致流程如下圖,首先是規格定製(訂定目標),接着是用硬體描述語言描述規格中的功能,程式碼實現的功能是否符合預期需要模擬驗證,發現程式碼的功能和規格不一致時需要返回修改設計直到功能正確,驗證通過後把RTL程式碼綜合成與工藝相關的門級電路,門級網表需要做功能驗證和形式化對比驗證,驗證通過後方可進行後端的佈局佈線,佈線完成後需要做後仿驗證和各種規則檢查,一切OK後方可送至晶片代工廠加工製造。
    数据IC设计流程图
  5. 整合IC設計相關知識
    整合IC所牽涉的知識非常廣,人的精力有限,一個人不大可能把所有的知識都掌握,因此我們需要有選擇性的進行學習,工作需要用那些知識點就先學那些知識點,邊學邊用,實踐中成長。晶片設計相關的知識點大致如下:
    系統知識 計算機、通訊、資訊、控制等學科。
    程式設計知識 verilog/VHDL 指令碼語言(tcl、perl、python等)。
    電路知識 模擬、數位、模數混合、RFIC、MMIC。
    工具知識 cadence、synopsys等軟體工具。
    工藝知識 元器件特性和模型、工藝原理和過程。
    Linux知識 linux基本操作。
  6. IC設計中任務和職位關係
    左邊爲任務,右邊爲職位,對應起來看就行。
    任务与职位
    本文圖片來自網路資源,版權屬於原作者。