前言
在仿真過程中,由于仿真模型的不連續(xù)性,或者模型沒有適當(dāng)?shù)乇碚?參數(shù)化,或者當(dāng)求解器無法求解控制模型行為的方程時(shí),可能就會(huì)出現(xiàn)仿真的收斂問題。
當(dāng)然,收斂問題沒有唯一的解決方案,因此應(yīng)仔細(xì)研究每個(gè)設(shè)計(jì)行為,并應(yīng)為該設(shè)計(jì)確定適當(dāng)?shù)慕鉀Q方案。
解決仿真的收斂問題,要避免對(duì)仿真設(shè)置進(jìn)行隨機(jī)更改,也要注意避免更改原始設(shè)計(jì)拓?fù)?。因此可以?/p>
1、使用系統(tǒng)方法。在解決收斂問題時(shí)記錄好更改。
2、在開始調(diào)查問題之前,嘗試用最新的Saber 版本中運(yùn)行設(shè)計(jì)。
3、對(duì)問題進(jìn)行初步調(diào)查并確定攻擊點(diǎn)。
4、仔細(xì)研讀系統(tǒng)給出的錯(cuò)誤信息,并參考產(chǎn)品幫助文檔判斷癥結(jié)所在。
5、有效地利用調(diào)試工具。
6、確保校準(zhǔn)分析。
初步調(diào)查
可能會(huì)出現(xiàn)收斂問題原因很多。因此了解調(diào)試過程的起點(diǎn)很重要。初步調(diào)查有助于啟動(dòng)調(diào)試。有時(shí)通過遵循初步調(diào)查中提到的糾正措施來解決收斂問題。
初步調(diào)查步驟如下。
1、在SaberRD中打開設(shè)計(jì)時(shí),您是否看到有關(guān)缺少符號(hào)的任何消息?
識(shí)別設(shè)計(jì)中缺少的符號(hào)、連接或節(jié)點(diǎn)。在 SaberRD 中打開設(shè)計(jì)時(shí),Netlister 會(huì)彈出一條關(guān)于缺少符號(hào)的消息(如果有),如下所示:
這可能是由于模型更新、庫(kù)重構(gòu)或復(fù)制設(shè)計(jì)文件夾時(shí)的人為錯(cuò)誤造成的。在這種情況下,請(qǐng)確保模型模板 ( .sin) 和符號(hào) ( .ai_sym) 在工作目錄或自定義庫(kù)或 SaberRD 庫(kù)中可用。
2、檢查是否有任何浮動(dòng)引腳
浮動(dòng)引腳是未連接到設(shè)計(jì)中的任何組件或節(jié)點(diǎn)的節(jié)點(diǎn)。它們?cè)诰W(wǎng)表中也被稱為“freenet”。此外,某些節(jié)點(diǎn)可能會(huì)因人為錯(cuò)誤而斷開連接。如果存在收斂問題,建議檢查這些浮動(dòng)引腳并確保它們被故意遺漏。在大型設(shè)計(jì)中,很難識(shí)別freenet,您可以在Netlist 中搜索關(guān)鍵字“freenet”,并確保有意將它們排除在外,以避免對(duì)收斂造成任何影響。
3、檢查任何具有挑戰(zhàn)性的電路
確保設(shè)計(jì)不存在如下所示的任何電路條件。設(shè)置電感直流阻抗和電容的絕緣阻抗,使設(shè)計(jì)更加真實(shí)。避免電容器和電感器的初始條件沖突,如下所示,并為隔離電路提供適當(dāng)?shù)膮⒖肌O旅娼o出了具有挑戰(zhàn)性的電路的示例。
- 無法解決的配置 違反能量守恒定律的電路條件。
- **人為錯(cuò)誤 **對(duì)于理想的并聯(lián)電容器和串聯(lián)的理想電感器,初始條件應(yīng)該相同。初始條件的錯(cuò)誤使用會(huì)導(dǎo)致數(shù)值振蕩。
- **隔離地 ** 如果有變壓器之類的電氣隔離,則應(yīng)提供適當(dāng)?shù)慕拥貐⒖肌?/li>
- 同步數(shù)字事件 兩個(gè)數(shù)字事件之間應(yīng)該有有限的延遲。
4、刪除臨時(shí)文件并創(chuàng)建新的網(wǎng)表文件。
SaberRD 在工作目錄(保存設(shè)計(jì)文件的位置)中寫出許多與 Netlister 和 Simulator 相關(guān)的支持文件。這些文件具有*.ai_tdb、 .ai_ns、 .ai_str、 .ai_grm、 .ai_out、 .ai_compiled、work.ai_vfs、 .ai_vhddsn、*.ai_vhdgrm 等擴(kuò)展名,并包括等網(wǎng)表文件。sin和.vhd。由于不受支持的 GUI 操作、版本更改或數(shù)據(jù)損壞,這些支持文件可能會(huì)損壞。建議在清除這些支持文件后重新網(wǎng)表設(shè)計(jì)。
注意:不要?jiǎng)h除擴(kuò)展名為*.ai_sch、 .ai_dsn、 .ai_sym、 .sin(僅適用于模型)的文件和來自模型架構(gòu)工具的文件(如 .ai_dp、 .ai_mosfet、 .ai_mct、 . ai_igbt1、 .ai_ams、 .ai_scan、 .ai_tlu等)。在刪除任何這些文件之前進(jìn)行備份是個(gè)不錯(cuò)的習(xí)慣。
5、設(shè)計(jì)之前是否進(jìn)行過仿真? 如果是這樣,那么發(fā)生了什么變化并導(dǎo)致了錯(cuò)誤?
如果收斂問題剛好在一些設(shè)計(jì)修改之后發(fā)生,那么這個(gè)問題可能是在修改過程中引起的。了解修改的效果以及修改是否是收斂錯(cuò)誤的原因。如果修改是將設(shè)計(jì)的一小部分集成到更大的設(shè)計(jì)中,請(qǐng)確保小部分經(jīng)過驗(yàn)證并且電路行為符合預(yù)期。此外,確保在集成后,設(shè)計(jì)行為符合預(yù)期,并且電路遵循基爾霍夫電壓和電流定律。
6、直流工作點(diǎn)或瞬態(tài)分析時(shí)是否顯示收斂錯(cuò)誤?
當(dāng)出現(xiàn)收斂問題時(shí),仿真器會(huì)顯示錯(cuò)誤消息。錯(cuò)誤消息包含指向提供有關(guān)錯(cuò)誤信息的產(chǎn)品幫助文檔的鏈接。錯(cuò)誤中的消息可能是調(diào)試的起點(diǎn)。有關(guān)產(chǎn)品幫助文檔的更多詳細(xì)信息,將在以下部分中詳細(xì)說明,遵循錯(cuò)誤消息。
有關(guān)錯(cuò)誤及其發(fā)生的知識(shí)有助于確定調(diào)試過程的起點(diǎn)。有關(guān)錯(cuò)誤發(fā)生的信息至關(guān)重要,因?yàn)樗兄谧粉櫾O(shè)計(jì)中的任何事件或切換,并從那時(shí)起繼續(xù)調(diào)查。對(duì)于 DC 工作點(diǎn),可以使用調(diào)試、holdnodes、SDB 命令等仿真器選項(xiàng)進(jìn)行調(diào)試。對(duì)于瞬態(tài)分析,可以利用監(jiān)控進(jìn)度和 ASP(仿真解決方案點(diǎn))代碼進(jìn)行調(diào)試。這也將在本文后面詳細(xì)介紹。
按照錯(cuò)誤信息判斷
當(dāng)出現(xiàn)收斂問題時(shí),SaberRD 會(huì)顯示錯(cuò)誤消息,幫助調(diào)試問題并解決問題。收斂問題期間的一些常見錯(cuò)誤消息如下所示:
在 SaberRD 中,當(dāng)顯示錯(cuò)誤消息時(shí),該工具會(huì)指出問題中最可能的部分。受影響的組件/節(jié)點(diǎn)將以紅色突出顯示。當(dāng)鼠標(biāo)懸停在突出顯示的部分時(shí),緊湊的錯(cuò)誤消息顯示如下。
腳本窗口中的錯(cuò)誤消息將包含一個(gè)鏈接,您可以單擊該鏈接并重定向到產(chǎn)品幫助文檔。SaberRD 產(chǎn)品幫助文檔簡(jiǎn)要說明了錯(cuò)誤以及解決這些錯(cuò)誤的技巧。可以使用產(chǎn)品幫助文檔中的鏈接訪問每條錯(cuò)誤消息的詳細(xì)信息。產(chǎn)品幫助文檔的快照如下所示。
使用調(diào)試工具
SaberRD 提供調(diào)試工具,用于監(jiān)控仿真器性能和診斷收斂問題的可能原因??捎玫牟煌{(diào)試工具包括調(diào)試選項(xiàng)、Holdnodes、SDB 命令和監(jiān)控進(jìn)度。
調(diào)試選項(xiàng)
調(diào)試選項(xiàng)僅在直流工作點(diǎn)分析中可用,可以通過高級(jí)仿真設(shè)置訪問。調(diào)試選項(xiàng)是一個(gè)切換開關(guān),當(dāng)設(shè)置為“Yes”時(shí),仿真器轉(zhuǎn)錄窗口將顯示仿真器變量,如行列式符號(hào)、函數(shù)值、變量的相對(duì)變化、牛頓步長(zhǎng)限制和超出區(qū)域的變量數(shù),如下所示。
如上圖,當(dāng)找到解決方案時(shí):
- 雅可比行列式的符號(hào)通常保持相同的符號(hào) (+)
- 函數(shù)值(通常)首先增加,然后減少(通常是非單調(diào)的)直到接近零
- 變量的相對(duì)變化趨近于小值
- 牛頓步長(zhǎng)變量在迭代結(jié)束時(shí)為零
- 沒有發(fā)現(xiàn)區(qū)域外的變量,或者只是偶爾發(fā)現(xiàn)一些變量
但是當(dāng)沒有找到解決方案時(shí),仿真器將顯示如下信息:
觀察到行列式的不同符號(hào)。
- 可以看到非常高的功能值
- 變量的相對(duì)變化值高
- 可以看到更多的牛頓步長(zhǎng)變量
- 發(fā)現(xiàn)某些變量超出區(qū)域
仔細(xì)研究仿真器參數(shù)的變化有助于確定收斂問題的原因和解決方案。例如,讓我們看一個(gè)隨附的案例研究。
在下面給出的仿真器報(bào)告截圖中,可以看出,
- 行列式變化廣泛
- 函數(shù)值和相對(duì)變化過,然后急劇增加到NaN,
- 大量變量受牛頓步長(zhǎng)限制
- 突然變量超出區(qū)域
這種行為的原因可能是由于牛頓步長(zhǎng)限制不足。要了解有關(guān)牛頓步長(zhǎng)限制的更多信息,請(qǐng)參閱產(chǎn)品幫助文檔(The Designer’s Guide to Analog & Mixed-Signal Modeling> Simulator Convergence>NumericalOscillation and Divergence)。在這種情況下,推薦的解決方案是增加牛頓階躍密度。將操作點(diǎn)高級(jí)仿真設(shè)置中的 Newton Step Density 從 3(默認(rèn))增加到 5,可以看到仿真收斂并找到了解決方案。
保持節(jié)點(diǎn)
對(duì)于具有多個(gè)穩(wěn)定工作點(diǎn)(例如鎖存器、觸發(fā)器和計(jì)數(shù)器)的系統(tǒng),無偏直流工作點(diǎn)分析可能會(huì)在工作點(diǎn)之間“卡住”,而不是找到一個(gè)。另一方面,根據(jù)設(shè)計(jì),DC 分析可能可以輕松找到工作點(diǎn),但它找到的可能不是您最感興趣的。使用Holdnodes,可以將指定節(jié)點(diǎn)保持在指定值,而運(yùn)行工作點(diǎn)分析。Holdnodes 可用于將系統(tǒng)偏向特定的解決方案。要將節(jié)點(diǎn)保持在特定值,請(qǐng)輸入節(jié)點(diǎn)名稱及其路徑和值,以空格分隔,如下所示。
語(yǔ)法->::.:
**釋放保持節(jié)點(diǎn) **
此選項(xiàng)指定是否應(yīng)分兩步找到解決方案,首先保留節(jié)點(diǎn),然后釋放。設(shè)置為 Yes 時(shí),操作點(diǎn)分析分兩步運(yùn)行。在第一步中,節(jié)點(diǎn)保持在指定的值,然后在第二步中,節(jié)點(diǎn)被釋放并使用第一步的結(jié)果作為輸入。當(dāng)設(shè)置為 No 時(shí),不使用 Holdnodes 的操作點(diǎn)分析(第二步)不會(huì)在使用 Holdnodes 的分析之后運(yùn)行。您還可以同時(shí)持有多個(gè)節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)及其各自的值應(yīng)由空格分隔,如下面的界面所示。
注意:不支持信號(hào)名稱中的通配符。您必須指定要保持的信號(hào)名稱。
在上面的例子中,模型 boostavg 的頂級(jí)節(jié)點(diǎn)“v_battery”和內(nèi)部節(jié)點(diǎn)“il”分別保持在值 1 和 0。當(dāng)釋放保持節(jié)點(diǎn)處于活動(dòng)狀態(tài)時(shí),這些節(jié)點(diǎn)保持在指定的值,然后運(yùn)行操作點(diǎn)分析,然后釋放它們并使用在第一部分中獲得的值作為初始點(diǎn)運(yùn)行操作點(diǎn)的第二部分。
-
電容器
+關(guān)注
關(guān)注
64文章
6716瀏覽量
103035 -
電感器
+關(guān)注
關(guān)注
20文章
2561瀏覽量
72041 -
仿真器
+關(guān)注
關(guān)注
14文章
1039瀏覽量
85440 -
隔離電路
+關(guān)注
關(guān)注
8文章
67瀏覽量
37494 -
變壓器
+關(guān)注
關(guān)注
0文章
1522瀏覽量
4010
發(fā)布評(píng)論請(qǐng)先 登錄
Saber中如何更好地提高仿真的收斂性(二)

無刷雙饋異步電機(jī)潮流建模和收斂性研究
FEM電磁仿真的一致性和收斂問題
實(shí)現(xiàn)Saber電源仿真的方法
決定仿真精度的主要因素
B值獨(dú)立同分布隨機(jī)變?cè)蛄芯赝耆?b class='flag-5'>收斂性
B值同分布鞅隨機(jī)列矩完全收斂性的注記
基于量子粒子群算法的收斂性研究
如何解決Saber中收斂性問題
板級(jí)模擬電路仿真收斂性技術(shù)研究

車載逆變電源的Saber與Simulink聯(lián)合仿真

關(guān)系模型的進(jìn)化算法收斂性對(duì)比的詳細(xì)資料說明
Saber Pspice simulink電源仿真軟件的區(qū)別

一文解讀PSpice中的收斂性問題及其相關(guān)因素

評(píng)論