基于spice3f5的射頻器件建模工具設(shè)計
1.引言
隨著半導(dǎo)體工業(yè)的飛速發(fā)展,新型電力電子器件不斷涌現(xiàn),用戶對器件建模的需求越來越迫切,對專用建模工具的開發(fā)提出了新的挑戰(zhàn)。本文基于開放工業(yè)標準仿真源碼開發(fā)了輕便專用的器件建模工具。
2.仿真模塊設(shè)計
SPICE模型已被廣泛用于電子設(shè)計中,本文器件參數(shù)提取按照spice語法對輸入等效電路進行解析,對開發(fā)源碼spice3f5導(dǎo)出相關(guān)接口作為仿真內(nèi)核,從而完成仿真模塊設(shè)計。
2.1 接口設(shè)計
為了方便與spice3f5仿真源碼通信,在研究源碼的基礎(chǔ)上,編譯生成spice3f5.dll,導(dǎo)出仿真輸入輸出相關(guān)API接口。
其接口函數(shù)如表1所示。
2.2 spice語法參數(shù)提取
模型參數(shù)提取技術(shù)是器件建模的基礎(chǔ),只有向電路模擬軟件提供相應(yīng)的模型參數(shù),才可以進行電路設(shè)計。因此器件模型所有用到的參數(shù)均需要精確地提取。我們需要對用戶輸入的等效電路網(wǎng)表進行spice語法解析,獲得電路參數(shù)。
考慮到修改元件參數(shù)值反復(fù)仿真的需要,將用戶輸入電路網(wǎng)表做預(yù)處理,僅保留仿真有效部分并按行存放在字符串鏈表中,現(xiàn)在需要從中提取出元件參數(shù)信息及實例化的模型、子電路中的參數(shù)信息。
第一次遍歷網(wǎng)表字符串做提取模塊的工作。一旦遇到子電路或模型定義,構(gòu)造對應(yīng)類型對象保存模塊信息并將指針保存到對應(yīng)的指針鏈表中;第二次遍歷完成最終輸入仿真網(wǎng)表文件。這一過程跳過子電路或模型定義,定位至實例化語句,解析出該實例對應(yīng)的模塊名和實例名,然后根據(jù)模塊名找到指向該子模塊對象的指針,將該實例名添加到該模塊的實例鏈表中。擴展該實例需要該實例對應(yīng)模塊的定義語句,通過獲取的模塊指針調(diào)用其方法構(gòu)造由實例名定義子模塊語句并保存到字符串鏈表中,然后將其添加到語句鏈表中。[!--empirenews.page--]
3.圖形顯示模塊
仿真數(shù)據(jù)與實際測量數(shù)據(jù)的對比需要以不同的圖形特征作對比,然后通過不斷調(diào)節(jié)一系列參數(shù)值重新仿真,尋求兩組相關(guān)曲線的最佳擬合點。現(xiàn)就對仿真曲線中的smith阻抗圖的實現(xiàn)作一介紹。
3.1 smith阻抗圖
Smith阻抗圖在測量某高頻電路的負載時能夠直觀的在smith圖上顯示負載阻抗及反射系數(shù)[3],它由恒定電阻圓和恒定電抗圓組成,因此其繪制工作也分為兩部分進行。首先將其歸一化到單位圓,然后按照視圖比例乘以具體倍數(shù)。
定義如下數(shù)組分別是等阻圓和恒定電抗圓弧的特殊值。
double dRadius[]={0.0,0.2,0.5,1.0,2.0,5.0}
double dArc[]={-5.0,2.0,-1.0,-0.5,-0.2,0.2,0.5,1.0,2.0,5.0}
GDI圖形編程中,用設(shè)備上下文DC繪制圓Eclipse所需參數(shù)為該圓外接矩形,畫圓弧Arc接口需要圓弧所屬圓的外接矩形和圓弧的起始 點坐標。
等阻圓外接矩形左上角和右下角坐標分別為(x取自數(shù)組dRadius):
[(x-1)/(x+1),1/(x+1)]和[1,-1/(x+1)]
以上為歸一化到單位圓內(nèi)的轉(zhuǎn)換關(guān)系,繪圖時需設(shè)定坐標原點,確定放大比例。
3.2 擴充功能
在建模過程中,需要不斷觀測曲線調(diào)節(jié)參數(shù)使之與實測曲線擬合,而放大及記憶功能為此提供了便利。
我們需維護兩個放大參數(shù):放大區(qū)域中心點及放大比例。
每次拖動方框局部放大時調(diào)用InvalidateRect只刷新圖形顯示區(qū)域,然后訪問存儲的放大比例更新smith最大半徑。再用內(nèi)存DC創(chuàng)建圖形顯示區(qū)域大小的位圖,用內(nèi)存DC只需要繪制放大之后的部分區(qū)域。然后根據(jù)放大中心點確定位圖的視圖原點,設(shè)置屏幕DC的視圖原點為smith圓圖的中心點,最后調(diào)用BitBlt函數(shù)將放大的部分拷貝到屏幕上即可。
多次放大之后需要回退到上次的狀態(tài)只需訪問放大信息數(shù)組中的上一組參數(shù),然后刷新視圖即可。此外,還涉及到多次放大多次回退再次放大時要覆蓋掉此次放大之后的參數(shù),要做好內(nèi)存釋放的工作。
4.結(jié)束語
本文所述的基于spice3f5的建模工具將面向?qū)ο笤O(shè)計思想引入到仿真器的器件建模機制中,實現(xiàn)了模塊復(fù)用和快速原型化開發(fā),達到了縮短器件模型開發(fā)周期和降低開發(fā)成本的目的,對設(shè)計專用器件建模工具有一定的啟發(fā)作用。