目前,專業(yè)仿真軟件的功能不斷增加,仿真領(lǐng)域不斷擴大,處理的對象越來越復(fù)雜,這一切都使得軟件自身顯得越來越龐大,而硬件的更新速度也往往慢于軟件更新的速度,這就造成了我們的仿真工作感覺越來越慢了。那么廣泛應(yīng)用于電力電子、伺服控制、混合電路等領(lǐng)域的系統(tǒng)仿真軟件Saber是怎么樣的呢?
通常,仿真時間受多種因素影響的,下面從Saber本身到使用方法再到硬件平臺加以說明。
仿真器算法的先進(jìn)性是仿真速度和仿真收斂性的決定性因素。Saber利用專利算法Calaveras實現(xiàn)最佳的運算性能,以達(dá)到仿真速度快、仿真精度高的目的。這樣仿真器算法將花費多少時間作為所研究的設(shè)計/系統(tǒng)的線性/非線性的函數(shù)。
1、分析設(shè)置會影響完成仿真所需的步數(shù)。這個數(shù)字可以由仿真器(使用默認(rèn)設(shè)置和動態(tài)調(diào)整)或用戶控制。但是,用戶在修改之前應(yīng)該了解要仿真的系統(tǒng)以及每個設(shè)置的影響。
示例 1:在仿真剛性系統(tǒng)(混合技術(shù))時,重要的是要限制時間步長,以防止仿真在切換點等急劇過渡期間偏離軌道太遠(yuǎn)。如果時間步長太小,仿真時間可能會過長。如果時間步長太大,瞬態(tài)分析可能難以啟動。
示例 2:如果將截斷錯誤類型“terrtype”設(shè)置為“all”,則仿真器將在每次 LTE 計算中使用更多信息,因此仿真會更準(zhǔn)確,但與其他設(shè)置相比會更慢。
示例 3:將截斷誤差“terror”設(shè)置為一個非常小的值會導(dǎo)致更多的時間步長(有時可能需要)和更長的仿真時間。但是,某些系統(tǒng)可能不會收斂(例如:剛性系統(tǒng))。
2、對于混合信號系統(tǒng),正在處理的模擬數(shù)字事件的數(shù)量也會影響仿真時間。
3、從仿真中選擇要保存的信號數(shù)量會影響仿真時間。
4、花在顯示操作上的時間會增加整體時間。因此,設(shè)置監(jiān)視器和使用波形探針將對仿真時間產(chǎn)生很大影響。對于持續(xù)時間較長的仿真,解決方案是以批處理模式運行,使用網(wǎng)格分布式迭代分析 (SABER_RUNTIME) 或?qū)⒆鳂I(yè)提交到快速服務(wù)器。
二、設(shè)計復(fù)雜性
仿真時間的進(jìn)度取決于系統(tǒng)的復(fù)雜程度。
1、模擬與數(shù)字:在 1:1 大小的比較中,仿真模擬系統(tǒng)比數(shù)字系統(tǒng)慢。
2、混合信號電氣系統(tǒng):仿真速度取決于 Calaveras 算法必須評估同時發(fā)生的模擬和數(shù)字信號(進(jìn)程間通信)事件的次數(shù)。
3、混合信號和剛度(通常是混合技術(shù)設(shè)計)。
4、混合信號仿真的模擬變量與數(shù)字變量的比率,因為數(shù)字部分將比模擬部分運行得更快。例如,具有 200,000 個數(shù)字部件和 20,000 個模擬部件的設(shè)計將比具有 20,000 個數(shù)字部件和 200,000 個模擬部件的設(shè)計運行得更快。
5、設(shè)計的大小被轉(zhuǎn)化為變量的數(shù)量,這些變量決定了仿真器構(gòu)建的矩陣的大小。一個大的設(shè)計將需要一個大的矩陣,并將分配/使用大面積的 RAM 內(nèi)存。
建議:使用具有大容量 L2 緩存、大量 RAM 和高速FSB(前端總線)的機器。
三、建模方面
1、設(shè)計中使用的模型的復(fù)雜性:
- 頂層模型非常簡單,因此仿真速度很快(用于自頂向下的設(shè)計階段)
- 非常詳細(xì)的模型需要更多的計算資源并提供最高級別的準(zhǔn)確性(用于自下而上和設(shè)計驗證階段)。
示例 1:在晶體管級電路中,晶體管級模型應(yīng)由特征行為模型代替,以獲得更快的仿真。
示例 2:寫得不好或錯誤的模型會迫使算法花費時間并給出糟糕的結(jié)果,而穩(wěn)健的模型可以非常準(zhǔn)確并在很短的時間內(nèi)進(jìn)行模擬。仿真中使用的模型應(yīng)根據(jù)設(shè)計流程中特定級別(高級、自下而上、驗證/板級等)的預(yù)期行為進(jìn)行驗證。
2、在電源設(shè)計的情況下,使用平均模型可以大大減少仿真時間。
3、使用理想的超模型也將縮短仿真時間,而使用特定于技術(shù)的超模型以更慢的仿真時間為代價提供更高的準(zhǔn)確性。
示例 1:使用行為模型而不是映射到 MOS 超模型,這意味著數(shù)字電路將由數(shù)字模型而不是由 MOS 門表示,并且仿真會更快。
示例 2:創(chuàng)建并使用您自己的超模型。
4、如果設(shè)計包含時鐘模型,則將強制使用最大仿真時間步長,以確保獲得平滑的結(jié)果。
5、C和Fortran外部例程/函數(shù)的進(jìn)程間通信頻率調(diào)用也往往會減慢仿真速度。
示例:外部例程是循環(huán)的一部分,并且在系統(tǒng)處于蒙特卡羅仿真下時被調(diào)用 n 次。
6、模型中的消息應(yīng)主要用于模型開發(fā)的調(diào)試/驗證階段。
示例:在循環(huán)期間和蒙特卡羅模擬下使用消息可能會花費大量時間。
四、聯(lián)合仿真和其它進(jìn)程
通常,進(jìn)程間通信特定于:
1、Sabre 與另一個仿真器(Cadence、Mentor、Matlab等)的聯(lián)合仿真
2、C和Fortran外部程序/函數(shù)的調(diào)用
3、SaberRT
4、其他進(jìn)程:同時運行多個應(yīng)用程序?qū)娭?cpu 在進(jìn)程之間共享時間,除非有進(jìn)程優(yōu)先級設(shè)置為 Saber 提供最高優(yōu)先級。實現(xiàn)實時能力的設(shè)計尺寸、剛度和時間常數(shù)擴展是有限的。
五、硬件性能
1、從硬件角度來看,仿真時間主要受以下因素影響:
- CPU 速度
- L2 Cache(BSB后端總線)的大小和速度
- FSB(前端總線)速度
- RAM 內(nèi)存的大小和類型
2、仿真后處理(波形查看與分析)性能主要受以下因素影響:
- 顯存大小
- 硬盤轉(zhuǎn)速(轉(zhuǎn)速越高,訪問數(shù)據(jù)文件越快)
最后說明:如果仿真時間是一個關(guān)鍵問題,用戶應(yīng)該考慮以下幾點:
- 更高的 CPU 速度和更大的內(nèi)存大小通常會導(dǎo)致更高的仿真和后處理時間性能。
- 停止所有其他占用 CPU 時間的系統(tǒng)活動將加速仿真過程。
- 增加截斷誤差會減少仿真步數(shù),但會降低精度。
- 選擇更簡單的模型將導(dǎo)致更少的計算時間。
- 您可以通過將設(shè)計分解為可以獨立于系統(tǒng)其余部分進(jìn)行仿真的功能塊來降低設(shè)計復(fù)雜性。換句話說,花更多的時間在模擬關(guān)鍵塊上,而不是每次設(shè)計發(fā)生變化時都模擬整個系統(tǒng)。
- 在仿真時實現(xiàn)最佳速度和精度是一種權(quán)衡,這對于設(shè)計驗證至關(guān)重要,但對于自上而下的設(shè)計階段則不然。
-
RAM
+關(guān)注
關(guān)注
8文章
1369瀏覽量
115068 -
仿真器
+關(guān)注
關(guān)注
14文章
1019瀏覽量
83962 -
FSB
+關(guān)注
關(guān)注
0文章
7瀏覽量
9428
發(fā)布評論請先 登錄
相關(guān)推薦
腰椎間盤突出的因素有哪些呢
請問硬件仿真的速度能達(dá)到甚至超過軟件仿真的速度嗎?
如何提高M(jìn)PLAB X仿真速度?
請問硬件仿真的速度能達(dá)到甚至超過軟件仿真的速度嗎?
lcd的顯示速度跟哪些因素有關(guān)呢?
Spice仿真器:仿真速度和容量的提升
![Spice<b class='flag-5'>仿真</b>器:<b class='flag-5'>仿真速度</b>和容量的提升](https://file1.elecfans.com//web2/M00/A5/73/wKgZomUMOHyAQkUWAACJmJ27x9o856.jpg)
放大器仿真模型可提高SPICE仿真速度
![放大器<b class='flag-5'>仿真</b>模型可提高SPICE<b class='flag-5'>仿真速度</b>](https://file.elecfans.com/web1/M00/8D/0B/o4YBAFyiJR6AQxFRAAAd3d8lL1M492.png)
評論