PSpice Advanced Analysis 2009 Nordcad Systems A/S Rev. 1.02
Indhold 2
Agenda Introduktion Hvad er PSpice Advanced Analysis Measurements Modeller i Advanced Analysis Sensitivitets analyse Kredsløbsoptimering Monte Carlo analyse Sandsynligheds fordelinger Smoke analyse Parametrisk analyse 3
Web referencer Cadence PSpice information http://www.cadence.com/orcad/ Nordcad http://www.nordcad.dk/dk/teknik service/ Hotline support: 96 31 56 99 support@nordcad.dk 24-7 online hjælp http://sourcelink.cadence.com/ Tilmeld dig via support@nordcad.dk e-service er tekniske nyheder, tips og tricks Oversigt på http://www.nordcad.dk/dk/teknik service/e-service/ Tilmeld dig via support@nordcad.dk 4
Målsætning Formålet med kurset er at du: Får overblik over elementerne i PSpice Advanced Analysis Får mulighed for at bruge det på eksempler Får svar på spørgsmål om Advanced Analysis Efter kurset kan bruge PSpice AA i dit daglige arbejde Deltag aktivt! 5
Hvad er PSpice Advanced Analysis? Add-on til PSpice A/D 5 elementer: Sensitivity Identifikation af kritiske komponenter i kredsløbet Optimizer Kredsløbs-optimering ud fra performance specifikationer Monte Carlo Analyse af kredsløbets opførsel overfor tolerancer Smoke Identifikation komponenters elektriske og termiske belastning Parametric Plot Parameter-variation i flere niveauer 6
Hvad kræver Advanced Analysis? Et kredsløb, der er testet og fungerer i PSpice En eller flere simuleringsprofiler Sensitivity, Optimizer og MonteCarlo: DC / AC / TRANS Smoke: TRANS Et antal Measurements, til at evaluere kredsløbets egenskaber Komponenter med AA egenskaber Tolerancer, størrelse / type (gauss, flat etc.) Smoke parametre (max spænding, strøm, effekt, temperatur etc.) (Parametricerede komponenter fra...\tools\capture\library\pspice\advanls) 7
Legacy support Fra version 16.0 er der mulighed for at kører Advanced Analysis på standard diagrammer. Dvs. designs hvor man ikke på forhånd har taget højde for anvendelsen af PSpice AA. Det er naturligvis stadig en forudsætning af der er toletancer på komponenterne for at kører Sensitivity eller Monte Carlo. Opsætningen af Legacy support sker fra den grundlæggende PSpice analyse. 8
AA vs. standard komponenter Standard model AA model Standard komponenterne R, C og L indeholder en række properties til brug med PSpice AA. 9
AA vs. standard komponenter Standard model AA model Samme med AA model bilioteker findes altid en fil, *.prp, som indeholder information ud over det der ligger i *.lib filen. 10
Introduktion til dagens kredsløb Tegnes med komponenter fra AA biblioteker...\tools\capture\library\pspice\advanls Brug filter i Place Parts til at vælge komponenter Se efter det lyseblå P Afprøves i PSpice A/D i frekvens og tidsdomænet C1 Measurements til at måle egenskaber Filterets centerfrekvens Filterets forstærkning VOFF = 0V VAMPL = 1V FREQ = 1kHz AC = 1V V1 R3 30.6k R2 806 10nF C2 10nF R1 316k GAIN = -10k OUT Filterets Q 0 0 11
Measurements Measurements består af: søgning efter punkter på kurver (search...) markering af de fundne punkter (!1) beregning af en værdi udfra de fundne punkter (expression) Eksempel, find centerfrekvensen af et båndpasfilter CenterFreq (1) = X1 { 1 search forward max!1; } 12
Oprettelse af measurements Styres fra Measurements vinduet - Trace, Measurements New for at oprette measurement Eval for at teste measurement 13
OPGAVE 1 - Diagrammet Tegn diagrammet (Detaljeret beskrivelse i opgavesættet) Husk komponenter fra:...\tools\capture\library\pspice\advanls Opret simuleringsprofiler og test dem Opret measurements til at finde ønskede karakteristika 14
Sensitivity analyse Beregner measurements s afhængighed af komponentværdier Relativt: pr. procent komponentværdien varierer, eks.: Hz/% Absolut: pr. enheds ændring, eks.: Hz/Farad Resultater vises på lineær eller logaritmisk skala 15
Sensitivity, tolerancer Tolerancer for R, C og L angives fælles, brug VARIABLES komponenten fra special.olb pr. komponent, POSTOL, NEGTOL, eller bare TOLERANCE DIST, navn på fordeling, f. eks FLAT, GAUSS0.4 (ligger i navngivne filer) 16
Sensitivity, tolerancer Tolerancer for aktive komponenter sættes i Model Editor Højreklik på komponenten, vælg Edit PSpice Model Detaljer om tolerancer følger under MonteCarlo analyse 17
Sensitivity, udførelse Kredsløbet simuleres og kontrolleres i PSpice Measurements kan importeres enkeltvis, eller flere af gangen ved at holde Shift/Ctrl nede. I Advanced Analysis importeres measurements Herefter startes Sensitivity analysen 18
Sensitivity, udførelse Der køres følgende analyser: En med nominelle parameter-værdier For hver hver parameter med tolerancer For hvert measurement køres en Worstcase MAX og en MIN Et kredsløb med 5 parametre og 3 measurements En nominel 5 kørsler for parametre 3 x 2 kørsler for WorstCase I alt 12 gennemløb Detaljerede komponentværdier og resultater kan ses i View, Log File, Sensitivity Alle data gemmes i simuleringsprofil.sens.dat, som kan ses i Probe 19
Sensitivity, resultater 20
Sensitivity, resultater Sensitivity beregnes lineariseret for hver komponent Beregnes som standard ved 0.4 x tolerancen, uanset fordelingen Kan ændres fra Edit, Profile Settings Resultaterne vises som en bar-graf Vælg mellem measurements, se resultaterne WorstCase står ud for hvert measurement Grafen kan ændres med højreklik lineær eller logaritmisk absolut eller relativ Data kan sorteres ved at klikke i søjlehovedet Komponenter kan lokaliseres i Capture vælg komponent i Sensitivity, højreklik, og vælg Find in Design 21
OPGAVE 2 - Sensitivity Placér en VARIABLES komponent på diagrammet og angiv globale tolerancer Start Sensitivity analysen Undersøg resultaterne i Sensitivity vinduet Åbn *.sens.dat filen i probe 22
Optimizer Forudsætninger: Optimizeren justerer komponenters værdier, så specificerede ønsker til værdierne for de opstillede measurements overholdes. Et kredsløb der er testet i PSpice simulatoren En eller flere simulerings profiler Information om hvilke parametre, der må justeres i kredsløbet Et antal measurements, der karakteriserer kredsløbet Krav til de endelige værdier for disse measurements Vægtning af disse krav Evt. tabeller over mulige komponentværdier (E12 række etc.) 23
Standard Optimizer, opsætning Under Sensitivity fandt vi de farlige komponenter Overfør dem til Optimizeren I sensitivity: udvælg komponenterne, højreklik, Send to Optimizer I Capture: Pspice, Advanced Analysis, Export parameters to optimizer I Optimizeren: Import parameter from the design property map Vælg max og min værdier for komponenter Importer measurements Opsæt ønsker til resultater af measurements goals tilstræbes opfyldt når constraints er overholdt Vælg optimeringsmetode Start Optimizeren 24
Optimizer, Algoritmer (Engines) LSQ minimerer kvadratsummen af fejlene Hvert bidrag vægtes efter eget valg Bruger sensitivity data til at gætte næste simulering Modified LSQ I PSpice Advanced Analysis User s Guide kan man finde detaljeret information omkring de enkelt optimerings algoritmer under afsnittet Optimization Engines. Generelt hurtigere end LSQ, detaljer i manualen Random Rent gætværk, men hurtig til at skyde sig ind med Discrete Bruger komponent tabeller fra...\tools\pspice\library\discretetables Bruges normalt efter en optimering med LSQ / Modified LSQ res1% START 10.0e-1 10.2e-1 10.5e-1 10.7e-1 11.0e-1... END 25
Optimizer, Parameters On/Off Skal komponenten tages med i optimeringen? (Brug Original værdi) Lås Lås komponenten til værdien i Current feltet Min/Max Angiver hvilket område komponentens værdi skal ligge inden for Standard er 1 dekade over og under Original værdien Højreklik Komponent-værdien resettes ved at markere værdien i Current søjlen og trykke Delete. Find in Design 26
Optimizer, Specifications Standard Min/Max angiver det ønskede område for measurement værdien Weight angiver hvor vigtigt det er at ramme målet for det pågældende measurement (jo højere tal, jo vigtigere) Curve Fit Tolerance angiver hvor tæt man ønsker at komme på referencekurven Se deltaljer for opsætning på efterfølgende sider 27
Optimizer, Resultater Error Graph Opdateres løbende under optimeringen Se detaljer for hvert enkelt run (kørsel) Mulighed for at overfører disse til næste run 28
Optimizer, Resultater For hvert measurement % Error Se kurverne i Probe 29
OPGAVE 3 - Optimizer Fra sensitivity fanebladet sendes alle komponenter til optimizeren I Optimizeren låses de komponenter vi ikke ønsker at ændre på De ønskede measurements importeres Krav til measurements angives Der vælges en optimerings algoritme og processen startes 30
Curve Fit Optimizer, opsætning Når de ønskede komponenter er overført til optimizeren vælge Curve Fit fanebladet Først vælges en simuleringsprofil og den kurve der skal optimeres Derefter vælges referencefilen og hviken kurve herfra der skal fittes til Tolerance og vægtning vælges Optimizeren startes Man kan vælge at følge med i processen i probe-vinduet 31
OPGAVE 4 - Optimizer, Curvefit Vælg Curve Fit fanebladet Tilføj en kurve fra en af simuleringsprofilerne Kurven skal svarer til den kurve vi gemte i foregående opgave Udpeg referencefilen Slet alle værdier i Current søjlen Start optimizeren og følg med i Probe-vinduet. 32
Betragtninger om Optimering Giv aldrig optimizeren for mange frihedsgrader Lås komponent værdier, og arbejd i små skridt Giv realistiske Min/Max for komponentværdier Giv kvalificerede gæt som udgangspunkt Measurements skal være monotone og kontinuerte overfor parametre Lokale minima / maxima vildleder optimizeren Kredsløb med hysterese (i tidsdomænet) kan ikke optimeres Der skal være mindst et goal med vægt 1 ved LSQ Giv aldrig modstridende mål V(out) > 3 og V(out) < 2 33
Monte Carlo Monte Carlo forudsiger kredskøbets opførsel, statistisk, når komponent parametre varieres indenfor de beskrevne tolerancer Monte Carlo skal bruge: Et kredsløb, der er testet i PSpice simulatoren En eller flere simulerings profiler Et antal measurements, der karakteriserer kredsløbet Krav til measurements Opsætning, der beskriver Hvor mange kørsler der ønskes Hvor mange bins der skal sorteres i 34
Monte Carlo, opsætning Tolerancer på komponenter i Capture Opsætning er beskrevet under Sensitivity Kredsløbet simuleres og kontrolleres i PSpice Fra Capture startes Monte Carlo PSpice, Advanced Analysis, Monte Carlo I Advanced Analysis importeres measurements Under Edit, Profile Setting vælges Antal kørsler Antal bins Monte Carlo analysen startes 35
Monte Carlo, resultater Resultater vises grafisk Som PDF (Propability Density Function) Eller CDF (Cumulative Density Function) Y-akse kan være antal eller procent Højreklik og vælg... Resultater vises på tabelform Cursorværdier indtastes Cursor flytter sig i grafisk display Raw Measurements viser alle kørsler Kan kopieres til andre programmer, f.eks regneark 36
OPGAVE 5 - Monte Carlo Åbn Monte Carlo Importer measurements Kør Analysen Angiv værdier for Cursor Min og Cursor Max for at se Yield 37
Specifikation af tolerancer Tolerancer for R, C og L angives fælles, brug VARIABLES komponenten fra special.olb pr. komponent, POSTOL, NEGTOL, eller bare TOLERANCE DIST, navn på fordeling, f. eks FLAT, GAUSS0.4 (ligger i navngivne filer) 38
Tolerancer, fordelinger Fordelingsfunktionerne ligger i tekstfiler FLAT er eneste undtagelse Filerne ligger i...\tools\pspice\library\distribution Første søjle er sandsynlighed (Y), anden søjle er afvigelse (X) Fordelingerne er kumulative funktioner Monotont voksende Starter i (-1,0) Slutter i (1,1) Fordelinger skaleres med POSTOL og NEGTOL # linjer med # er kommentarer 0-1 5.07E-06-0.980000019 1.23E-05-0.959999979...... 0.999911133 0.959999979 0.999918345 0.980000019 1 1 39
Tolerancer, eksempler Cadence Application Note om AA tolerance fordelinger I MakeDist.prb findes gauss macro dels som PDF, dels som CDF [MACROS] GaussDens(n)=exp(-1*pwr(V*n,2)) GaussDist(n)=s(GaussDens(n)) VIGTIGT Regneark skal bruge. som decimalpunkt Følg noten slavisk, så virker det 40
OPGAVE 6 og 7 - Brugerdefineret fordeling Opret den ønskede fordeling med MakeDist hjælpe-filerne Kopier fordelingen til regneark og ret den til Gem fordelingen i tekst-fil og placer under:...\tools\pspice\library\distribution Kør en Monte Carlo analyse med den nye fordeling 41
Smoke Analysis Smoke forudsiger komponenternes stress, som spændinger, strømme, effekt og temperatur, udfra opstillede Smokeparametre og deratings Smoke analysen skal bruge: Et kredsløb, der er testet i PSpice simulatoren En simulerings profil i tidsdomænet Komponenter med Smoke information Giver Maximum Operating Conditions (MOC) Evt. User Deratings Giver Safe Operating Limits (SOL) SOL = MOC x Derating 42
Smoke parametre Smokeparametre på R, C, L angives i Capture Fælles: brug en VARIABLES komponent Pr. komponent, editer properties For andre komponent-typer angives smokeparametre via Model Editor 43
Smoke parametre Specifikationer for R og C Smoke parametre er beskrevet i detaljer i manualen 44
Smoke parametre Smoke parametre for aktive komponenter sættes i model editoren Højreklik på komponenten, vælg Edit PSpice Model Model editoren kan tilføje smoke parametre på bestående modeller Eksempel: Transistor Eksempel: OpAmp (AA model) 45
Smoke, udførelse Kredsløbet simuleres og kontrolleres i tidsdomænet i PSpice Fra Capture startes Smoke: PSpice, Advanced Analysis, Smoke I Smoke kan vælges mellem de tilgængelige simulerings profiler Giver mulighed for at skifte signaler Husk at Stimuli kan være profil specifikke! I Profile Setting kan vælges Derating Enten Cadence standard Eller egne beskrivelser (i en file) 46
Smoke, resultater Efter analysen kan man ved højreklik: Finde komponenter i designet Vælge derating Se detaljeret parameter beskrivelse Undersøge Peak, RMS eller Average værdier Sorter efter komponenter eller parameter type Tolkning af farver: RØD: SOL overskredet (megen røg) GUL: mellem 90% og 100% af SOL GRØN: under 90% af SOL GRÅ: Ingen data tilgængelige, eller anvendes typisk ikke 47
Angivelse af køleplade Kan angives ved at specificere RCA Thermal Resistance Case-to-Ambient (degc/w) PSpice Advanced Analysis Users Guide Smoke, For Power Users Her er alle Smoke parametre forklaret 48
OPGAVE 8 - Smoke Tilføj schematic implementering for forstærker blokken Undersøg de anvendte komponenter for Smoke information Kør en tidsanalyse (Transient) Start Smoke analysen 49
Parametric Plot 50
Parametric Plot - Sweep Parameters Tilføj sweep Import Parameter Maks. 1000 runs i alt Rediger eksisterende Rediger placering 51
Parametric Plot - Measurements Create new Measurement Trace Send to Sensitivity, Optimizer, Monte Carlo 52
Parametric Plot - Resultater Measurements Min/Max Results Lås, til sortering Dobbeltklik på trace for at se det i Probe 53
Parametric Plot - Resultater Plot Information Højreklik Add/Modify plot Display plot 54
Parametric Plot - Resultater Plot opsætning Følg Wizard 1. Vælg profil 2. Vælg parameter til x-akse 3. Vælg variabel til y-akse, typisk et measurement 4. Vælg parameter til variation 5. Vælg fast værdi for resterende parametre: Højreklik, Lock 55
Eksisterende designs Sæt tolerancer på RLC parts (Sensitivitet & Monte Carlo) Sæt smoke parametre på RLC parts (Smoke) Model editoren kan tilføje smoke til bestående modeller Udskift aktive komponenter, eller vælg Enable PSpice AA Support for Legacy i simuleringsprofilen TIP: Se endvidere Preparing your design for Advanced Analysis i Advanced Analysis Users Guide. 56
Evaluering - PSpice AA Navn : Email: Tilmelding til e-service: Ja tak 1 2 3 4 5 Opbygning af kursus Uddannelsesmateriale Øvelses indhold og relevans Instruktørens formidling af stoffet Underviserens evne til at anvende praktiske eksempler Jeg anser på grundlag af ovennævnte udtalelser uddannelsen for at være Andet - venligst skriv Meget dårlig Meget dårlig Meget dårlig Meget dårlig Meget dårlig Meget dårlig Meget god Meget god Meget god Meget god Meget god Meget god 57
Appendix - Regneudtryk i PSpice ABS(x) ACOS(x ARCTAN(x) ASIN(x) ATAN(x) ATAN2(y,x) COS(x) COSH(x) DDT(x) EXP(x) IF(t, x, y) IMG(x) LIMIT(x,min,max) LOG(x) LOG10(x) M(x) MAX(x,y) MIN(x,y) P(x) PWR(x,y) PWRS(x,y) R(x) SDT(x) SGN(x) SIN(x) SINH(x) STP(x) SQRT(x) TAN(x) TANH(x)... se i reference manualen (pspcref.pdf) under: Before you begin, Overview, Numeric expression conventions TABLE (x,x 1,y 1,x 2,y 2,...x n,y n ) 58
Appendix - Operatorer i PSpice + addition (or string concatenation) - subtraction * multiplication / division ** exponentiation... se i reference manualen under: Before you begin, Overview, Numeric expression conventions ~ unary NOT boolean OR ^ boolean XOR & boolean AND == equality test!= non-equality test > greater than test >= greater than or equal to test < less than test <= less than or equal to test 59
Appendix - Value Multipliers Symbol Scale Name F 10-15 femto- P 10-12 pico- N 10-9 nano- U 10-6 micro- MIL 25.4*10-6 M 10-3 milli- K 10 +3 kilo- MEG 10 +6 mega- G 10 +9 giga- T 10 +12 tera- C Clock Cycle PSpice is not case-sensitive. M is treated the same as m Use MEG or meg or Meg for mega- 60
Appendix - Help! Hjælp I pspice-probe vælg: Help, AMS simulator/pspice help Eller tryk F1. Help, Documentation Åbner Cadence Help med links til forskellige dokumenter (lokalt). De fleste af disse kan også med fordel åbnes som pdf fra en stifinder. 61
Appendix - Cadence Help Startes fra Help menuen Help, eller Documentation Vælg View, Show Library for at åbne hele databasen Vil man åbne manualerne som pdf skal man først angive hvilken applikation man ønsker at anvende til dette Edit, Settings: 62
Appendix - Magnetic Parts Editor Startes fra - Alle Programmer, OrCAD 16.0, PSpice Accessories, Magnetic Parts Editor Anvendes til oprettelse af produktions datablad og simulerings model for trafo eller DC Spole. Magnetic Parts Editor er et tillægsværktøj som følger med PSpice indstallationen og kører på en almindelig PSpice licens. 63