陳曉
摘 要:多目標優化為電路設計者提供了在整個設計空間中的搜索能力,獲得的最優解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 多目標遺傳優化
圖1為一個兩目標優化問題的Pareto最優前沿,由于是兩個目標,因此前沿是一條曲線。圖中的實心點是Pareto最優點,空心點均被這些最優點支配。如圖中點A支配點B。
一個多目標優化問題的Pareto前沿反映了各個目標之間的相互牽制關系。對電路設計,實質上反映了電路可能達到的極限性能,前沿上的每一點都是一種可能實現的最佳設計折衷。獲得了Pareto前沿,設計者就可以根據具體場合下的要求,反復權衡、比較不同的選擇,從中確定最合適的解。因此,多目標優化為從根本上解決電路參數的設計優化提供了途徑。
2 多目標遺傳算法
目前在多目標優化中得到較為廣泛應用的是NSGA-II非支配排序遺傳算法[6]。進化算法是一種模擬自然界優勝劣汰選擇進化機制的隨機搜索算法,在優化設計領域已得到廣泛應用。而20世紀90年代,印度IIT的Deb教授等將遺傳算法推廣到多目標情形,他們提出的基于非支配排序的遺傳算法(簡稱NSGA)在多目標優化領域也得到了廣泛的應用[7]。該優化算法在處理多目標優化問題上有著自身良好的性能,幾乎對任意維數的目標都能有很好的性能[8]。2002年,又針對NSGA算法存在的計算復雜度高,缺乏優秀的選擇策略,需要設置特殊的共享參數等問題,做了很多的改進工作,形成了NSGA-II,該算法中添加了精英保留策略,而且無需設置特殊的共享參數,不僅提高了算法的收斂性而且減少了算法的復雜度,除此之外,它的非劣性分布好,是目前多目標優化的領域中應用最廣泛的一種算法
該算法是遺傳算法在多目標優化中的推廣,其基本過程與交叉算子、變異算子與簡單遺傳算法并無區別,但適應度的計算基于種群中個體之間的支配與非支配關系的排序。對進化過程中的任意一代,首先找出當前種群中的所有非支配個體,得到第一個非支配最優層,即第一層,并賦予它們一個適應度值,比如取為1;然后,忽略第一層的個體,對種群中的其它個體繼續按照支配與非支配關系進行分層,得到第二層,并賦予它們一個新的適應度值,該值要小于上一層的值,比如取為0.9;以此類推對剩下的個體繼續上述操作,直到種群中的所有個體都被分層。
NSGA-II的流程為:
(1)隨機產生父代種群P0,種群大小N,然后進行交叉和變異操作生成種群大小同樣為N的子代種群Q0,同時令進化代數gen為0;
(2)將種群Pi和種群Qi合并成新的種群Ri,種群大小為2N,對種群Ri進行快速非支配排序,分層得到F1,F2,…Fn;
(3)對所有的分層Fi中的個體進行擁擠度排序,選出最優的N個個體組成新的種群Pi+1 ;
(4)對產生的新種群Pi+1 進行精英策略操作再進行交叉變異操作,生成新的子代種群Qi+1 ;
(5)判斷是否達到終止條件或者已經運行到最大代數,若是,則整個優化過程結束退出,若否,則繼續執行第二步,一直到優化過程終止為止。
3 兩級CMOS運放的多目標優化
下面以一個采用Miller補償的兩級CMOS運放為例,說明上述改進方法。待優化的電路如圖2所示,要考慮的性能指標是單位增益帶寬(UGB)、功耗(Power)、擺率(SR)、面積(Area)、相位裕度(PM)、單位增益(AV),3 dB帶寬(f3 dB)等,合格標準如表1所示。
電路的設計參數為MOS管的寬度及偏置電流、補償電容,因此x=[W1 W3 W5 W6 W7 W8 Cc Ibias];由于對稱性W2=W1,W4=W3。MOS管的長度固定均為1μm,VDD=2.5 V, VSS=-2.5 V, CL=10 pF。
4 結 語
本文采用了一種改進的模擬電路多目標遺傳算法。通過結合基于方程和基于仿真的優化,加速了Pareto前沿的計算,并給出了一個米勒補償的兩級運放實例,結果表明本文的方法可行且有效。
參考文獻
[1] R.Brayton. A survey of optimization techniques for integrated circuit design[J]. Proc.IEEE,1981, 69(10):1334-1362.
[2] Deb K. Multi-objective optimization using evolutionary algorithms[M]. John Wiley & Sons, 2001.
[3] De Smedt B, Gielen G G. WATSON: design space boundary exploration and model generation for analog and RFIC design[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2003, 22(2): 213-224.
[4] Eeckelaert T, McConaghy T, Gielen G. Efficient multiobjective synthesis of analog circuits using hierarchical pareto-optimal performance hypersurfaces[C]. Proc. Design Automation & Test Europe 2005: 1070-1075.
[5] Gielen G, McConaghy T, Eeckelaert T. Performance space modeling for hierarchical synthesis of analog integrated circuits[C]. Proc. Design Automation Conference,2005:881-886.
[6] Deb K, Pratap A, Agarwal S, et al. A fast and elitist multiobjective genetic algorithm: NSGA-II[J]. IEEE Transactions on Evolutionary Computation,2002,6(2): 182-197.
[7] Boyd S P, Lee T H, Others. Optimal design of a CMOS op-amp via geometric programming[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2001,20(1): 1-21.
[8] Mandal P, Visvanathan V. CMOS op-amp sizing using a geometric programming formulation[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.,2001,20(1): 22-38.