AD仿真功能描述文檔
今天看了下Altium Designer的電路仿真功能,發(fā)現(xiàn)它還是蠻強(qiáng)大的,按著help里面的文檔《TU0106 Defining & running Circuit Simulation analyses.PDF》跑了一下,覺得還行,所以就把這個(gè)文檔翻譯下。。。。。
其中包含了仿真功能的介紹,元件仿真模型的添加與修改,仿真環(huán)境的設(shè)置,等等。本人對(duì)SPICE仿真了解的不多,里面涉及到SPICE的文件如果有什么錯(cuò)誤,歡迎提出!
一、電路仿真功能介紹Altium
Designer的混合電路信號(hào)仿真工具,在電路原理圖設(shè)計(jì)階段實(shí)現(xiàn)對(duì)數(shù)模混合信號(hào)電路的功能設(shè)計(jì)仿真,配合簡單易用的參數(shù)配置窗口,完成基于時(shí)序、離散度、信噪比等多種數(shù)據(jù)的分析。Altium Designer 可以在原理圖中提供完善的混合信號(hào)電路仿真功能 ,除了對(duì)XSPICE 標(biāo)準(zhǔn)的支持之外,還支持對(duì)Pspice模型和電路的仿真。
Altium Designer中的電路仿真是真正的混合模式仿真器,可以用于對(duì)模擬和數(shù)字器件的電路分析。仿真器采用由喬治亞技術(shù)研究所(GTRI)開發(fā)的增強(qiáng)版事件驅(qū)動(dòng)型XSPICE仿真模型,該模型是基于伯克里SPICE3代碼,并于且SPICE3f5完全兼容。?
SPICE3f5模擬器件模型:包括電阻、電容、電感、電壓/電流源、傳輸線和開關(guān)。五類主要的通用半導(dǎo)體器件模型,如diodes、BJTs、JFETs、MESFETs和MOSFETs。
XSPICE模擬器件模型是針對(duì)一些可能會(huì)影響到仿真效率的冗長的無需開發(fā)局部電路,而設(shè)計(jì)的復(fù)雜的、非線性器件特性模型代碼。包括特殊功能函數(shù),諸如增益、磁滯效應(yīng)、限電壓及限電流、s域傳輸函數(shù)精確度等。局部電路模型是指更復(fù)雜的器件,如用局部電路語法描述的操作運(yùn)放、時(shí)鐘、晶體等。每個(gè)局部電路都下在*.ckt文件中,并在模型名稱的前面加上大寫的X。
數(shù)字器件模型是用數(shù)字SimCode語言編寫的,這是一種由事件驅(qū)動(dòng)型XSPICE模型擴(kuò)展而來專門用于仿真數(shù)字器件的特殊的描述語言,是一種類C語言,實(shí)現(xiàn)對(duì)數(shù)字器件的行為及特征的描述,參數(shù)可以包括傳輸時(shí)延、負(fù)載特征等信息;行為可以通過真值表、數(shù)學(xué)函數(shù)和條件控制參數(shù)等。它來源于標(biāo)準(zhǔn)的XSPICE代碼模型。在SimCode中,仿真文件采用ASCII碼字符并且保存成.TXT后綴的文件,編譯后生成*.scb模型文件??梢詫⒍鄠€(gè)數(shù)字器件模型寫在同一個(gè)文件中。
Altium Designer 可實(shí)現(xiàn)如下功能:
1、仿真電路建立及與仿真模型的連接
AD 中由于采用了集成庫技術(shù),原理圖符號(hào)中即包含了對(duì)應(yīng)的仿真模型,因此原理圖即可直接用來作為仿真電路,而99SE中的仿真電路則需要另行建立并單獨(dú)加載各元器件的仿真模型。
2、外部仿真模型的加入
AD中提供了大量的仿真模型,但在實(shí)際電路設(shè)計(jì)中仍然需要補(bǔ)充、完善仿真模型集。一方面,用戶可編輯系統(tǒng)自帶的仿真模型文件來滿足仿真需求,另一方面, 用戶可以直接將外部標(biāo)準(zhǔn)的仿真模型倒入系統(tǒng)中成為集成庫的一部分后即可直接在原理圖中進(jìn)行電路仿真。?
3、仿真功能及參數(shù)設(shè)置?
Altium Designer的仿真器可以完成各種形式的信號(hào)分析,在仿真器的分析設(shè)置對(duì)話框中,通過全局設(shè)置頁面,允許用戶指定仿真的范圍和自動(dòng)顯示仿真的信號(hào)。每一項(xiàng)分析類型可以在獨(dú)立的設(shè)置頁面內(nèi)完成。Altium Designer中允許的分析類型包括:?
1)? ?? ???直流工作點(diǎn)分析?
2)? ?? ???瞬態(tài)分析和傅立葉分析?
3)? ?? ???交流小信號(hào)分析?
4)? ?? ???阻抗特性分析?
5)? ?? ???噪聲分析?
6)? ?? ???Pole-Zero(臨界點(diǎn))分析?
7)? ?? ???傳遞函數(shù)分析?
8)? ?? ???蒙特卡羅分析?
9)? ?? ???參數(shù)掃描?
10)? ? 溫度掃描等
二、操作步驟2.1、使用Altium
Designer仿真的基本步驟如下:1)? ?? ???裝載與電路仿真相關(guān)的元件庫
2)? ?? ???在電路上放置仿真元器件(該元件必須帶有仿真模型)?
3)? ?? ???繪制仿真電路圖,方法與繪制原理圖一致
4)? ?? ???在仿真電路圖中添加仿真電源和激勵(lì)源
5)? ?? ???設(shè)置仿真節(jié)點(diǎn)及電路的初始狀態(tài)
6)? ?? ???對(duì)仿真電路原理圖進(jìn)行ERC檢查,以糾正錯(cuò)誤
7)? ?? ???設(shè)置仿真分析的參數(shù)
8)? ?? ???運(yùn)行電路仿真得到仿真結(jié)果
9)? ?? ???修改仿真參數(shù)或更換元器件,重復(fù)5~8的步驟,直至獲得滿意結(jié)果。
2.2、具體實(shí)現(xiàn)電路仿真的整個(gè)過程2.2.1、創(chuàng)建工程1)
在工具欄選擇?File ? New ? Project ? PCB Project?,創(chuàng)建一個(gè)PCB工程并保存。
2) 在工具欄選擇File
? New ? Schematic,創(chuàng)建一個(gè)原理圖文件并保存。
2.2.2、原理圖展示測試電路如圖
1:
圖1
2.2.3、編輯原理圖1、放置有仿真模型的元件根據(jù)上面的電路,我們需要用到元器件“LF411CN”,點(diǎn)擊左邊“Library”標(biāo)簽,使用search功能查找LF411CN。找到LF411CN之后,點(diǎn)擊“Place
LF411CN”,放置元件,若提示元件庫未安裝,需要安裝,則點(diǎn)擊“yes”,如圖
2:
圖2
在仿真元件之前,我們可以按“TAB”鍵打開元件屬性對(duì)話框,在“Designator”處填入U(xiǎn)1;接著查看LF411CN的仿真模型:在左下角Models列表選中Simulation,再點(diǎn)擊“Edit”,可查看模型的一些信息,如圖
3。
圖3
從上圖可以看出,仿真模型的路徑設(shè)置正確且?guī)斐晒Π惭b。點(diǎn)擊“Model
File”標(biāo)簽,可查看模型文件(若找不到模型文件,這里會(huì)有錯(cuò)誤信息提示),如圖 4。
圖4
點(diǎn)擊“Netlist
Template”標(biāo)簽,可以查看網(wǎng)表模板,如圖 5。
圖5
至此,可以放置此元件。
2、為元件添加SIM Model文件用于電路仿真的Spice模型(.ckt和.mdl文件)位于Library文件夾的集成庫中,我們使用時(shí)要注意這些文件的后綴。模型名稱是模型連接到SIM模型文件的重要因素,所以要確保模型名稱設(shè)置正確。查找Altium
集成庫中的模型文件步驟如下:點(diǎn)擊Library面板的Search按鈕,在提示框中填入:HasModel('SIM','*',False)進(jìn)行搜索;若想更具體些可填入:HasModel('SIM','*LF411*',False)。
若我們不想讓元件使用集成庫中提供的仿真模型,而想用別的模型代替,我們最好將別的模型文件復(fù)制到我們的目標(biāo)文件夾中。
如果我們想要用的仿真模型在別的集成庫中,我們可以:
1)? ?? ? 點(diǎn)擊File
? Open,打開包含仿真模型的庫文件(.intlib)。
2)? ?? ???在輸出文件夾(打開集成庫時(shí)生成的文件夾)中找到仿真文件,將其復(fù)制到我們自己的工程文件夾中,之后我們可以進(jìn)行一些修改。
復(fù)制好模型文件,再為元器件添加仿真模型。為了操作方便,我們直接到安裝目錄下的“Examples/CircuitSimulation/Filter”文件夾中,復(fù)制模型文件“LF411C.ckt”到自己的工程文件夾中,接下來的步驟:
1)? ?? ???在Project面板中,右擊工程,選擇“Add
Existing to Project”,將模型文件添加到本工程中。
2)? ?? ???雙擊元件U1,打開元件屬性對(duì)話框,在Model列表中選擇Simulation,點(diǎn)擊Remove按鈕,刪除原來的仿真模型。
3)? ?? ???點(diǎn)擊Model列表下方的Add下拉按鈕,選擇“Simulation”
4)? ?? ???在Model Sub-Kind中選擇“Spice
Subcircuit”,使得Spice的前綴為“X”
5)? ?? ???在Model Name中輸入“LF411C”,此時(shí)AD會(huì)搜索所有的庫,來查詢是否有與這名稱匹配的模型文件。如果AD找到一個(gè)匹配的文件,則立即停止尋找。對(duì)于不是集成庫中的模型文件,AD會(huì)對(duì)添加到工程的文件進(jìn)行搜索,然后再對(duì)搜索路徑(Project
? Project Options)中的文件進(jìn)行搜索。如果找不到匹配的文件,則有錯(cuò)誤信息提示。
6)? ?? ???最后的步驟是檢查管教映射是否正確,確保原理圖中元件管腳與模型文件中管腳定義相匹配。點(diǎn)擊“Port
Map”,如圖 6:
圖6
修改管腳映射,在Model
Pin列表下拉選擇合適的引腳,使其和原先的SIM模型(LF411_NSC)相同。我們可以點(diǎn)擊Netlist
Template?標(biāo)簽,注意到其模型順序?yàn)?,2,3,4,5;如圖
7:
圖7
這些和Model
File標(biāo)簽中的.SUBCKT頭相對(duì)應(yīng),如圖
8:
圖8
因此,在“Port
Map”標(biāo)簽中的“Model
Pin”列表中,我們可以看到1(1),
2(2), 3(3), 4(4), 5(5),被列舉出來,其中第一個(gè)數(shù)字就是模型管腳(就是Netlist Template中的%1,%2等),而subcircuit的頭則對(duì)應(yīng)著小括號(hào)里面的數(shù)字。在Spice
netlist中,我們需要注意其中節(jié)點(diǎn)的連接順序,這些必須和.SUBCKT頭中的節(jié)點(diǎn)順序相匹配。
Netlist 頭描述了每個(gè)管腳的功能,根據(jù)這些信息我們可以將其連接到原理圖管腳,如:1(1)是同相輸入,故需連接到原理圖管腳3。
原先的管腳映射和修改的管腳映射如圖 9:
圖9
之后點(diǎn)擊“OK”,完成自定義仿真模型的添加。
3、放置有仿真模型的電阻電容放置電阻前,我們可以按“TAB”鍵,打開元件屬性窗口,設(shè)置電阻值;在Model列表中,選中“Simulation”,點(diǎn)擊“Edit”,查看仿真模型屬性。一般系統(tǒng)默認(rèn)設(shè)置就是正確的,如果沒修改過,應(yīng)該有如圖
10屬性:
圖10
同理,放置電容的情況也一樣,先設(shè)置電容值,再查看仿真模型屬性,如圖 11:
圖11
4、放置電壓源
1)? ?? ???首先放置VDD電源。使用“Library”面板的search功能,檢索關(guān)鍵字“VSRC”;查找到“VSRC”之后,雙擊元件,若提示集成庫未安裝則安裝,其集成庫為“Simulation
Sources.IntLib”。
2)? ?? ???在放置元件前,按“TAB”鍵,打開元件屬性對(duì)話框,再編輯其仿真模型屬性,先確保其“Model Kind”為“Voltage Source”,“Model Sub-Kind”為“DC
Source”。
3)? ?? ???點(diǎn)擊“Parameters”標(biāo)簽,設(shè)置電壓值,輸入“5V”,并使能“Component Parameter”,之后點(diǎn)擊OK,完成設(shè)置。如圖
12:
圖12
4)? ?? ???同理放置VSS,并設(shè)置其電壓值為“-5V”
5)? ?? ? 最后添加正弦信號(hào)輸入:同樣是Simulation Sources.IntLib中的VSRC,打開其仿真模型屬性對(duì)話框,設(shè)置“Model Kind?”為“?Voltage
Source?”,而 “Model Sub-Kind”設(shè)置為“Sinusoidal”。
6)? ?? ? 點(diǎn)擊“Parameters”標(biāo)簽,設(shè)置電壓值,可按如圖 13設(shè)置:
圖13
之后點(diǎn)擊OK,設(shè)置完成,放置信號(hào)源。
5、放置電源端口。1)?
?? ???點(diǎn)擊“Place ? Power Port”,在放置前按“TAB”鍵,設(shè)置端口屬性。
2)? ?? ???其中對(duì)于標(biāo)簽VDD和VSS,其端口屬性為“BAR”。
3)? ?? ???對(duì)于標(biāo)簽GND,其端口屬性為“Power
Ground”。
4)? ?? ???對(duì)于標(biāo)簽OUT(網(wǎng)絡(luò)),其端口屬性為“Circle”
6、連線,編譯根據(jù)上面的原理圖連接好電路,并在相應(yīng)的地方放置網(wǎng)絡(luò)標(biāo)簽,之后編譯此原理圖。
2.2.4、仿真設(shè)置點(diǎn)擊“Design
? Simulate ? Mix Sim”,或是點(diǎn)擊工具欄中(可通過“View
? Toolbars ? Mixed Sim”調(diào)出)的圖標(biāo),進(jìn)入設(shè)置窗口。如圖
14:
圖14
按照?qǐng)D中顯示設(shè)置好“Collect
Data For”,“Sheets
to Netlist”和“SimView
Setup”等三個(gè)區(qū)域,并且我們可以看到有一系列的信號(hào)在“Available
Signal”中,這些都是AD計(jì)算出來并可以進(jìn)行仿真的信號(hào)。如果我們想要觀察某個(gè)信號(hào),只需將其導(dǎo)入(雙擊此信號(hào))到右邊的“Active
Signal”中;同理,若想刪除“Active
Signal”中的信號(hào),也可以通過雙擊信號(hào)實(shí)現(xiàn)。
1、傳輸函數(shù)分析(包括傅立葉變換)設(shè)置傳輸函數(shù)分析會(huì)生成一個(gè)文件,此文件能顯示波形圖,計(jì)算時(shí)間變化的瞬態(tài)輸出(如電壓,電流)。直流偏置分析優(yōu)先于瞬態(tài)分析,此分析能夠計(jì)算出電路的直流偏置電壓;如果“Use
Initial Conditions”選項(xiàng)被使能,直流偏置分析則會(huì)根據(jù)具體的原理圖計(jì)算偏置電壓。
首先應(yīng)該使能“Transient
Analysis”;然后取消“Use
Transient Defaults”選項(xiàng),為了觀察到50Khz信號(hào)的三個(gè)完整波形,我們將停止時(shí)間設(shè)置為60u;并將時(shí)間增長步長設(shè)置為100n,最大增長步長為200n。最終設(shè)置如圖
15:
圖15
2、交流小信號(hào)分析設(shè)置交流小信號(hào)分析的輸出文件顯示了電路的頻率響應(yīng),即以頻率為變量計(jì)算交流小信號(hào)的輸出值(這些輸出值一般是電壓增益)。
1)? ?? ???首先我們的原理圖必須有設(shè)置好參數(shù)的交流信號(hào)源(上面的步驟已經(jīng)設(shè)置好)
2)? ?? ???使能“AC
Small Signal Analysis”選項(xiàng)
3)? ?? ???然后根據(jù)圖 16輸入?yún)?shù):
圖16
(注:如上圖,開始頻率點(diǎn)一般不設(shè)置為0,上圖100m表示0.1HZ,結(jié)束頻率點(diǎn)1meg表示1MHZ;“Sweep
Type”設(shè)置為“Decade”表示每100測試點(diǎn)以10為底數(shù)增長,總共有701個(gè)測試點(diǎn)。)
至此,交流小信號(hào)分析設(shè)置完成。AD進(jìn)行此電路仿真分析時(shí),先計(jì)算電路的直流偏置電壓,然后以變化的正弦輸入代替原有的信號(hào)源,計(jì)算此時(shí)的電路的輸出,輸入信號(hào)的變化是根據(jù)“Test
Points”和“Sweep
Type”這兩個(gè)選項(xiàng)進(jìn)行的。
3、電路仿真與分析設(shè)置完成之后,就可以進(jìn)行電路仿真——點(diǎn)擊“”圖標(biāo)。在仿真過程中,AD會(huì)將一些警告和錯(cuò)誤信息顯示在“Message”面板,如有致命錯(cuò)誤可根據(jù)面板提示信息修改原理圖;如果工程無錯(cuò)誤,此過程還會(huì)生成一個(gè)SPICE
Netlist(.nxs)文件,且此文件在每次進(jìn)行仿真時(shí)都會(huì)重新生成。仿真分析結(jié)束會(huì)生成打開一個(gè)(.sdf)文件,里面顯示了電路的各種仿真結(jié)果(注:直流偏置最先執(zhí)行),如圖 17:
圖17
1)? ?? ???創(chuàng)建波特圖
波特圖包括了增益和相位信息,我們可以根據(jù)交流小信號(hào)分析結(jié)果得到電路的波特圖。首先右擊上半部分坐標(biāo)圖的“in”信號(hào),選擇“Edit
Wave”,打開編輯波形對(duì)話框,然后選擇左邊的“Magnitude
(dB)”,再點(diǎn)擊“Creat”按鈕。如圖
18:
圖18
同理,對(duì)輸出增益,在上半部分的坐標(biāo)圖中右擊,選擇“Add
Wave to Plot”,在彈出的對(duì)話框中“Waveforms”列表選擇“out”信號(hào),并在右邊的“Complex
Functions”列表選擇“Magnitude
(dB)”,然后點(diǎn)擊“Creat”按鈕,得到輸入輸出的增益圖。
之后重復(fù)上述步驟添加相位圖,注意在“Complex
Functions”列表選擇“Phase
(Deg)”,最后結(jié)果如圖 19:
圖19
(我們可以在同個(gè)坐標(biāo)圖上顯示不同的Y軸,使不同的曲線對(duì)應(yīng)不同的Y坐標(biāo)——只需在編輯或添加波形文件時(shí),選中“Add
to new Y axis”即可;若刪除坐標(biāo)軸,相應(yīng)的曲線也會(huì)刪除,且在這模式下沒有Undo 功能,故誤刪的話需重新導(dǎo)入曲線。)
2)? ?? ???使用光標(biāo)工具分析
點(diǎn)擊“DB(out)”曲線,右擊選擇“Cursor
A?”,再右擊選擇“Cursor
B”,打開兩個(gè)測量光標(biāo),將光標(biāo)按圖 20放置:
圖20
再點(diǎn)擊“Sim Data”標(biāo)簽,可以看到此時(shí)B-A?=
-3,且光標(biāo)B的頻率為“20kHz”,如圖 21:
圖21
故3dB點(diǎn)的頻率為20kHz。
2.2.5、參數(shù)掃描設(shè)置參數(shù)掃描功能使得我們能夠讓特定的元件在一個(gè)范圍內(nèi)變化;當(dāng)然相應(yīng)的交流、直流或瞬態(tài)分析也要使能,才能觀察相應(yīng)的特性曲線或數(shù)據(jù)。具體步驟如下:
1)? ?? ???首先點(diǎn)擊圖標(biāo),打開設(shè)置窗口,使能“Parameter
Sweep”
2)? ?? ???接著選擇首要掃描參數(shù)元件C2,更改參數(shù);再使能第二參數(shù)掃描功能,選擇C1,更改參數(shù);參數(shù)設(shè)置如圖
22:
圖22
設(shè)置好之后,點(diǎn)擊Ok,進(jìn)行電路仿真。仿真后的一些結(jié)果如圖
23,圖 24與圖 25:
圖23
圖24
圖25
點(diǎn)擊相應(yīng)的曲線,相應(yīng)的元件(電容)參數(shù)會(huì)在左下角顯示。
2.2.6、高級(jí)設(shè)置“Advanced
Options”設(shè)置頁面包含一系列的內(nèi)部SPICE選項(xiàng),這些選項(xiàng)會(huì)影響仿真計(jì)算速度,像錯(cuò)誤容量和重復(fù)限制等。如圖 26
圖26
一般按著系統(tǒng)默認(rèn)的設(shè)置就可以進(jìn)行仿真,若想修改參數(shù)只需在相應(yīng)的條目修改Value值即可。設(shè)置“Integration
method”從Trapezoidal?到?Gear,則計(jì)算時(shí)間變長,但仿真效果更好,若選擇更高的Gear值,效果更好,時(shí)間更長。
2.2.7、使用SPICE Netlist進(jìn)行仿真上文提到軟件仿真時(shí)會(huì)生成SPICE
Netlist(.nsx)文件,我們也可以根據(jù)這個(gè)文件進(jìn)行電路仿真分析。我們也可以通過點(diǎn)擊圖標(biāo)生成此文件,然后通過此文件進(jìn)行仿真。設(shè)置更改時(shí)點(diǎn)擊Simulate
? Setup,進(jìn)行仿真:Simulate
? Run。