王連浩,王占選,齊非凡,趙子晟,王月海
(1.北方工業(yè)大學 信息學院學院,北京 100144; 2.北京航天測控技術有限公司,北京 100037)
近年來,隨著國內(nèi)外情勢的變化和時代的發(fā)展,集成電路,尤其是工業(yè)級芯片的研發(fā)、設計和應用越來越受到國家重視,集成電路發(fā)展踏上快車道,而在集成電路內(nèi)部設計研發(fā)方面,為了滿足眾多應用領域需求,由模擬電路和數(shù)字電路構成的混合電路已經(jīng)成為主流,其復雜程度和規(guī)模都在不斷增加[1-6],仿真是設計和制造工業(yè)級芯片的重要環(huán)節(jié),能夠有效地減少研發(fā)周期和成本,因此數(shù)?;旌想娐贩抡嬉殉蔀橹萍s當代集成電路產(chǎn)業(yè)發(fā)展的卡脖子問題。
從技術層面上看,模擬電路仿真采用基于狀態(tài)方程演化的技術,仿真精度高,需要仿真時間長;數(shù)字電路仿真采用基于事件驅動的技術,仿真速度快。兩者的仿真原理與核心技術在底層上難以直接集成。從工業(yè)應用層面上看,模擬電路仿真和數(shù)字電路仿真均有業(yè)界影響大、仿真精度高、使用用戶多的工業(yè)界標準軟件,而且這些軟件更新及時,支持目前各大芯片廠商推出的最新集成電路,如支持模擬電路仿真Spice引擎的OrCAD PSpice、HSpice、Spectre等軟件,支持數(shù)字電路仿真的ModelSim軟件在國內(nèi)都居于業(yè)界標準地位,具有十分廣泛的應用。
數(shù)?;旌想娐贩抡嬉话憧梢苑譃楸緳C模式和粘合模式兩種,這兩種模式的算法原理各不相同,同樣各有優(yōu)勢,在目前的應用領域均有典型代表[7-10]。本機模式設計方法用單一仿真器同時實現(xiàn)數(shù)字和模擬仿真算法來進行數(shù)模混合仿真,典型代表是Mentor的ADMS仿真器和Synopsys的Saber,其中ADMS是一個支持多種設計語言、單核的數(shù)?;旌闲盘栯娐吩O計驗證工具,而Saber主要用于外圍電路的仿真模擬,同樣是單一的混合信號仿真內(nèi)核。由于芯片廠家通常只提供業(yè)界標準的模型,所以這種模式設計的混合仿真軟件因缺乏工業(yè)級芯片模型的支持而應用受到一定限制。粘合模式使用兩個仿真器,模擬仿真器仿真模擬電路,數(shù)字仿真器仿真數(shù)字電路,然后通過控制模塊處理兩個仿真器之間的數(shù)據(jù)交互。這種設計方式的仿真軟件可以提供業(yè)界標準的芯片及電路模塊支持,但內(nèi)部數(shù)模接口和時序控制模塊設計復雜。
目前,世界上最著名的三家EDA軟件公司分別是美國的Synopsys與Candence,以及西門子的Mentor Graphics。這三家公司在國際EDA市場中處于領先地位,而且現(xiàn)在應用廣泛的數(shù)?;旌想娐贩抡孳浖彩莵碜赃@三家公司,主要有3個:Mentor的ADMS仿真器、Synopsys的Saber仿真器和Cadence的AMS-Design仿真器[11-13]。ADMS主要用于混合信號集成電路驗證,Saber適合開關電源領域的電路仿真,AMS-Design主要應用于混合信號芯片設計。前兩者均為單核數(shù)?;旌闲盘柗抡嫫鳎秉c在于性能與邏輯模擬器還有較大差距,而AMS-Design缺少業(yè)界標準的芯片及電路模塊支持。他們的共同特點在于不開源,費用昂貴,難以二次開發(fā)形成自主產(chǎn)權。
針對設計研發(fā)工業(yè)芯片與診斷維修高精度電子設備的工業(yè)現(xiàn)狀,急需滿足以下要求的數(shù)?;旌想娐贩抡嫫脚_:具有自主知識產(chǎn)權,支持當下主流模擬電路和數(shù)字電路仿真技術,支持各集成電路廠商最新芯片模型且滿足設計精度需求、支持工業(yè)級集成電路應用開發(fā)等。
針對上述需求,數(shù)?;旌想娐贩抡婀ぞ叩脑O計根據(jù)設計模式分為兩種設計方法:(1)基于Ngspice這類開源軟件進行數(shù)模混合電路設計和模塊庫建立,這種方式性價比不高,需要花費大量的時間和精力,所以很少有研究者進行研究;(2)選擇不同仿真器進行粘合,借助仿真器自帶模型庫,能夠有效地減少設計時間,性價比高。因此,目前數(shù)?;旌想娐贩抡婀ぞ咴O計方法主要是第二種。
本文在第二種設計方法的基礎上提出了一種粘合模式的數(shù)?;旌戏抡嫫脚_模型架構,基于該架構選擇PSpice和ModelSim在Simulink上實現(xiàn)聯(lián)合仿真,并在此基礎上設計了一個數(shù)?;旌戏抡孳浖脚_。
該平臺基于Matlab Simulink技術,集成了主流的模擬電路仿真PSpice引擎和數(shù)字電路仿真ModelSim引擎,是一種模塊化、圖形化、行為級的數(shù)模混合仿真平臺。該平臺使用Simulink做為頂層,可利用Matlab眾多工具模塊,以及與C/C++等高級語言交互的程序接口,底層的模擬仿真引擎PSpice和數(shù)字仿真引擎ModelSim都是業(yè)界首選的專業(yè)仿真引擎,不僅有對最新工業(yè)芯片的完美支持,而且仿真精度和性能都是業(yè)界一流水準。因此,本文設計并實現(xiàn)的數(shù)模混合仿真平臺具有以下優(yōu)點:基于Matlab Simulink平臺,混合電路仿真界面友好,可視化程度高;采用粘合模式,選擇業(yè)界主流仿真引擎,可以獲得最新芯片模型和電路模型的支持;采用模塊化設計,提供圖形化界面;支持行為級仿真,仿真精度高,性能良好;數(shù)據(jù)處理能力好,能夠靈活地完成數(shù)據(jù)轉換,以及調整數(shù)據(jù)流向。
本文設計的數(shù)?;旌戏抡嫫脚_通過Matlab Simulink創(chuàng)建系統(tǒng)級行為模型,對于系統(tǒng)中具體模擬和數(shù)字電路模塊分別調用商用高精度仿真引擎PSpice和ModelSim實現(xiàn)。
數(shù)?;旌戏抡嫫脚_的架構是C/S(Client/Server)結構,Matlab Simulink作為客戶端(client),以系統(tǒng)級仿真做為頂層結構,底層是兩個不同類型的仿真器作為服務器(server),一個模擬仿真服務器PSpice,一個數(shù)字仿真服務器ModelSim??蛻舳藶閮蓚€引擎服務器提供必要的激勵信號和控制信號,服務器接受客戶端的調用,并接收信號,完成必要的仿真工作,將仿真數(shù)據(jù)傳回客戶端,在客戶端中完成數(shù)據(jù)的轉換和交互,這就是仿真平臺的基本運行架構。
Matlab是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術計算語言和交互式環(huán)境[14-15]。借助Matlab能夠很好地完成數(shù)模混合仿真的主控模塊設計和數(shù)據(jù)處理等功能。Simulink是Matlab的擴展,是一種可視化仿真工具,能夠實現(xiàn)動態(tài)系統(tǒng)建模和仿真[16]。借助Simulink平臺的接口模塊能夠實現(xiàn)引擎連接,再通過平臺本身的模塊和函數(shù)完成數(shù)據(jù)轉換工作。PSpice作為模擬仿真引擎,優(yōu)勢有兩方面:(1)其本身的簡便性和專業(yè)性在業(yè)界都是一流水準,是工業(yè)界標準軟件;(2)能夠提供最新的業(yè)界標準的芯片及電路模塊支持。借助PSpice能夠很好的完成模擬子電路搭建和校驗工作。ModelSim因其業(yè)界標準地位和作為單內(nèi)核實現(xiàn)VHDL和Verilog混合仿真等特點[17-18]作為本文數(shù)?;旌戏抡娴臄?shù)字仿真引擎,完成數(shù)字子電路搭建和校驗工作。
這種架構帶來了新的需要解決的問題,一是三者之間的數(shù)據(jù)交互問題,二是聯(lián)合仿真中的時序同步問題。
針對數(shù)據(jù)交互問題,本文提出了一種利用協(xié)同仿真技術將仿真結果數(shù)據(jù)集中在Simulink平臺中,然后利用系統(tǒng)級接口模塊實現(xiàn)模擬和數(shù)字數(shù)據(jù)的交換。
針對時序同步問題,本文提出了一種結合了拓撲排序算法的仿真控制方式,并根據(jù)拓撲關系進一步確定了各模塊間的接口連接關系,解決了子電路模塊間的時序問題,模塊內(nèi)的同步通過協(xié)同仿真接口的配置實現(xiàn)。
這兩種方法在下一章節(jié)進行了具體的介紹。
本文設計的數(shù)?;旌戏抡嫫脚_主要功能包括電路維護,數(shù)字電路和模擬電路聯(lián)合仿真,仿真管理,結果處理等部分,設計了電路輸入模塊、電路拆分模塊、聯(lián)合仿真模塊、流程配置模塊、仿真流程控制模塊(數(shù)據(jù)接口及時序同步)、結果輸出及打印模塊、管理模塊(文件管理、項目管理)等功能模塊,平臺軟件功能模塊如圖1所示。
圖1 數(shù)?;旌戏抡嫫脚_軟件功能模塊圖
電路原理圖維護模塊主要功能可以分為四部分:(1)電路輸入模塊;(2)電路拆分模塊;(3)電路維護;(4)元器件模型管理。
電路輸入模塊主要目的是獲得電路原理圖,可以通過文件導入的方式從電路原理圖庫將所需電路原理圖讀入,也可以通過仿真引擎的原理圖編輯或代碼編輯導入所需電路。
電路拆分模塊將時序上可以邏輯拆分的復雜電路按照功能劃分,在專家指導下,進行電路功能模塊的半自動拆分,形成眾多功能單一的模擬子模塊序列和數(shù)字子模塊序列。
電路維護功能是對不同類型子電路進行管理,其主要方式是將拆分后的模擬和數(shù)字子電路模塊在對應的PSpice和ModelSim仿真器中進行編輯,調整為能夠通過相應校驗的獨立電路,存入數(shù)據(jù)庫中。
元器件模型管理處理的對象是在引擎軟件模型庫中原本不存在或者需要修改的元器件,分為模擬器件模型管理和數(shù)字功能模型管理。模擬元器件建模方法主要有兩種:一種是參數(shù)建模法,適用于相對簡單、已經(jīng)具有功能模型的元器件建模;另一種是子電路建模法,適用于相對復雜、比較新型的、需重新推導功能模型的元器件建模[19-20]。數(shù)字功能模型建模是通過在ModelSim進行行為級建模,通過激勵源文件進行校驗,元器件模型同樣存入數(shù)據(jù)庫中。
聯(lián)合仿真模塊是為了解決平臺和引擎之間的數(shù)據(jù)交互問題,是通過協(xié)同仿真技術實現(xiàn)的,其主要功能是建立引擎連接和實現(xiàn)單模塊聯(lián)合仿真。
引擎連接功能是實現(xiàn)平臺與底層仿真引擎的協(xié)同運行,確保平臺和引擎之間能夠實現(xiàn)數(shù)據(jù)交互。這部分功能是通過Simulink的接口模塊庫實現(xiàn)的,主要涉及PSpice SLPS Interface 和Link for ModelSim這兩個接口模塊。
SLPS是Cadence Design Systems公司針對PSpice仿真器與Mathworks公司的Matlab建模工具Simulink推出的接口軟件,主要功能是鏈接PSpice至Matlab中的Simulink仿真器,從而在系統(tǒng)級仿真環(huán)境中實現(xiàn)模擬電路系統(tǒng)的仿真。
Link for ModelSim聯(lián)合仿真的接口在HDL仿真器ModelSim SE/PE和Simulink間提供了一個雙向連接,從而可將Matlab工具整合到EDA工作環(huán)境中,使其應用于FPGA和ASIC的開發(fā),以指導硬件的設計驗證和聯(lián)合仿真。
單模塊聯(lián)合仿真包括模擬電路聯(lián)合仿真和數(shù)字電路聯(lián)合仿真兩種,兩者分別利用上述兩個接口模塊實現(xiàn)頂層平臺與底層引擎協(xié)同仿真。具體方法為將在引擎中已經(jīng)維護好的子電路通過接口模塊與平臺建立連接,平臺提供激勵、顯示、存儲等模塊,建立聯(lián)合仿真工程,將數(shù)據(jù)存儲于平臺內(nèi),為數(shù)?;旌戏抡嫣峁l件。
子電路模塊間的時序問題是本文設計的混合仿真平臺實現(xiàn)的關鍵。本文提出了一種結合了拓撲排序算法的仿真控制方式,對分解好的子電路進行正確仿真次序的排列。
該方式采用有向無環(huán)圖的方式對拆分的子電路序列及其中的先后關系進行表示,根據(jù)Matlab存儲結構選擇元胞數(shù)組存儲有向無環(huán)圖信息。
假定某數(shù)模混合電路拆分為6個子電路模塊,根據(jù)數(shù)據(jù)流確定的模塊間的調用關系可表示為圖2所示的有向無環(huán)圖。下劃線前面的數(shù)字是輸入或拆分模塊時所分配的序列號,下劃線后面是本模塊的仿真類型,a為模擬電路模塊,d為數(shù)字電路模塊。
圖2 某電路拆分后子電路模塊的有向無環(huán)圖
對仿真模塊進行拓撲排序后,根據(jù)拓撲關系可以進一步確定了各模塊間的接口連接關系。建立表1所示的子電路模塊間的數(shù)據(jù)轉換表,記錄每個模塊的入度和出度,并輸出數(shù)據(jù)轉換關系, 以便為數(shù)?;旌戏抡娴臄?shù)據(jù)交換功能做準備。表中數(shù)據(jù)轉換類型有3種:1表示無轉換,2表示模數(shù)轉換,3表示數(shù)模轉換。
表1 某電路拆分后子電路模塊的有向無環(huán)圖
聯(lián)合仿真時,平臺會調用子電路模塊拓撲排序對待仿真的子電路模塊進行邏輯排序,并在每個模塊仿真開始與結束時,檢測入度值、出度值和數(shù)據(jù)轉換類型,對本模塊的輸入、輸出和數(shù)據(jù)類型進行配置和修改,確保仿真快速、準確進行。圖3所示的電路模塊圖軟件生成的一種拓撲序列為(1_d,3_a,6_a,2_d,4_a,5_d)。
圖3 平臺與模擬仿真引擎數(shù)據(jù)交互圖
如何處理模擬仿真與數(shù)字仿真之間的接口是一項十分重要的問題,只有解決了這一問題,才能為數(shù)?;旌戏抡姝h(huán)境提供保證。因此,數(shù)模混合仿真平臺核心算法在于時序同步和數(shù)據(jù)轉換。時序同步算法分為兩步進行:(1)拓撲排序;(2)協(xié)同仿真的時序同步。
根據(jù)文獻資料,Simulink與PSpice之間的數(shù)據(jù)交互如上圖所示。Simulink的主仿真步長取決于隨機抽取PSpice的仿真測點,比PSpice的仿真步長略大。Simulink與ModelSim之間的數(shù)據(jù)交互在于時鐘信號和復位信號的控制,保證仿真時間與系統(tǒng)仿真時間的對齊。
為確保數(shù)字模塊混合電路仿真的時序同步,設計的數(shù)?;旌戏抡嫫脚_利用Simulink分別與PSpice和與ModelSim之間數(shù)據(jù)交換與同步機制,并加以量程與步長控制等予以調整。首先要設定Simulink和ModelSim兩個仿真引擎的相對時間量程,默認是Simulink中的1 s時間等于HDL(Hardware Description Language,硬件描述語言)仿真器中的1 s時間,但也可以根據(jù)實際情況修改。其次要設定混合仿真的主仿真步長。數(shù)?;旌戏抡嬷心M仿真決定仿真整體的速度和精度,所以主仿真步長的設置與模擬仿真更為緊密。主仿真步長的設置需要適度,過大會導致采集的數(shù)據(jù)波形失真,影響準確性;設置過小又會影響分析速度,所以可以采用參考PSpice內(nèi)部仿真結果的方式設置主仿真步長。
聯(lián)合仿真管理模塊主要包括仿真流程配置功能和系統(tǒng)級仿真流程控制功能。
仿真流程配置主要是將聯(lián)合仿真模塊的功能實現(xiàn)并實現(xiàn)數(shù)據(jù)交互。整個流程分為三部分配置:(1)利用電路維護功能在對應仿真引擎分別建立模擬和數(shù)字電路子工程,并分別對其進行調整校驗,直至能夠完整實現(xiàn)各自功能;(2)在Simulink實現(xiàn)單模塊仿真,實現(xiàn)平臺與底層仿真引擎連接,并補充其他模塊,如激勵源模塊和顯示模塊等,實現(xiàn)系統(tǒng)級功能仿真;(3)實現(xiàn)模擬和數(shù)字模塊之間的數(shù)據(jù)交互,利用電平調整與格式轉換等操作實現(xiàn)模/數(shù)和數(shù)/模轉換。
系統(tǒng)級仿真流程控制主要功能是對系統(tǒng)級混合仿真流程的參數(shù)配置、運行控制、時序控制、錯誤處理等功能。
參數(shù)配置功能是對仿真器類型、仿真類型、仿真起止時間、步長以及接口配置中子電路選取、輸入輸出接口等仿真參數(shù)信息進行配置。
運行控制功能是在配置好參數(shù)后,利用Matlab Simulink控制邏輯,實現(xiàn)對仿真流程的啟動、停止、單步、暫停等控制,并更新仿真進度顯示。其中聯(lián)合仿真平臺和引擎的數(shù)據(jù)交互會影響仿真的精度和性能,需要進行設置。
錯誤處理功能主要是處理聯(lián)合仿真中出現(xiàn)的各類錯誤。例如:顯示,錯誤信息來源追蹤及可能導致原因等,同時暫停Simulink仿真控制,等待用戶進一步處理。
結果處理功能主要是對仿真結果保存、顯示、分析,并將結果存入仿真結果庫,以及打印查看。
本文設計的數(shù)模混合電路仿真平臺能夠對復雜電路進行仿真操作,實現(xiàn)流程化、模塊化數(shù)模混合仿真。選擇一個時序上可以邏輯拆分的、具有典型性的混合電路作為例子研究分析數(shù)模混合仿真平臺的各項功能?;旌想娐吩韴D如圖4所示。
圖4 仿真案例混合電路原理圖
根據(jù)混合電路原理圖,按照軟件流程,首先利用電路原理圖維護模塊進行電路拆分和維護,構建能夠通過相應校驗的獨立子電路;然后利用聯(lián)合仿真模塊實現(xiàn)引擎調用,構建單模塊聯(lián)合仿真工程;最后通過聯(lián)合仿真管理模塊實現(xiàn)仿真流程配置和流程控制。
為了應對面對復雜電路時拆分模塊多且數(shù)據(jù)連接復雜的情況時平臺時序同步的能力,采取將模塊的序列號打亂設置的方式進行檢驗,工程1序列號為3,類型為模擬電路;工程2序列號為1,類型為數(shù)字電路;工程3序列號為2,類型為模擬電路。按照序列號進行電路模塊導入,并輸入每條有向邊的起始點,進行拓撲排序,其結果如圖5中仿真視圖窗口所示,其中一種模塊排列變?yōu)?3_a,1_d,2_a)。數(shù)據(jù)轉換如表2所示。
表2 案例電路的模塊間數(shù)據(jù)轉換表
根據(jù)上述步驟實現(xiàn)了混合電路聯(lián)合仿真,其各模塊結果圖如圖5~7所示。
圖5 工程1仿真工程電路圖與輸出波形圖
1)功能整體性分析。
工程1的功能是通過總線驅動芯片74HC245控制電源V1的信號是否輸出,理論輸出應該為200 Hz的脈沖信號;工程2主要功能是通過集成數(shù)字電路實現(xiàn)對第一環(huán)節(jié)輸出信號進行分頻操作,實現(xiàn)4分頻,理論輸出為50 Hz的脈沖信號;工程3的主要功能是通過運算放大器對模塊二的輸出信號進行增益,放大倍數(shù)為2,然后用來驅動某負載進行工作,理論輸出為振幅為2的50 Hz脈沖信號。
根據(jù)圖5輸出波形與上述分析的理論值比較,可知工程1的仿真結果正確。工程1到工程2,會發(fā)生模數(shù)轉換,此時輸入模塊二的波形為賦值為1的200 Hz脈沖信號,從圖6波形可以看出是賦值為1的50 Hz脈沖波形,與理論值相同,可以看出工程2仿真功能正常,結果正確。工程2到工程3,會發(fā)生數(shù)模轉換,圖7波形與理論值存在極小誤差,均方誤差為5.202e-08,這表明工程3仿真功能正常,且精度高。
圖6 工程2仿真工程電路圖與輸出波形圖
圖7 工程3仿真工程電路圖與輸出波形圖
綜上所述,本平臺能夠對時序上可以邏輯拆分的數(shù)?;旌匣旌想娐穼崿F(xiàn)流程化、模塊化的數(shù)?;旌戏抡?,驗證了平臺整體的有效性。
2)精度和性能分析。
數(shù)?;旌戏抡孳浖木群托阅芘c其設計方法有很大的聯(lián)系,表3是不同方案的對比表。
表3 不同方案的對比表
表3從理論角度對比了現(xiàn)有的設計方案和本文設計方案的特點,可以看出本文設計的數(shù)?;旌戏抡嫫脚_具有性價比高,精度和性能都是比較良好。下面通過具體實例對精度和性能進行分析。
以工程1仿真為例,模擬電路聯(lián)合仿真結果與PSpice仿真結果比較如圖8所示。對兩者仿真結果進行數(shù)據(jù)分析可知,模擬聯(lián)合仿真結果是從PSpice的仿真結果中采集來的,兩者數(shù)值精度完全一致。除此之外,PSpice仿真結果在初始和數(shù)據(jù)突變時會采取更加精準的采集,在較小的步長時,這種情況會造成性能的浪費,而模擬聯(lián)合仿真結果能夠避免這種情況。既能夠發(fā)揮PSpice仿真的精確性,又能提升一定仿真性能。
圖8 模擬電路聯(lián)合仿真結果與模擬引擎仿真結果比較圖
以工程2為例,數(shù)字電路聯(lián)合仿真性能與ModelSim仿真性能比較如圖9所示。圖中每個數(shù)據(jù)是在相同環(huán)境下,經(jīng)過數(shù)十次仿真結果取得的均值,能夠比較有效地反應相同環(huán)境下兩種方式的性能差異。由圖可知,這兩種仿真方式的仿真時間與實際用時均為線性關系,不同之處在于數(shù)字電路聯(lián)合仿真進行需要一定的引擎連接時間,所以仿真時間起始點較高,但這種連接也減少了ModelSim軟件仿真中其它部分的功能,從而提高仿真的性能,節(jié)省了仿真的時間。
圖9 數(shù)字電路聯(lián)合仿真性能與數(shù)字引擎仿真性能比較圖
仿真平臺的搭建步驟主要分為三步:(1)仿真平臺界面設計;(2)功能模塊設計;(3)數(shù)據(jù)庫的搭建。其中,功能模塊設計和數(shù)據(jù)庫的搭建在第2章節(jié)進行了詳細介紹。所以下面主要介紹仿真平臺界面設計和平臺的實現(xiàn)效果。
仿真平臺界面設計是采用Matlab的GUI模塊進行設計,包含菜單欄、工具欄、仿真工程目錄窗口、仿真文件視圖窗口、信息通知窗口和參數(shù)查詢窗口等6個部分。
基于Simulink的數(shù)?;旌戏抡嫫脚_主界面如圖10所示。
圖10 平臺主界面圖
菜單欄、工具欄是主要仿真功能的實現(xiàn),后四者主要功能是展示仿真流程和結果。工具欄是任務欄的圖形化表示,所以通過菜單欄功能來介紹仿真平臺效果。
工程管理實現(xiàn)仿真文件的新建、導入、配置和刪除等操作,以及仿真工作組的導入、保存和刪除等功能,能夠將之前存儲的文件,工作組讀取,重新進行仿真配置,進行仿真工作,獲取仿真數(shù)據(jù)。
仿真配置實現(xiàn)子模塊的編輯校驗、仿真子模塊的導入和模塊間數(shù)據(jù)導向關系的引入,并在此基礎上完成添加數(shù)據(jù)類型的拓撲排序和模塊間的數(shù)據(jù)轉換。
仿真實現(xiàn)整體仿真流程的控制,包括啟動、暫停、繼續(xù)和終止,其操作會在消息通知窗口顯示。
查看與結果是查看錯誤位置、類型等信息,單個仿真文件結果展示,仿真工作組仿真結果顯示。
綜上所述,仿真平臺首先能夠快速地對數(shù)模混合電路完成仿真流程的搭建、修改和功能仿真,其次能夠對已經(jīng)仿真過的工程組進行快速重新讀取,然后可以對仿真進程進行觀測和有效控制,最后可以對仿真整體,包括仿真流程和數(shù)據(jù)盡心有效存儲和處理。
本文針對數(shù)?;旌戏抡婢扰c性能之間的矛盾問題和復雜混合電路時仿真工具存在主流芯片和電路模塊不足問題,提出了一種粘合模式的數(shù)?;旌戏抡嫫脚_模型架構,基于該架構選擇PSpice和ModelSim在Simulink上實現(xiàn)聯(lián)合仿真,并在此基礎上設計了一個數(shù)?;旌戏抡孳浖脚_對該模型結構進行驗證。本文設計并實現(xiàn)的數(shù)?;旌戏抡嫫脚_針對工業(yè)級復雜電路能夠實現(xiàn)流程化、模塊化、行為級的混合仿真,仿真速度和精確性均有較為良好的效果。數(shù)模混合電路仿真平臺以Simulink以系統(tǒng)級仿真作為頂層,通過協(xié)同仿真技術調用具有主流芯片和電路模型支持的業(yè)界標準仿真軟件PSpice和ModelSim作為底層的仿真引擎,實現(xiàn)數(shù)據(jù)交互,通過添加電路模塊拓撲排序和數(shù)據(jù)轉換的方法控制數(shù)據(jù)流流向,實現(xiàn)快速,高效的數(shù)模混合仿真。
優(yōu)點:通過黏合模式設計思想和協(xié)同仿真技術,將PSpice軟件的高精度與ModelSim的高性能有效的結合起來,使得基于Simulink的數(shù)?;旌戏抡婕夹g有良好的性能和精確性。
同樣存在不足之處,電路拆分功能過于依賴專家能力,降低了本平臺的自動化程度,后續(xù)需要做出改進,故障仿真功能還未完善,后續(xù)需要添加。