本發(fā)明涉及模擬集成電路設計中電路設計自動化,尤其涉及相位補償方法、裝置、設備、存儲介質和計算機程序產品。
背景技術:
1、運算放大器在高頻下容易出現(xiàn)相位滯后問題,這會導致系統(tǒng)不穩(wěn)定甚至振蕩。為了保證運放在各種工作條件下的穩(wěn)定性,必須進行相位補償。
2、目前,運算放大器電路的相位補償通常由經驗豐富的工程師手工設計,現(xiàn)有自動化方法存在搜索空間大、效率低、復現(xiàn)性差等諸多問題。以一種自動化的運算放大器電路的相位補償方法為例,其主要步驟為:首先將運算放大器的行為級描述映射成一個無環(huán)圖,電路中的結點對應于圖中的頂點,不同電路結點之間的連接映射為圖中的邊。然后通過標準的電壓控制電流源,并將一對電容c和電阻r并聯(lián)接地,來模擬單級放大器的增益單元,其中,?電壓控制電流源包括四種類型。其次,對于一個三級運算放大器,無環(huán)圖中將有5個頂點,且圖中的5個頂點之間存在25種類型的連接,如果允許圖中的所有頂點自由連接,則圖中存在10條邊,因此將有?2510種可能的補償方案。這是一個非常龐大的搜索空間,會生成許多無效電路。即使采用貝葉斯優(yōu)化確定無環(huán)圖中各頂點間的連接類型,過濾這些無效結構,無環(huán)圖的搜索空間僅被限制到105的水平。
3、綜上,這種自動化的運算放大器電路的相位補償方法針對某一特定級數的運算放大器電路設計,搜索空間較大,并且貝葉斯優(yōu)化具有隨機性,多次運行算法會產生不同的優(yōu)化方案的問題,導致最終的相位補償方案也具有隨機性,且效率不高。此外,對多級運算放大器而言,針對某一級運算放大器設計的自動化運算放大器相位補償方法是難以直接使用的。
技術實現(xiàn)思路
1、針對現(xiàn)有技術中所存在的不足,本發(fā)明提供了一種相位補償方法、裝置、設備、存儲介質和計算機程序產品,其解決了現(xiàn)有技術中自動化的運算放大器相位補償方法存在設計缺陷,不能給出高效可靠且適用范圍大的相位補償方案的問題。
2、根據本發(fā)明的實施例,第一方面提供一種相位補償方法,包括:
3、建立基本電路單元庫;在基本電路單元庫中,對每個基本電路單元創(chuàng)建索引號,并對 gm類型的基本電路單元進行標記;
4、基于所述基本電路單元庫,模塊化分割待補償運算放大器電路,獲得n個電路模塊;任一電路模塊對應基本電路單元庫中的一個基本電路單元;
5、將分割后的待補償運算放大器電路編碼為信號流圖;其中,信號流圖中的信號節(jié)點表示所述電路模塊,信號流圖中的邊表示電路模塊之間的連接關系;所述信號節(jié)點包含電路模塊對應基本電路單元的索引號信息,所述邊包含源節(jié)點輸出端口與目標節(jié)點輸入端口的屬性信息;
6、在所述信號流圖中,當信號節(jié)點對應的電路模塊為 gm類型的基本電路單元時,則通過第一標記方式將對應信號節(jié)點標記為待補償節(jié)點,對于同一信號路徑中的待補償節(jié)點通過第二標記方式再次標記;
7、獲取所述信號流圖中每個待補償節(jié)點的信號路徑屬性和任意兩個待補償節(jié)點間的傳輸關系;
8、根據所述每個待補償節(jié)點的信號路徑屬性、每個待補償節(jié)點的第二標記方式以及任意兩個待補償節(jié)點間的傳輸關系,對所述信號流圖添加補償節(jié)點,獲得信號流圖的所有補償方案;
9、將信號流圖的所有補償方案解碼為電路原理圖,每個補償方案對應一個待補償運算放大器的相位補償電路原理圖。
10、可選地,將所述屬性信息表示為(ai,aj),(bi,bj),其中,ai表示邊的源節(jié)點,aj表示邊的目標節(jié)點,bi表示源節(jié)點的輸出端口,bj表示目標節(jié)點的輸入端口,bi與bj為f、s、t或者o中的其中一個;f表示第一個端口,s表示第二個端口,t表示兩個端口,o表示單個端口。
11、可選地,獲取信號流圖中每個待補償節(jié)點信號路徑屬性,包括:
12、根據基本電路單元庫所記錄的各基本電路單元的信號路徑屬性,獲得信號流圖中每個待補償節(jié)點的信號路徑屬性;
13、其中,每個待補償節(jié)點的信號路徑屬性與其對應電路模塊在基本電路單元庫中的信號路徑屬性相同。
14、可選地,通過第二標記方式標記每個待補償節(jié)點被發(fā)現(xiàn)的順序,包括:
15、通過深度優(yōu)先搜索算法搜索所述信號流圖,按照每個待補償節(jié)點被發(fā)現(xiàn)的順序,用兩種不同的第二標記方式交替標記待補償節(jié)點。
16、可選地,獲取任意兩個待補償節(jié)點間的傳輸關系,包括:
17、在信號流圖中確定任意兩個待補償節(jié)點之間是否實現(xiàn)信號傳輸;
18、若有信號從待補償節(jié)點甲流向待補償節(jié)點乙,則這兩個待補償節(jié)點的傳輸關系為待補償節(jié)點甲流向待補償節(jié)點乙;若有信號從待補償節(jié)點乙流向待補償節(jié)點甲,則這兩個待補償節(jié)點的傳輸關系為待補償節(jié)點乙流向待補償節(jié)點甲;否則,則這兩個待補償節(jié)點的傳輸關系為不可傳輸。
19、可選地,根據所述每個待補償節(jié)點的信號路徑屬性、每個待補償節(jié)點的第二標記方式以及任意兩個待補償節(jié)點間的傳輸關系,獲取信號流圖的所有補償方案之前,包括:
20、若待補償節(jié)點中包括起始節(jié)點,則將為起始節(jié)點的待補償節(jié)點刪除。
21、可選地,對信號流圖添加補償節(jié)點,獲得信號流圖的所有補償方案,包括:
22、對單個信號路徑屬性為單信號路徑的待補償節(jié)點,以第一補償方式添加補償節(jié)點;
23、對單個信號路徑屬性為雙信號路徑的待補償節(jié)點,以第二補償方式添加補償節(jié)點;
24、對兩個信號路徑屬性為單信號路徑的待補償節(jié)點,以第三補償方式添加補償節(jié)點。
25、可選地,對單個信號路徑屬性為單信號路徑的待補償節(jié)點,以第一補償方式添加補償節(jié)點,包括:
26、s11、遍歷信號流圖中的待補償節(jié)點;
27、s12、若發(fā)現(xiàn)一個信號路徑屬性為單信號路徑的待補償節(jié)點,則設置一個補償節(jié)點與其連接,形成信號從待補償節(jié)點經過補償節(jié)點并返回待補償節(jié)點的傳輸路徑;
28、s13、添加補償節(jié)點后的信號流圖為一個補償方案,補償后將該待補償節(jié)點標記為已補償節(jié)點并將信號流圖還原至待補償狀態(tài);
29、s14、重復執(zhí)行所述s11至s13,每次執(zhí)行得到新的補償方案,直到無法找到滿足要求的待補償節(jié)點為止。
30、可選地,對單個信號路徑屬性為雙信號路徑的待補償節(jié)點,以第二補償方式添加補償節(jié)點,包括:
31、s21、遍歷信號流圖中的待補償節(jié)點;
32、s22、若一個待補償節(jié)點的信號路徑屬性為雙信號路徑,則設置一對對稱的補償節(jié)點與其連接,形成兩個信號分別從待補償節(jié)點經過不同補償節(jié)點并返回待補償節(jié)點的兩條傳輸路徑;
33、s23、添加補償節(jié)點后的信號流圖為一個補償方案;補償后將該待補償節(jié)點標記為已補償節(jié)點并將信號流圖還原至待補償狀態(tài);
34、s24、重復執(zhí)行所述s21至s23,每次執(zhí)行得到新的補償方案,直到無法找到滿足要求的待補償節(jié)點為止。
35、可選地,對兩個信號路徑屬性為單信號路徑的待補償節(jié)點,以第三補償方式添加補償節(jié)點,包括:
36、s31、遍歷信號流圖中的待補償節(jié)點;
37、s32、若發(fā)現(xiàn)信號路徑屬性均為單信號路徑的待補償節(jié)點甲和待補償節(jié)點乙,且傳輸關系為待補償節(jié)點甲流向待補償節(jié)點乙,且待補償節(jié)點甲和待補償節(jié)點乙的第二標記方式相同,則在待補償節(jié)點甲和待補償節(jié)點乙間設置一個補償節(jié)點,形成信號從待補償節(jié)點乙經過補償節(jié)點到待補償節(jié)點甲的傳輸路徑;
38、s33、若發(fā)現(xiàn)信號路徑屬性均為單信號路徑的待補償節(jié)點甲和待補償節(jié)點乙,且傳輸關系為待補償節(jié)點乙流向待補償節(jié)點甲,且待補償節(jié)點甲和待補償節(jié)點乙的第二標記方式相同,則在待補償節(jié)點甲和待補償節(jié)點乙間設置一個補償節(jié)點,形成信號從待補償節(jié)點甲經過補償節(jié)點到待補償節(jié)點乙的傳輸路徑;
39、s34、添加補償節(jié)點后的信號流圖為一個補償方案,補償后將該待補償節(jié)點標記為已補償節(jié)點并將信號流圖還原至待補償狀態(tài);
40、s35、重復執(zhí)行所述s31至s34,每次執(zhí)行得到新的補償方案,直到無法找到滿足要求的待補償節(jié)點為止。
41、第二方面提供一種相位補償裝置,包括:
42、基本電路單元庫建立模塊,用于建立基本電路單元庫;在基本電路單元庫中,對每個基本電路單元創(chuàng)建索引號,并對gm類型的基本電路單元進行標記;
43、電路分割模塊,用于基于所述基本電路單元庫,模塊化分割待補償運算放大器電路,獲得n個電路模塊;任一電路模塊對應基本電路單元庫中的一個基本電路單元;
44、信號流圖編碼模塊,用于將分割后的待補償運算放大器電路編碼為信號流圖;其中,信號流圖中的信號節(jié)點表示所述電路模塊,信號流圖中的邊表示電路模塊之間的連接關系;所述信號節(jié)點包含電路模塊對應基本電路單元的索引號信息,所述邊包含源節(jié)點輸出端口與目標節(jié)點輸入端口的屬性信息;
45、信號節(jié)點標記模塊,用于在所述信號流圖中,當信號節(jié)點對應的電路模塊為gm類型的基本電路單元時,則通過第一標記方式將對應信號節(jié)點標記為待補償節(jié)點,對于同一信號路徑中的待補償節(jié)點通過第二標記方式再次標記;
46、節(jié)點信息獲取模塊,用于獲取所述信號流圖中每個待補償節(jié)點的信號路徑屬性和任意兩個待補償節(jié)點間的傳輸關系;
47、補償方案生成模塊,用于根據所述每個待補償節(jié)點的信號路徑屬性、每個待補償節(jié)點的第二標記方式以及任意兩個待補償節(jié)點間的傳輸關系,對所述信號流圖添加補償節(jié)點,獲得信號流圖的所有補償方案;
48、信號流圖解碼模塊,用于將信號流圖的所有補償方案解碼為電路原理圖,每個補償方案對應一個待補償運算放大器的相位補償電路原理圖。
49、第三方面提供一種計算機設備,包括存儲器、處理器及存儲在存儲器上的計算機程序,所述處理器執(zhí)行所述計算機程序以實現(xiàn)如上介紹的相位補償方法的各個步驟。
50、第四方面提供一種計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如上介紹的相位補償方法的各個步驟。
51、第五方面提供一種計算機程序產品,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如上介紹的相位補償方法的各個步驟。
52、本發(fā)明實施例提供的相位補償方法,將多級運算放大器電路編碼為信號流圖表示,將多級運算放大器電路的電路結構特征轉換為信號流圖的特征參與到圖形算法中,從而求解補償節(jié)點在原電路中的位置,準確高效的獲得相位補償電路。其中,所提供的圖形算法一方面借助基本電路單元庫對每個信號節(jié)點迅速進行分析判斷,充分考慮了多級運算放大器電路中每個電路模塊所表示的電路結構特征,從而獲得每個待補償節(jié)點的信號路徑屬性、每個待補償節(jié)點的第二標記方式以及任意兩個待補償節(jié)點間的傳輸關系,一方面根據這些因素自動生成相位補償方案,即補償節(jié)點在信號流圖中的位置,最終得到確定的相位補償電路。本發(fā)明實施例提供的相位補償方法效率高,結果可靠,適用于多級運算放大器電路。