正文 模擬集成電路多目標遺傳算法優化設計(1 / 3)

模擬集成電路多目標遺傳算法優化設計

學術研究

作者:陳曉

摘 要:多目標優化為電路設計者提供了在整個設計空間中的搜索能力,獲得的最優解Pareto前沿允許設計師從前沿曲線或曲麵中選取多個性能指標的最佳折衷方案,因此近年來在模擬集成電路的設計自動化中受到很大關注。目前,尋找Pareto最優前沿的主要方法是多目標遺傳算法,通常需要較大的計算量。提出一種基於NSGA-II的優化設計方法,通過結合基於方程和基於仿真的優化快速得到優化的前沿曲線。給出一個帶米勒補償的兩級運放的優化實例,證明了方法取得的效果。

關鍵詞:模擬集成電路;設計自動化;電路多目標優化;多目標遺傳算法

中圖分類號:TP393 文獻標識碼:A 文章編號:2095-1302(2015)04-00-03

0引言

模擬集成電路的設計主要包括以下幾個基本步驟:結構設計、確定元器件參數、設計版圖,其中較為關鍵的是前兩步。通常結構設計依賴設計者的經驗,參數的確定首先通過一些設計準則獲得一組初始值,再利用電路模擬器進行反複調試。這一過程繁瑣、冗長又難以保證結果,是模擬設計效率難以提高的主要原因。

對於給定的電路結構,參數的確定可看作是一個高維空間中多變量連續函數的優化問題。從20世紀60年代開始,人們就開始研究用最優化技術的電路設計[1]。傳統電路優化采用的都是單目標函數優化,但實際電路的設計往往是一個受約束的多目標優化,即需要協調權衡兩個或兩個以上相互競爭的目標。過去解決這個問題的方法是將所有目標和懲罰函數進行線性加權,轉化為一個目標函數進行優化,不同的權重會導致不同的優化結果。由於各個目標相互衝突,一方麵,不同目標的權衡隻能通過事先選定的一組權重係數反映,但難以建立一個客觀、可靠的標準來指導權重的選擇;另一方麵,設計時又希望能反複比較權衡不同的選擇,但單目標優化又隻能給出一組結果。這些因素限製了傳統的電路優化在實際設計工作中的應用。

近年來,由於基於遺傳算法的多目標優化的廣泛應用[2],人們在電路優化中也開始采用多目標優化[3-5]。多目標優化同時考慮多個性能指標函數,在各性能指標組成的多維空間中尋找相互牽製的極限曲線/麵,即多目標最優解的Pareto最優前沿,由此可方便地在多個相互衝突的性能指標間作出符合特定設計要求的選擇。事實上,多目標優化為設計者提供了在整個性能參數空間,即設計空間的搜索能力,在Pareto前沿上,可方便地選取到真正最優的設計方案。

在采用基於遺傳算法的電路多目標優化過程中,需要大量的對目標函數值的計算。為了保證精度,這些目標函數的每次計算都要調用電路模擬器,即所謂基於仿真的優化。為了得到一個電路的Pareto最優前沿,往往需要大量的計算,耗費的時間數以小時計。

本文采用了一種基於非支配排序遺傳算法NSGA-II(Non-Sorting Genetic Algorithm,非支配排序遺傳算法)進行電路多目標優化的改進方法。該方法是一種兩步方法:首先采用基於方程的優化,通過NSGA-II快速獲得近似的Pareto最優前沿。第二步將這些近似最優解添加到NSGA-II算法的初始種群中,采用基於仿真的優化,求得真實的Pareto最優前沿。由於初始種群已是接近真實解的近似解,因此可較快地收斂,從而可大大減少計算量。文中以一個Miller補償的兩級運算放大器為例對算法進行了驗證,可以快速得到最後的Pareto前沿曲線。

1多目標遺傳優化

一個兩目標優化問題的Pareto最優前沿,由於是兩個目標,因此前沿是一條曲線。實心點是Pareto最優點,空心點均被這些最優點支配。