回覆列表
  • 1 # daazhu1

    積體電路設計可以大致分為數字積體電路設計和模擬積體電路設計兩大類。 參見:類比電路及混合訊號積體電路

    積體電路設計的另一個大分支是模擬積體電路設計,這一分支通常關注電源積體電路、射頻積體電路等。由於現實世界的訊號是模擬的,所以,在電子產品中,模-數、數-模相互轉換的積體電路也有著廣泛的應用。模擬積體電路包括運算放大器、線性整流器、鎖相環、振盪電路、有源濾波器等。相較數字積體電路設計,模擬積體電路設計與半導體器件的物理性質有著更大的關聯,例如其增益、電路匹配、功率耗散以及阻抗等等。模擬訊號的放大和濾波要求電路對訊號具備一定的保真度,因此模擬積體電路比數字積體電路使用了更多的大面積器件,整合度亦相對較低。

    在微處理器和計算機輔助設計方法出現前,模擬積體電路完全採用人工設計的方法。由於人處理複雜問題的能力有限,因此當時的模擬積體電路通常是較為基本的電路,運算放大器積體電路就是一個典型的例子。在當時的情況下,這樣的積體電路可能會涉及十幾個電晶體以及它們之間的互連線。為了使模擬積體電路的設計能達到工業生產的級別,工程師需要採取多次迭代的方法以測試、排除故障。重複利用已經設計、驗證的設計,可以進一步構成更加複雜的積體電路。1970年代之後,計算機的價格逐漸下降,越來越多的工程師可以利用這種現代的工具來輔助設計,例如,他們使用編好的計算機程式進行模擬,便可獲得比之前人工計算、設計更高的精確度。SPICE是第一款針對模擬積體電路模擬的軟體,其字面意思是“以積體電路為重點的模擬程式(英語:Simulation Program with Integrated Circuit Emphasis)” 。基於計算機輔助設計的電路模擬工具能夠適應更加複雜的現代積體電路,特別是專用積體電路。使用計算機進行模擬,還可以使專案設計中的一些錯誤在硬體製造之前就被發現,從而減少因為反覆測試、排除故障造成的大量成本。此外,計算機往往能夠完成一些極端複雜、繁瑣,人類無法勝任的任務,使得諸如蒙地卡羅方法等成為可能。實際硬體電路會遇到的與理想情況不一致的偏差,例如溫度偏差、器件中半導體摻雜濃度偏差,計算機模擬工具同樣可以進行模擬和處理。總之,計算機化的電路設計、模擬能夠使電路設計效能更佳,而且其可製造性可以得到更大的保障。儘管如此,相對數字積體電路,模擬積體電路的設計對工程師的經驗、權衡矛盾等方面的能力要求更嚴格。 參見:數位電路

    粗略地說,數字積體電路可以分為以下基本步驟:系統定義、暫存器傳輸級設計、物理設計。而根據邏輯的抽象級別,設計又分為系統行為級、暫存器傳輸級、邏輯閘級。設計人員需要合理地書寫功能程式碼、設定綜合工具、驗證邏輯時序效能、規劃物理設計策略等等。在設計過程中的特定時間點,還需要多次進行邏輯功能、時序約束、設計規則方面的檢查、除錯,以確保設計的最終成果合乎最初的設計收斂目標。

    系統定義

    參見:高階綜合

    系統定義是進行積體電路設計的最初規劃,在此階段設計人員需要考慮系統的宏觀功能。設計人員可能會使用一些高抽象級建模語言和工具來完成硬體的描述,例如C語言、C++、SystemC、SystemVerilog等事務級建模語言,以及Simulink和MATLAB等工具對訊號進行建模。儘管目前的主流是以暫存器傳輸級設計為中心,但已有一些直接從系統級描述向低抽象級描述(如邏輯閘級結構描述)轉化的高階綜合(或稱行為級綜合)、高階驗證工具正處於發展階段。

    系統定義階段,設計人員還對晶片預期的工藝、功耗、時鐘頻率、工作溫度等效能指標進行規劃。

    暫存器傳輸級設計

    參見:暫存器傳輸級、硬體描述語言、Verilog及VHDL

    目前的積體電路設計常常在暫存器傳輸級上進行,利用硬體描述語言來描述數字積體電路的訊號儲存以及訊號在暫存器、儲存器、組合邏輯裝置和匯流排等邏輯單元之間傳輸的情況。在設計暫存器傳輸級程式碼時,設計人員會將系統定義轉換為暫存器傳輸級的描述。設計人員在這一抽象層次最常使用的兩種硬體描述語言是Verilog、VHDL,二者分別於1995年和1987年由電氣電子工程師學會(IEEE)標準化。正由於有著硬體描述語言,設計人員可以把更多的精力放在功能的實現上,這比以往直接設計邏輯閘級連線的方法學(使用硬體描述語言仍然可以直接設計門級網表,但是少有人如此工作)具有更高的效率。

    設計驗證

    參見:功能驗證、形式驗證、靜態時序分析、硬體驗證語言及高階驗證

    設計人員完成暫存器傳輸級設計之後,會利用測試平臺、形式驗證、斷言等方式來進行功能驗證,檢驗專案設計的正確性,如果有誤,則需要檢測之前設計檔案中存在的漏洞。現代超大規模積體電路的整個設計過程中,驗證所需的時間和精力越來越多,甚至都超過了暫存器傳輸級設計本身,人們設定些專門針對驗證開發了新的工具和語言。

    例如,要實現簡單的加法器或者更加複雜的算術邏輯單元,或利用觸發器實現有限狀態機,設計人員可能會編寫不同規模的硬體描述語言程式碼。功能驗證是項複雜的任務,驗證人員需要為待測設計建立一個虛擬的外部環境,為待測設計提供輸入訊號(這種人為新增的訊號常用“激勵”這個術語來表示),然後觀察待測設計輸出埠的功能是否合乎設計規範。

    當所設計的電路並非簡單的幾個輸入埠、輸出埠時,由於驗證需要儘可能地考慮到所有的輸入情況,因此對於激勵訊號的定義會變得更加複雜,有時甚至需要用到形式驗證的方法。有時工程師會使用某些指令碼語言(如Perl、Tcl)來編寫驗證程式,藉助計算機程式的高速處理來實現更大的測試覆蓋率。現代的硬體驗證語言可以提供一些專門針對驗證的特性,例如帶有約束的隨機化變數、覆蓋等等。作為硬體設計、驗證統一語言,SystemVerilog是以Verilog為基礎發展而來的,因此它同時具備了設計的特性和測試平臺的特性,並引入了面向物件程式設計的思想,因此測試平臺的編寫更加接近軟體測試。針對高階綜合,關於高階驗證的電子設計自動化工具也處於研究中。

    現代積體電路的時鐘頻率已經到達了兆赫茲級別,而大量模組內、模組之間的時序關係極其複雜,因此,除了需要驗證電路的邏輯功能,還需要進行時序分析,即對訊號在傳輸路徑上的延遲進行檢查,判斷其是否符合時序收斂要求。

    邏輯綜合

    主條目:邏輯綜合

    工程師設計的硬體描述語言程式碼一般是暫存器傳輸級的,在進行物理設計之前,需要使用邏輯綜合工具將暫存器傳輸級程式碼轉換到針對特定工藝的邏輯閘級網表,並完成邏輯化簡。

    和人工進行邏輯最佳化需要藉助卡諾圖等類似,電子設計自動化工具來完成邏輯綜合也需要特定的演算法(如奎因-麥克拉斯基演算法等)來化簡設計人員定義的邏輯函式。輸入到自動綜合工具中的檔案包括暫存器傳輸級硬體描述語言程式碼、工藝庫、設計約束檔案三大類,這些檔案在不同的電子設計自動化工具套件系統中的格式可能不盡相同。邏輯綜合工具會產生一個最佳化後的門級網表,但是這個網表仍然是基於硬體描述語言的,這個網表在半導體晶片中的走線將在物理設計中來完。

    選擇不同器件(如專用積體電路或者現場可程式設計門陣列等)對應的工藝庫來進行邏輯綜合,或者在綜合時設定了不同的約束策略,將產生不同的綜合結果。暫存器傳輸級程式碼對於設計專案的邏計劃分、語言結構風格等因素會影響綜合後網表的效率。

    目前大多數成熟的綜合工具大多數是基於暫存器傳輸級描述的,而基於系統級描述的高階綜合工具還處在發展階段。

    由於工藝庫包含了標準延遲格式的時序資訊,因此邏輯綜合後可以對該工藝下門級網表進行更加精確的靜態時序分析,進一步確保綜合前後的設計能夠實現相同的功能。

    物理設計

    主條目:物理設計

    參見:布圖規劃、佈局 (積體電路)、佈線 (積體電路)、積體電路版圖及低功耗設計

    邏輯綜合完成之後,透過引入器件製造公司提供的工藝資訊,前面完成的設計將進入布圖規劃、佈局、佈線階段,工程人員需要根據延遲、功耗、面積等方面的約束資訊,合理設定物理設計工具的引數,不斷除錯,以獲取最佳的積體電路版圖,從而決定元件在晶圓上的物理位置。

    隨著現代積體電路的特徵尺寸不斷下降,超大規模積體電路已經進入深亞微米級階段,互連線延遲對電路效能的影響已經達到甚至超過邏輯閘延遲的影響。這時,需要考慮的因素包括線網的電容效應和線網電感效應,晶片內部電源線上大電流線上網電阻上造成的電壓降也會影響積體電路的穩定性。為了解決這些問題,同時緩解時鐘偏移、時鐘樹寄生引數的負面影響,合理的佈局佈線和邏輯設計、功能驗證等過程同等重要。隨著移動裝置的發展,低功耗設計在積體電路設計中的地位愈加顯著。在物理設計階段,設計可以轉化成幾何圖形的表示方法,這稱為積體電路版圖,工業界有若干標準化的檔案格式予以規範。

    值得注意的是,電路實現的功能在之前的暫存器傳輸級設計中就已經確定。在物理設計階段,工程師不僅不能夠讓之前設計好的邏輯、時序功能在該階段的設計中被損壞,還要進一步最佳化晶片按照正確執行時的延遲時間、功耗、面積等方面的效能。在物理設計產生了初步版圖檔案之後,工程師需要再次對積體電路進行功能、時序、設計規則、訊號完整性等方面的驗證,以確保物理設計產生正確的硬體版圖檔案。

    後續:具體的工藝製造

    參見:半導體器件製造、無廠半導體公司及晶圓代工

    半導體制造工廠根據物理設計最後完成、已經透過各項檢查的標準化版圖檔案,即可製造出實際的物理電路。

    這個步驟不再屬於積體電路設計和計算機工程的範疇,而是直接進入半導體制造工藝領域,關注的重心亦轉向具體的材料、器件製作,例如光刻、刻蝕、物理氣相沉積、化學氣相沉積等。

    傳統的積體電路公司能夠同時完成積體電路設計和積體電路製造。由於積體電路製造所需的裝置、原料耗資巨大,因此一般的公司根本無力承受。一旦發生工藝節點的改變(如從65奈米工藝進步到45奈米工藝),公司可能需要花費相當高的成本來更換現有工藝裝置,這給許多公司帶來了相當沉重的經濟負擔)。現在,有些公司逐漸放棄既設計、又製造的模式,業務範圍縮小至設計、驗證本身,而將具體的半導體工藝流程,委託給專門進行積體電路製造的工廠。上述無製造工藝(fabless),只進行設計、驗證公司被稱為無廠半導體公司,典型的例子包括高通、AMD、英偉達等;而專門負責製造的公司則被稱為晶圓代工廠,典型的例子包括臺積電等。有一類特殊的無廠半導體公司,它們並不直接將設計專案送去工廠製造,而是把這些專案以IP核的形式封裝起來,作為商品銷售給其他無廠半導體公司,典型的例子包括ARM公司。

  • 中秋節和大豐收的關聯?
  • 銅鋁複合暖氣片和鋼製暖氣片的區別?