SDB 命令
SDB 命令用于監(jiān)控無法通過任何其他調(diào)試工具直接監(jiān)控的仿真器事件。SDB 命令在 SaberRD 命令行中用于查看仿真器事件,例如牛頓步長限制、閾值和調(diào)度事件。下面給出sdb命令的用法。
語法 -> sdb on ns_limit(提供牛頓步長限制的調(diào)試信息)。
語法 -> sdb on thresh(提供閾值評估的調(diào)試信息)
語法 -> sdb on schedule(提供調(diào)度事件或取消調(diào)度事件的調(diào)試信息,包括閾值、中斷和狀態(tài)變化事件)
監(jiān)控進度
在直流工作點和瞬態(tài)分析中都可以使用監(jiān)視器進度。分配 1 到 1000 之間的任何值將打開監(jiān)視器進度,仿真器轉(zhuǎn)錄窗口將顯示仿真進度的百分比以及仿真解決點 (ASP)、截斷誤差、牛頓迭代次數(shù)或事件數(shù)等詳細信息,如下所示。
在瞬態(tài)分析期間以及當 DC 分析使用動態(tài)電源斜坡時,監(jiān)視器顯示區(qū)域的左列中有一個額外的單字符字段,稱為仿真解決方案點 (ASP)。ASP 代碼以單字符的形式給出消息是否找到解決方案,執(zhí)行任何時間步長,無限解決方案和調(diào)度事件。下表給出了 ASP 代碼列表。
解釋 ASP 代碼非常重要,因為它可以幫助您了解仿真器進度的方向。如果您在瞬態(tài)等名義分析期間在轉(zhuǎn)錄窗口中頻繁觀察到像 ?、-、d 和 N 這樣的 ASP 代碼,則表明設計中存在收斂問題。建議在初始階段解決這些問題中的任何一個,然后繼續(xù)推進仿真,如蒙特卡羅、最壞情況、靈敏度、周期性小信號和故障。
跟蹤顯示的截斷錯誤(terror)也很重要。理想情況下,它應該是接近零的非常小的值。如果它顯示大值,嘗試將terror值從 0.005(默認值)降低到 0.001 或 0.0001 和/或?qū)⒛繕说╰niter)從 3(默認值)增加到 5、10 或 20。terror值和 tniter 值應更改并應記錄每次更改的影響。terror值越小,仿真時間越長。重要的是要跟蹤每次terror變化的結(jié)果的準確性。下一節(jié)將解釋校準分析的重要性。
校準分析
仿真性能和結(jié)果的準確性可以通過仿真設置來控制,例如采樣點密度和截斷誤差。采樣點密度越大,一步時間獲取的數(shù)據(jù)點就越多。因此,密度越高,結(jié)果將越準確,但會花費仿真時間。截斷誤差可以建立具有較小值的數(shù)值積分算法的高精度,但它也花費了仿真時間。因此,考慮到仿真器的性能和結(jié)果的準確性,仿真工程師必須對這些仿真設置進行精細的平衡。
Newton Target Iteration 和Integration Order 等其他仿真設置也會影響仿真器性能和結(jié)果的準確性。NewtonTarget Iteration (tniter) 定義了仿真器在瞬態(tài)分析期間嘗試不超過的Newton-Raphson 迭代次數(shù)。增加此值將導致仿真器傾向于在仿真中花費更多時間。減小該值將導致仿真器趨向于更快地仿真。默認值為3。Integration Order(階次),決定是使用Backward Euler Method(order = 1)還是梯形法(order = 2)來確定下一個外推的時間點。順序僅在積分方法為GEAR時適用。
對于像電力電子轉(zhuǎn)換器設計這樣的開關(guān)電路,解決收斂問題的一個簡單方法是將積分階數(shù)設置為 1。積分階數(shù) = 1 將不考慮電路中非線性無源元件的影響。因此,通過減少半導體開關(guān)中的振蕩和振鈴,收斂問題被最小化。但失去了結(jié)果的準確性。
然后,您需要收緊截斷誤差和/或增加目標迭代以提高結(jié)果的準確性。也就是說,如果結(jié)果的準確性可能會受到影響,或者設計人員正在使用行為切換模型,那么 order = 1 將是一個很好的解決方法。
驗證結(jié)果
結(jié)果驗證是任何仿真工作中的重要一步。在處理收斂問題時,您的主要目標不僅是消除錯誤,而且還要關(guān)注預期結(jié)果。很多時候,錯誤可能會通過調(diào)整一些隨機仿真設置來解決,但結(jié)果不一定像預期的那樣。只有在獲得預期結(jié)果的情況下,才稱收斂問題的解是正確的。
下面舉例說明校準分析和驗證結(jié)果的重要性。
示例考慮了設計(該設計可用于 SaberRD 2017.06 及更高版本)。一開始,瞬態(tài)分析使用默認仿真設置運行??梢钥闯?,仿真沒有收斂并給出錯誤。作為開關(guān)電路,將積分順序更改為 1 將是一個簡單的解決方法。在第二次迭代中,使用積分階數(shù) = 1,可以看出仿真收斂了。但結(jié)果并未顯示引線電感等寄生元件的任何影響,并且負載電流尚未達到穩(wěn)定狀態(tài)。
此外,牛頓迭代限制顯示為 46.2%。就收斂問題而言,錯誤信息已經(jīng)消失,但具體問題的解決方案尚未確定。因此,設置order = 1 不是此收斂問題的正確解決方案。對于許多其他開關(guān)電路,設置 order =1 可能是可接受的解決方案。此示例顯示了遵循最佳實踐的優(yōu)勢。
使用前面解釋的最佳實踐重新啟動調(diào)試過程,按照顯示的錯誤消息運行第三次迭代。錯誤消息“ALG_INCR_TNITER”提供了產(chǎn)品幫助文檔中有關(guān) tniter 和terror的信息??梢钥闯?,通過增加目標迭代和減少截斷誤差來消除錯誤。在第三次迭代中,仿真以terror = 1u、tniter = 6 和階數(shù) = 2 運行。階數(shù)設置回2以查看無源元件的效果。在第三次迭代中,可以看到仿真收斂并且負載電流處于穩(wěn)定狀態(tài)。但仍有改進的余地,因為迭代被限制在 22% 左右,而且門脈沖不符合預期。從柵極電壓波形可以看出,有些情況下有電壓尖峰,有些情況下沒有。還,在信號“gate_lo”中預期柵極電感的影響。因此,半導體沒有正確切換,設計具有很高的損耗。
因此,應進一步加強仿真設置以獲得一致的波形。稍后在第四次迭代中,采用試錯法來確定可以給出預期仿真結(jié)果的適當仿真設置。仿真設置,terror從1u改為100u,tniter增加到20。這兩個設置都是逐漸調(diào)整的。
現(xiàn)在,可以看出兩個門脈沖都給出了預期的結(jié)果。采用試錯法來確定可以給出預期仿真結(jié)果的適當仿真設置。仿真設置,terror從1u改為100u,tniter增加到20。這兩個設置都是逐漸調(diào)整的。
現(xiàn)在,可以看出兩個門脈沖都給出了預期的結(jié)果。采用試錯法來確定可以給出預期仿真結(jié)果的適當仿真設置。仿真設置,terror從1u改為100u,tniter增加到20。這兩個設置都是逐漸調(diào)整的?,F(xiàn)在,可以看出兩個門脈沖都給出了預期的結(jié)果。
1、仿真設置為:截斷誤差 = 0.005(默認)目標迭代 = 3(默認)積分順序 = 2(默認),仿真器輸出信息見下圖:
結(jié)果:由于收斂問題導致的錯誤信息
2、仿真設置為:截斷誤差 = 0.005(默認)目標迭代 = 3(默認)積分順序 = 1,仿真器輸出信息見下圖:
仿真結(jié)果:
3、仿真設置為:截斷誤差 = 1u,目標迭代 = 6,積分順序 = 2。仿真器輸出信息見下圖:
仿真結(jié)果:
4、仿真設置為:截斷誤差 = 100u,目標迭代 = 20,積分順序 = 2。仿真器輸出信息見下圖:
仿真結(jié)果:
在所有這些迭代中的另一個密切觀察是,當使用適當?shù)姆抡嬖O置時,仿真運行得更快(參見仿真結(jié)束時的執(zhí)行時間)。
-
轉(zhuǎn)換器
+關(guān)注
關(guān)注
27文章
8668瀏覽量
147028 -
負載電流
+關(guān)注
關(guān)注
1文章
249瀏覽量
14319 -
仿真器
+關(guān)注
關(guān)注
14文章
1016瀏覽量
83701 -
ASP
+關(guān)注
關(guān)注
0文章
98瀏覽量
34067
發(fā)布評論請先 登錄
相關(guān)推薦
評論