基于自適應(yīng)加權(quán)的模擬集成電路多目標(biāo)優(yōu)化方法研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
一直以來,人們都想實(shí)現(xiàn)模擬集成電路設(shè)計(jì)的自動化, 但考慮到模擬集成電路性能指標(biāo)多,各性能指標(biāo)間互相影響等因素,使得模擬集成電路的自動化進(jìn)程遠(yuǎn)遠(yuǎn)落后于數(shù)字集成電路,模擬集成電路已經(jīng)成為制約集成電路發(fā)展的瓶頸。隨著技術(shù)的發(fā)展,片上系統(tǒng)將模擬集成電路與數(shù)字集成電整合到一塊芯片上。但人們對模擬集成電路的自動化研究卻從未中斷過,同時(shí)也取得了一些成果,其中基于優(yōu)化的設(shè)計(jì)方法因適用范圍廣而受到了人們的青睞。
基于優(yōu)化的設(shè)計(jì)方法將模擬集成電路的設(shè)計(jì)看作是多目 標(biāo)優(yōu)化問題,電路設(shè)計(jì)時(shí)的性能指標(biāo)如增益、帶寬、相位裕 度等就是多目標(biāo)優(yōu)化的目標(biāo)函數(shù)。通過多目標(biāo)優(yōu)化算法求解出 電路目標(biāo)空間的 Pareto 前沿,該前沿就是電路各種性能指標(biāo) 折衷后的最優(yōu)前沿,允許電路設(shè)計(jì)者從一組相互沖突的設(shè)計(jì) 指標(biāo)中做出最佳選擇。
基于優(yōu)化的設(shè)計(jì)方法的核心是多目標(biāo)優(yōu)化算法,解決多 目標(biāo)優(yōu)化問題的常用算法是加權(quán)和算法 [1],該算法容易理解、 操作簡單,但是該算法不能求出 Pareto 前沿上位于凹區(qū)間內(nèi)的 解,而當(dāng)權(quán)值均勻分布時(shí),Pareto 前沿上凸區(qū)間內(nèi)的解分布不 均勻 [2]。本文采用了自適應(yīng)加權(quán)和算法,該算法在加權(quán)和算法 的基礎(chǔ)上改進(jìn)而來,克服了加權(quán)和算法的上述缺點(diǎn)。
1 自適應(yīng)加權(quán)和算法原理
自適應(yīng)加權(quán)和算法 [3] 的權(quán)值系數(shù)沒有預(yù)先確定,而是通 過所要求解問題的 Pareto 前沿曲線獲得。首先用傳統(tǒng)加權(quán)和算 法產(chǎn)生一組起始解,然后在目標(biāo)空間確定需要細(xì)化的區(qū)域。將 待細(xì)化區(qū)域看作可行域并且對該區(qū)域施加不等式約束條件,最 后用傳統(tǒng)加權(quán)和方法對這些需要細(xì)化的子區(qū)域進(jìn)行優(yōu)化。當(dāng) Pareto 前沿上的所有子區(qū)域長度達(dá)到預(yù)定值時(shí),優(yōu)化工作完成。 圖 1 所示的自適應(yīng)加權(quán)算法與傳統(tǒng)加權(quán)和算法進(jìn)行了對 比,說明了自適應(yīng)加權(quán)和算法的基本概念。真正的 Pareto 前 沿用實(shí)線表示,通過多目標(biāo)優(yōu)化算法獲得的解用黑圓點(diǎn)表示。 在該例中,整個(gè) Pareto 前沿由相對平坦的凸區(qū)域和明顯凹的區(qū) 域組成。解決這類問題的典型方法就是加權(quán)和算法,該算法 可以描述成如下形式 :
上式中描述的是兩個(gè)優(yōu)化目標(biāo)的情形,J1(x)和 J2(x) 分別為兩個(gè)目標(biāo)函數(shù),sf1,0(x)和 sf2,0(x)分別為對應(yīng)的歸 一化因子,h(x)和 g(x)分別為等式約束條件和不等式約束 條件。
圖 1(a)為采用加權(quán)和算法后解的分布,可以看出大部分解都分布在anchor points 和inflection point,凹區(qū)間內(nèi)沒有求出解。該圖反映了加權(quán)和算法的兩個(gè)典型缺點(diǎn):
(1) 解在 Pareto前沿曲線上分布不均勻;
(2) 在Pareto前沿曲線為凹區(qū)間的部分不能求出解。
因此盡管加權(quán)和算法具有簡單、易操作的優(yōu)點(diǎn),但上述缺 點(diǎn)卻限制了其應(yīng)用,這些固有缺陷在實(shí)際多目標(biāo)優(yōu)化設(shè)計(jì)問題 中頻繁出現(xiàn)。圖 1 描述了本文所提出的自適應(yīng)加權(quán)和 算法的總體流程以及基本概念。首先根據(jù)加權(quán)和算法得到一 組起始解,如圖 1(a)所示,通過計(jì)算目標(biāo)前沿空間上相鄰解 的距離來確定需要進(jìn)行細(xì)化的區(qū)域,如圖 1(b)所示,該圖中 確定了兩個(gè)需要進(jìn)行細(xì)化的區(qū)域。在確定需要進(jìn)行細(xì)化的區(qū)域 分別在平行于兩個(gè)目標(biāo)方向上添加額外的約束,如圖 1(c)所示, 在該圖中向減小方向 J1 添加的約束為 1,J2 減小方向添加的約 束為 2。對細(xì)化后添加完約束的區(qū)域用加權(quán)和算法優(yōu)化,得 出新解,如圖 1(d)所示,其中加權(quán)和算法求解最優(yōu)解時(shí)采用 Matlab 中的 fmincon 函數(shù)。從該圖中可看出,細(xì)化區(qū)域內(nèi)產(chǎn)生 了新解,Pareto 前沿上解的分布較之前更加均勻,且求出了凹 區(qū)域內(nèi)的解,繼續(xù)細(xì)化能夠找出更多的解,Pareto 前沿上的解 也將分布地更加均勻。自適應(yīng)加權(quán)和算法的流程圖如圖2所示。
2 兩級運(yùn)放設(shè)計(jì)實(shí)例
以一個(gè)帶米勒補(bǔ)償?shù)膬杉夁\(yùn)放 [4] 為例,說明自適應(yīng)加權(quán)和算法的多目標(biāo)優(yōu)化設(shè)計(jì)。兩級運(yùn)放電路圖如圖 3 所示。
電路的各項(xiàng)性能指標(biāo)如表 1 所列。
電路優(yōu)化過程中采用工作點(diǎn)驅(qū)動 [5,6] 的設(shè)計(jì)方法,電路 的設(shè)計(jì)變量為電路直流工作點(diǎn)上一組獨(dú)立的電壓、電流。電 路性能通過方程獲得,但方程中的小信號參數(shù)通過對工藝庫 進(jìn)行模糊邏輯建模 [7,8] 得到,使得計(jì)算速度提高的同時(shí)保證 了計(jì)算精度。兩級運(yùn)放電路的優(yōu)化結(jié)果如圖 4 所示。
圖為算法迭代五代后的優(yōu)化結(jié)果,由圖可以發(fā)現(xiàn),經(jīng)過 五代的優(yōu)化迭代,求出的最優(yōu)解在 Pareto 前沿上分布均勻。 在同一電路中,單位增益帶寬的增加與擺率的增加都會使功 耗增加,而電路功耗降低導(dǎo)致的結(jié)果是電路的面積增加,或 通過犧牲面積來換取低功耗,犧牲面積換取電路的帶寬增加。 這些結(jié)果與電路理論相吻合,同時(shí)也再次說明了模擬電路設(shè)計(jì) 過程中的折衷以及模擬集成電路設(shè)計(jì)的復(fù)雜性。
3 結(jié) 語
自適應(yīng)加權(quán)和算法能求出位于凹區(qū)間內(nèi)的最優(yōu)解,并且 最優(yōu)解分布均勻。本文通過兩級運(yùn)放電路驗(yàn)證了算法的優(yōu)化 效果,最終得到了滿意的優(yōu)化結(jié)果。