集成電路設計可以大致分為數字集成電路設計和模擬集成電路設計兩大類。不過,實際的集成電路還有可能是混合信號集成電路,因此不少電路的設計同時用到這兩種流程。模擬集成電路集成電路設計的另一個大分支是模擬集成電路設計,這一分支通常關注電源集成電路、射頻集成電路等。由于現實世界的信號是模擬的,所以,在電子產品中,模-數、數-模相互轉換的集成電路也有著廣泛的應用。模擬集成電路包括運算放大器、線性整流器、鎖相環(huán)、振蕩電路、有源濾波器等。相較數字集成電路設計,模擬集成電路設計與半導體器件的物理性質有著更大的關聯,例如其增益、電路匹配、功率耗散以及阻抗等等。模擬信號的放大和濾波要求電路對信號具備一定的保真度,因此模擬集成電路比數字集成電路使用了更多的大面積器件,集成度亦相對較低。
在微處理器和計算機輔助設計方法出現前,模擬集成電路完全采用人工設計的方法。由于人處理復雜問題的能力有限,因此當時的模擬集成電路通常是較為基本的電路,運算放大器集成電路就是一個典型的例子。在當時的情況下,這樣的集成電路可能會涉及十幾個晶體管以及它們之間的互連線。為了使模擬集成電路的設計能達到工業(yè)生產的級別,工程師需要采取多次迭代的方法以測試、排除故障。重復利用已經設計、驗證的設計,可以進一步構成更加復雜的集成電路。1970年代之后,計算機的價格逐漸下降,越來越多的工程師可以利用這種現代的工具來輔助設計,例如,他們使用編好的計算機程序進行仿真,便可獲得比之前人工計算、設計更高的精確度。SPICE是第一款針對模擬集成電路仿真的軟件(事實上,數字集成電路中標準單元本身的設計,也需要用到SPICE來進行參數測試),其字面意思是“以集成電路為重點的仿真程序(英語:Simulation Program with Integrated Circuit Emphasis)” 基于計算機輔助設計的電路仿真工具能夠適應更加復雜的現代集成電路,特別是專用集成電路。使用計算機進行仿真,還可以使項目設計中的一些錯誤在硬件制造之前就被發(fā)現,從而減少因為反復測試、排除故障造成的大量成本。此外,計算機往往能夠完成一些極端復雜、繁瑣,人類無法勝任的任務,使得諸如蒙地卡羅方法等成為可能。實際硬件電路會遇到的與理想情況不一致的偏差,例如溫度偏差、器件中半導體摻雜濃度偏差,計算機仿真工具同樣可以進行模擬和處理。
總之,計算機化的電路設計、仿真能夠使電路設計性能更佳,而且其可制造性可以得到更大的保障。盡管如此,相對數字集成電路,模擬集成電路的設計對工程師的經驗、權衡矛盾等方面的能力要求更嚴格。數字電路粗略地說,數字集成電路可以分為以下基本步驟:系統(tǒng)定義、寄存器傳輸級設計、物理設計。而根據邏輯的抽象級別,設計又分為系統(tǒng)行為級、寄存器傳輸級、邏輯門級。設計人員需要合理地書寫功能代碼、設置綜合工具、驗證邏輯時序性能、規(guī)劃物理設計策略等等。在設計過程中的特定時間點,還需要多次進行邏輯功能、時序約束、設計規(guī)則方面的檢查、調試,以確保設計的最終成果合乎最初的設計收斂目標。系統(tǒng)定義系統(tǒng)定義是進行集成電路設計的最初規(guī)劃,在此階段設計人員需要考慮系統(tǒng)的宏觀功能。設計人員可能會使用一些高抽象級建模語言和工具來完成硬件的描述,例如C語言、C++、SystemC、SystemVerilog等事務級建模語言,以及Simulink和MATLAB等工具對信號進行建模。
盡管主流是以寄存器傳輸級設計為中心,但已有一些直接從系統(tǒng)級描述向低抽象級描述(如邏輯門級結構描述)轉化的高級綜合(或稱行為級綜合)、高級驗證工具正處于發(fā)展階段。系統(tǒng)定義階段,設計人員還對芯片預期的工藝、功耗、時鐘頻率頻率、工作溫度等性能指標進行規(guī)劃 [2] 。寄存器傳輸級設計集成電路設計常常在寄存器傳輸級上進行,利用硬件描述語言來描述數字集成電路的信號儲存以及信號在寄存器、存儲器、組合邏輯裝置和總線等邏輯單元之間傳輸的情況。在設計寄存器傳輸級代碼時,設計人員會將系統(tǒng)定義轉換為寄存器傳輸級的描述。設計人員在這一抽象層次最常使用的兩種硬件描述語言是Verilog、VHDL,二者分別于1995年和1987年由電氣電子工程師學會(IEEE)標準化。正由于有著硬件描述語言,設計人員可以把更多的精力放在功能的實現上,這比以往直接設計邏輯門級連線的方法學(使用硬件描述語言仍然可以直接設計門級網表,但是少有人如此工作)具有更高的效率。