Sunteți pe pagina 1din 26

Analize Statistice

Monte Carlo
Worst-Case / Sensitivity

Analiza tip Monte Carlo

Analiza Monte Carlo este cel mai bun mod de analiza a unui circuit din punct de vedere statistic, de a vedea cum se comporta acel circuit la variatii ale valorilor componentelor. Analiza Monte Carlo determina, statistic, comportarea circuitului cand valorile componentelor sunt modificate in domeniul lor de toleranta. Aceasta analiza calculeaza de asemenea productivitatea, care poate fi folosita in analize statistice referitoare la productia de serie.

Pentru a implementa aceasta analiza urmatorii pasi trebuie parcursi:


Se editeaza functiile .MODEL pentru aceste componente astfel incat sa reprezinte variatiile asteptate ale componentelor. Configurarea parametrilor sub-analizei Monte Carlo in fereastra de dialog Monte Carlo/Worst Case. Rularea analizei Folosirea optiunii Performance Analysis, din meniul Trace, in fereastra Probe, pentru a vedea cum este afectat circuitul de catre variatiile componentelor.

.MC (analiza Monte Carlo) Scop Comanda .MC initiaza o analiza (statistica) a circuitului si obliga PSpice sa ruleze analize multiple de tipul selectat (CC, CA sau tranzitorie). Sintaxa .MC <#runs value> <analysis> <output variable> <function> [option]* + [SEED=value] Exemple .MC 10 TRAN V(5) YMAX .MC 50 DC IC(Q7) YMAX LIST .MC 20 AC VP(13,5) YMAX LIST OUTPUT ALL .MC 10 TRAN V([OUT1],[OUT2]) YMAX SEED=9321

Argumente si optiuni <#runs value> Numarul total de rulari (pentru rezultate tiparite limita superioara este 2,000, iar pentru rezultate afisate in Probe, limita este 400). <analysis> Specifica cel putin un tip de analiza: .DC (analiza CC), .AC (analiza CA), or .TRAN (analiza regim tranzitoriu). Aceasta analiza este repetata in rularile ulterioare. Toate analizele continute in circuit sunt realizate in prima rulare (rulare cu valori nominale). Doar analizele selectate sunt efectuate in rularile ulterioare. <output variable> Identica la format cu o variabila de iesire de tip .PRINT (listare). <function> c

<function> si toate optiunile [option]s (cu exceptia variabilei de iesire <output type>) nu au efecti pentru datele ce sunt salvate din simulare de catre Probe. Ele se aplica doar fisierului de iesire (Output File) Prima rulare foloseste valori nominale pentru toate componentele. Rularile ulterioare folosesc variatii ale parametrilor modelelor de simulare, variatii specificate de catre tolerantele DEV si LOT ale fiecarui model de simulare .MODEL.

Analiza Monte Carlo este foarte folositoare cand proiectantii vor o imagine aproape reala a ce se va intampla cu respectivul proiect in conditiile productiei de serie, de exemplu, cand toata gama de componente folosite in linia de asamblare are toleranta. Pentru a exemplifica se va folosi un circuit RC serie. Se doreste sa se analizeze variatia raspunsului treapta-unitate al circuitului.

10

11

12

13V

10V

5V

0V 0s 20us 40us V(OUT) 60us 80us 100us Time 120us 140us 160us 180us 200us

13

14

15

Se selecteaza R1 si se editeaza modelul EditPSpice Model Se redenumeste Rbreak cu RMonte1 prin dublu-clic pe Rbreak si se tasteaza noul nume RMonte1. Se efectueaza alte modificari in linia .MODEL astfel incat sa reflecte cele scrise mai jos:
.model RMonte1 RES R=1 DEV=2% LOT=10%

R=1 este un factor de multiplicare cu baza de 1 k. DEV=2% indica o toleranta a individului de 2% si LOT=10% indica o toleranta de 10% intre diferite loturi de componente.

16

Se selecteaza C1 si se editeaza modelul EditPSpice Model Se redenumeste Cbreak cu CMonte1 prin dublu-clic pe Cbreak si se tasteaza noul nume CMonte1. Se efectueaza alte modificari in linia .MODEL astfel incat sa reflecte cele scrise mai jos:

.model CMonte1 CAP C=1 DEV=10% LOT=10%


C=1 este un factor de multiplicare cu baza de 1nF. DEV=2% indica o toleranta a individului de 2% si LOT=10% indica o toleranta de 10% intre diferite loturi de componente. Selecteaza Monte Carlo/Worst Case din zona Options in fereastra de dialog Simulation Settings.
17

Numarul de rulari este 10 pentru a mentine timpul de simulare relativ scazut. Dimensiunea fisierului de iesire creste liniar cu numarul de rulari. Variabila de iesire V(Vout) este aleasa astfel incat sa corespunda cu numele nodului din circuit. Nota: Analiza Monte Carlo a fost de asemenea selectata.

18

Mai exista o optiune ce poate fi folosita impreuna cu analiza Monte Carlo, Analiza de Performanta. In cele ce urmeaza vom vedea cum se efectueaza aceasta. Clic TracePerformance Analysis Se poate opta pentru folosirea utilitarului Wizard pentru a defini ce se doreste sa se analizeze. Se va folosi aceasta optiune. Clic Next Se selelecteaza Risetime si clic Next Clic pe simbolul Name of Trace to Search. Aici selecteaza V(Vout) and clic OK Clic Next Clic Next din nou; in acest punct Wizard ar trebui sa se inchida. Acum ar trebui observata o histograma care arata distributia celor 10 timpi de urcare pentru circuit.
19

20

40 P c t 20 SEL>> 0 2.0u

2.1u

2.2u

2.3u

2.4u 2.5u Risetime(V(out)) = 1.41705e-007 = 2.19729e-006 = 2.34352e-006

2.6u

2.7u

2.8u

2.9u

n samples = 10 n divisions = 10 mean = 2.55127e-006

sigma minimum 10th %ile

median 90th %ile maximum

= 2.55944e-006 = 2.69487e-006 = 2.72779e-006

10V

5V

0V 0s 5us V(OUT) 10us Time 15us 20us

21

Sensitivity identifica care parametrii ai componentelor sunt critici pentru functionarea circuitului. Aceasta analiza determina in ce masura fiecare componenta afecteaza functionarea circuitului (actiune singulara sau impreuna cu alte componente). De asemenea modifica toate valorile pentru a simula cel mai defavorabil caz.

Se foloseste aceasta analiza pentru a determina componentele sensibile, apoi se exporta componentele utilitarului Optimizer pentru a calibra comportarea circuitului.
De asemenea se foloseste Sensitivity pentru a determina ce componente afecteaza productia cel mai tare, apoi se reduc tolerantele componentelor sensibile si se maresc la cele mai putin sensibile. Cu aceasta analiza se poate face o analiza a productiei si a costurilor de productie.
22

.WCASE (sensitivity/worst-case analysis) Scop directiva .WCASE cauzeaza inceperea unei analize de senzitivitate si cel mai defavorabil caz asupra circuitului Sintaxa .WCASE <analysis> <output variable> <function> [option]* Exemple .WCASE TRAN V(5) YMAX .WCASE DC IC(Q7) YMAX VARY DEV .WCASE AC VP(13,5) YMAX DEVICES RQ OUTPUT ALL .WCASE TRAN V([OUT1],[OUT2]) YMAX RANGE(.4u,.6u) + LIST OUTPUT ALL VARY DEV HI

23

24

Argumente si optiuni <analysis> Doar unul din tipurile CA, CC sau TRAN pot fi folosite pentru analiza. Aceasta analiza este repetata in pasi consecutivi ai analizei pentru cel mai defavorabil caz. Toate analizele cerute sunt efectuate in prima rulare (rulare cu valori nominale). Doar analiza selectata este efectuata in rularile ulterioare. <output variable> Identica la format cu o variabila de iesire de tip .PRINT (listare).
<function> Specifica operatiile ce trebuie efectuate pe valorile variabilei de iesire pentru a le reduce la o singura valoare. Aceasta valoare este baza pentru comparatiile dintre rularile nominale si cele ulterioare. Functia trebuie sa fie una din urmatoarele:
25

Rulari multiple ale analizei selectate (CC, CA sau TRAN) sunt efectuate in timp ce se variaza parametrii componentelor. Spre deoasebire de .MC (Analiza Monte Carlo), .WCASE variaza doar un parametru intr-o rulare. Aceasta permite PSpice sa calculeze senzitivitatea semnalului de iesire pentru fiecare parametru. Dupa ce se cunosc toate senzitivitatile, simularea este rulata inca o data variind toti parametrii pentru a determina cazul cel mai defavorabil. Analizele de senzitivitate si cel mai defavorabil caz sunt rulate folosind variatii ale parametrilor modelelor (specificate de campurile DEV si LOT din fiecare model de simulate .MODEL) . Alte specificatii ale comenzii .WCASE controleaza rezultatele generate de catre analiza. Se pot rula fie .MC, fie .WCASE pentru un circuit, dar nu simultan.
26

S-ar putea să vă placă și