Universitatea Tehnică din Cluj Napoca Facultatea de Electronică şi Telecomunicaţii Catedra de Bazele Electronicii TEZĂ DE DOCTORAT MATEMATICĂ NUANŢATĂ ÎN ANALIZA ŞI PROIECTAREA UNOR CIRCUITE ELECTRONICE Conducator ştiinţific Prof.dr.ing. COSTIN MIRON Autor Ing. GABRIEL OLTEAN CLUJ NAPOCA, 2002
Scopul tezei: Mijloace implicate: De a contribui la dezvoltarea instrumentelor de analiză şi proiectare automată a circuitelor analogice prin valorificarea avantajelor oferite de logica fuzzy. Se vor elabora noi metode fuzzy şi se vor dezvolta unele metode fuzzy existente pentru analiza şi proiectarea asistată de calculator a acestor circuite. Mijloace implicate: analiza şi proiectarea circuitelor analogice (manual, simulare Spice); logică fuzzy (mulţimi, sisteme, clasificare, modelare fuzzy); matematică (metode de optimizare); programare (Matlab).
Structura tezei Introducere 1. Analiza circuitelor analogice 2. Proiectarea asistată de calculator a circuitelor analogice 3. Formularea problemei de optimizare 4. Determinarea valorilor inţiale ale parametrilor 5. Evaluarea performanţelor circuitului 6. Strategia de optimizare 7. Implementări ale algoritmilor de optimizare. Rezultate 8. Contribuţii personale şi concluzii
Introducere Tendinţă crescândă înspre cipuri mixte analog-digitale Aproximativ 70% din CI vor conţine componente analogice în 2006 faţă de numai 25% în 2001 [Mar01] Sisteme pe un cip: SoC Există funcţii tipice analogice m e o r i p c s a logică A Fig.1. Sistem pe un cip interacţiunea sistem electronic- domeniul continuu de valori din lumea reală interfaţarea între circuitele analogice şi cele digitale realizarea de referinţe stabile Importanta domeniului abordat; vezi textul din introducere cu functiile/circuitele care se folosesc.
Proiectarea părţii analogice artă INTRODUCERE Proiectarea părţii analogice artă foarte bune cunoştinţe, mai multe faze, iterativă, cantitate mare de timp relaţii complexe parametri - funcţii de circuit cerinţe de proiectare adeseori conflictuale nu există o reprezentare formală funcţie – structură circuit specificul semnalelor analogice – continuu în spaţiu şi timp Construirea circuitelor analogice mari implică o anumită cantitate de magie neagră [Mar01] Tendinţă actuală: celulele (blocurile) analogice: - elemente IP - reutilizabile (design reuse)
Logica fuzzy în analiza şi proiectarea asistată: INTRODUCERE În cercetarea academică şi industrială dezvoltarea unor instrumente pentru analiza şi proiectarea asistată de calculator a circuitelor analogice. Noi idei şi metode în domeniul automatizării analizei şi proiectării circuitelor analogice Tehnici de inteligenţă artificială logica fuzzy au furnizat rezultate excelente în domeniul rezervat în mod tradiţional numai experţilor Logica fuzzy în analiza şi proiectarea asistată: - sfârşitul anilor 1980 începutul anilor 1990
Capitolul 1. “Analiza circuitelor analogice” Simularea numerică calculează numeric răspunsul circuitului la stimulii de intrare simulatoare generale (Spice) sau dedicate (ORCA) [Gie00] precizie foarte bună timp mare de simulare (calcule complicate, profile de simulare) Simularea simbolică furnizează expresii analitice pentru funcţiile de circuit o bună înţelegere asupra funcţiilor de circuit expresii lungi aplicabilă doar pentru circuite liniare (liniarizate) ORCA radiofrecventa, SWITCAP – capacitati comutate
Cerinţe pentru modele folosite în analiză: Capitolul 1. “Analiza circuitelor analogice” Cerinţe pentru modele folosite în analiză: eficiente ca volum şi complexitate a calculelor precise nivel ierahic superior de modelare: la nivel de funcţii de circuit nu la nivel de componente Modele fuzzy: aproximatori universali capacitate de interpolare operaţii matematice simple pot fi construite automat pe baza unui set de date numerice Modelele fuzzy pot aproxima orice functie neliniara complexa de ma i multe variabile cu precizie ridicata
Capitolul 1. “Analiza circuitelor analogice” - Logica fuzzy părintele logicii fuzzy Lotfi A. Zadeh, 1965 fuzzy: vag, neclar, imprecis, scamos, pufos importanţa relativă a preciziei: “Pe măsură ce creşte complexitatea, formulările precise pierd din înţeles şi formulările pline de înţeles pierd din precizie” Lotfi A. Zadeh în urma publicării articolului său “Mulţimi fuzzy” în revista “Information and Control” în anul “Mulţimi fuzzy” în revista “Information and Control” nu există adevăr absolut, trebuie să învăţăm să lucrăm cu grade de adevăr
Capitolul 1. “Analiza circuitelor analogice” - Logica fuzzy Mulţimi fuzzy
Inferenţă max-min (Mamdani) Inferenţă max-produs (Larsen) Raţionament fuzzy Capitolul 1. “Analiza circuitelor analogice” - Logica fuzzy premisă x este A μ implicaţie concluzie DACĂ x este A ATUNCI y este B 1 A* y este B x este A* x* x μ μ μ 1 A 1 B 1 B DACĂ x este A ATUNCI y este B x y y μ μ μ 1 1 1 y este B* B* B* B* y y y Inferenţă max-min (Mamdani) Inferenţă max-produs (Larsen) Inferenţă Takagi-Sugeno Fig. 1.2-3. Inferenţa compoziţională
Capitolul 1. “Analiza circuitelor analogice” - Logica fuzzy Sisteme fuzzy
Clasificarea substractivă [FLT 98] Clasificare fuzzy Capitolul 1. “Analiza circuitelor analogice” - Logica fuzzy fuzzy C-Means clasificare substractivă Clasificarea substractivă [FLT 98] Determină numărul de clase şi centrele claselor Rază ce specifică domeniul de influenţă al centrului clasei în fiecare dimensiune a datelor Calculează probabilitatea ca fiecare punct să definească un centru pe baza densităţii punctelor înconjurătoare Selectează punctul cu cea mai mare probabilitate ca fiind un centru de clasă Înlătură toate punctele din vecinătatea centrului determinat an Reia procesul până când toate datele se află în raza de influenţă a unui centru de clasă. de ce clasificarea substractiva este fuzzy ?
Capitolul 1. “Analiza circuitelor analogice” - Logica fuzzy Modelare fuzzy Model fuzzy: sistem fuzzy (Tagaki-Sugeno) bazat pe reţea adaptivă (Jang 1993) ANFIS - Adaptive-Network-based Fuzzy Inference System Instruire supervizată (propagare inversă ) pe baza setului de instruire (perechi de date intrare - ieşire) setul de instruire să fie cât mai complet pentru a conţine toate caracteristicile funcţiei de modelat set de verificare pentru a preveni suprapotrivirea modelului cu setul de instruire menţinerea capacităţii de interpolare Aproximarea funcţiei pe baza unui set finit de perechi de date intrare-ieşire) . Principalul scop este de a “învăţa” o aplicaţie funcţională necunoscută între vectorii de intrare şi ieşire folosind un set de eşantioane cunoscute pentru antrenare. O dată generată aplicaţia, ea poate fi folosită pentru a prezice valoarea ieşirii pentru orice nou vector de intrare [Pom 00].
Capitolul 1. “Analiza circuitelor analogice” Terminologie Parametrii circuitului– mărimile ce determină performanţele circuitului (W/L, C, Ib, R, etc.) Funcţii de circuit – mărimi specifice circuitului: Avo, GBW, SR, CMRR, etc., exprimate în raport de parametrii circuitului; Notă: noţiunea de funcţie de circuit nu se referă la funcţii pe care le realizează circuitul ci la funcţii matematice, ce exprimă dependenţa unor mărimi specifice circuitului în raport cu parametrii. Performanţele circuitului – valorile funcţiilor de circuit calculate pentru valori specificate ale parametrilor; Cerinţe de proiectare – valorile funcţiilor de circuit impuse prin specificaţiile de proiectare;
Modelarea fuzzy a funcţiilor de circuit Capitolul 1. “Analiza circuitelor analogice” Modelarea fuzzy a funcţiilor de circuit Start Ecuaţii analitice Simulare SPICE 1) Stabilirea domeniilor de valori ale parametrilor 2) Determinarea setului de parametri Tehnica LHS 3) Determinarea setului de instruire Simulare SPICE 4) Generarea sistemului fuzzy T - S iniţial Clasificare substractivă 5) Instruirea sistemului fuzzy T - S ANFIS NU 6) Modelul este potrivit? DA Modelul fuzzy Stop
Amplificator operaţional simplu SOTA Capitolul 1. “Analiza circuitelor analogice” Amplificator operaţional simplu SOTA Parametri: Vdd 2.5V Q3 Q4 1:1 vO 4 5 CL 5pF Funcţiile de circuit: Q1 Q2 + - vI2 vI1 IB movele SPICE EKV 0.25um IB 3 Q5 1:1 Q6 PM Vss -2.5V
Construirea modelelor fuzzy Capitolul 1. “Analiza circuitelor analogice” Construirea modelelor fuzzy seturi de date: - 450 instruire + 50 verificare - 700 instruire + 150 verificare număr de reguli: 3, 6 şi 10 Evoluţia RMSE in timpul instruirii modelului fuzzy Avo movele SPICE EKV 0.25um
Structura modelului fuzzy Avo Capitolul 1. “Analiza circuitelor analogice” Structura modelului fuzzy Avo movele SPICE EKV 0.25um
Comparaţie model fuzzy – date de verificare SOTA Capitolul 1. “Analiza circuitelor analogice” Comparaţie model fuzzy – date de verificare SOTA verificare movele SPICE EKV 0.25um
Modelul fuzzy pentru Avo SOTA Capitolul 1. “Analiza circuitelor analogice” Modelul fuzzy pentru Avo SOTA [A] [m]
Modelul fuzzy pentru CMRR SOTA Capitolul 1. “Analiza circuitelor analogice” Modelul fuzzy pentru CMRR SOTA [A] [m]
EPM ale modelelor fuzzy pentru SOTA Capitolul 1. “Analiza circuitelor analogice” EPM ale modelelor fuzzy pentru SOTA Funcţia de circuit EPM [%] instruire verificare Avo 1,375 1,278 GBW 2,645 1,921 PM 0,049 0,0398 CMRR 3,04 4.67 Timp de calcul pentru evaluarea performanţelor Timp de calcul Simulare SPICE Model fuzzy 820 – 855 [ms] 20 -30 [ms] strict partea de simulare, .AC 0,1Hz – 100 MHz, 600 puncte/dec, Duron 950 MHz, 256 Mo RAM de 30 mai mic pentru modele fuzzy decât simulare fuzzy
Amplificator operational cu compensare Miller MOTA Parametrii: Funcţiile de circuit: modele SPICE Level 4 1.2 um double metal CMOS N_well, Design Center 6.0 PM SR
Comparaţie model fuzzy – date de verificare MOTA Capitolul 1. “Analiza circuitelor analogice” Comparaţie model fuzzy – date de verificare MOTA movele SPICE EKV 0.25um
Modelul fuzzy pentru GBW MOTA Capitolul 1. “Analiza circuitelor analogice” Modelul fuzzy pentru GBW MOTA
Modelul fuzzy pentru SR MOTA Capitolul 1. “Analiza circuitelor analogice” Modelul fuzzy pentru SR MOTA
Capitolul 2. “Proiectarea asistată de calculator a circuitelor analogice” Faza de proiectare a celulelor analogice în fluxul de proiectare al circuitelor integrate complexe analogice sau mixte analog-digitale Abordări folosite în proiectarea celulelor analogice: abordarea bazată pe cunoştinţe şi abordarea bazată pe optimizare Algoritmul de optimizare cu etapele acestuia Folosirea elementelor de logică fuzzy în toate etapele algoritmului
Proiectare arhitecturală Implementare (layout) Implementare (layout) Cap 2. “Proiectarea asistată de calculator a circuitelor analogice” Proiectare sistem Simulare Verificare Conceptul sistemului Proces direct Proiectare arhitecturală Simulare Verificare Abstract Proiectare celule Simulare Verificare Implementare (layout) celule Simulare Verificare Urmărire inversă (Backtraking) şi reproiectare Implementare (layout) sistem Simulare Verificare Fabricare Testare Concret Circuit integrat Fluxul de proiectare al CI complexe
Fluxurile de analiză şi proiectare Capitolul 2. “Proiectarea asistată de calculator a circuitelor analogice” Fluxurile de analiză şi proiectare Spaţiul parametrilor Proiectare Spaţiul performanţelor Analiză Scopul proiectării: de a determina o cauză (valorile parametrilor) care produce un efect arbritar specificat (cerinţe de proiectare) problemă inversă număr diferit de cerinţe şi parametri în general mai multe soluţii
Abordări în proiectarea analogică Optimizare parametrii Capitolul 2. “Proiectarea asistată de calculator a circuitelor analogice” Abordări în proiectarea analogică cerinţe cerinţe Optimizare parametrii Evaluare performanţe Execuţie plan de proiectare planuri de proiectare Cerinţe satisfăcute? parametrii NU bazate pe cunoştinţe bazate pe optimizare DA ecuaţii de proiectare specifice fiecărei topologii resurse foarte mari pentru generarea completă a planurilor de proiectare parametrii analiză – evaluare performanţe algoritmi de optimizare
Algoritmul de optimizare Capitolul 2. “Proiectarea asistată de calculator a circuitelor analogice” Algoritmul de optimizare
Capitolul 3. “Formularea problemei de optimizare” optimizare: găsirea valorilor parametrilor de proiectare astfel încât performanţele circuitului să îndeplinească cât mai îndeaproape cerinţele de proiectare. formularea generală a problemei de optimizare: Găseşte x care: minimizează supus la optimizare cu un singur obiectiv
Capitolul 3. “Formularea problemei de optimizare” proiectarea circuitelor: optimizare multiobiectiv neliniară multivariabilă minimizează f1 (x), f2(x), …, fv(x) x = (x1, x2, …, xn) fi exprimă o eroare in realizarea cerinţelor cerinţele concurente nu există o soluţie unică optime locale Pareto (soluţii neinferioare): imbunătăţirea unei funcţii obiectiv degradarea alteia optim global Pareto rezolvare: transformare intr-o problemă de optimizare cu un singur obiectiv (nu este optimizare multiobiectiv reală)
Capitolul 3. “Formularea problemei de optimizare” Formularea fuzzy a problemei de optimizare funcţiile obiectiv se definesc prin mulţimi fuzzy: grade de indeplinire a cerinţelor realizarea uşoară a compromisurilor intre cerinţe formulare naturală a cerinţelor funcţie obiectiv continuă se cunoaşte domeniul de valori [0, 1] fuzzy fuzzy 1 1 clasic clasic soluţii multiple; optim global: cea mai buna soluţie ai ci bi pi ai ci bi pi egal - egal fuzzy mai mic - mai mic fuzzy
Capitolul 3. “Formularea problemei de optimizare” autorul a propus functii de apartenenă ce exprimă nerealizarea cerinţelor Nci: soluţii multiple; optim global: cea mai buna soluţie
Capitolul 3. “Formularea problemei de optimizare” soluţii multiple; optim global: cea mai buna soluţie Găseşte x care minimizează
Capitolul 3. “Formularea problemei de optimizare” Exemplificare pentru amplificatorul SOTA: 4 funcţii obiectiv 4 parametri 8 constrângeri
Cap. 4. “Determinarea valorilor inţiale ale parametrilor” optimizarea este iterativă importanţa soluţiei iniţiale fără o soluţie iniţială bună convergenţă forte lentă soluţie finală slabă chiar dacă există o soluţie (mult mai bună metode existente de obţinere a soluţiei iniţiale: utilizator relaţii analitice de proiectare generare aleatoare metode propuse de obţinere a soluţiei iniţiale: cu sistem fuzzy performanţe - parametri selectare după grade de potrivire fuzzy tehnica LHS
Sistem fuzzy pentru determinarea soluţiei iniţiale Cap. 4. “Determinarea valorilor inţiale ale parametrilor” Sistem fuzzy pentru determinarea soluţiei iniţiale construirea modelului: set de date parametrii – performanţe (simulare Spice) clasificare substractivă pentru aflarea coordonatelor centrelor claselor sistemul fuzzy: - fiecare clasă reprezintă o regulă fuzzy - defuzzificare ‘media maximelor’ asemanator relaţiilor analitice de proiectare
rezultate amplificator MOTA: Cap. 4. “Determinarea valorilor inţiale ale parametrilor” rezultate amplificator MOTA: 11 reguli 21 reguli funcţii de circuit cerinţe perfor manţe eroare [%] Avo 432000 377452 12.62 520764 20.5 GBW [KHz] 1250 421 66.32 1147 8.24 PM [o] 60 64.54 7.57 60.31 0.52 SR [V/µs] 1.5 0.35 76.67 1.1 26.67 40.79 13.98 daca nu există in tabel se alege cel care se potriveşte cel mai bine daca cerinţele coincid cu coordonatele unui centru de clasă eroare 0.24% -0.5 % tabel de căutare cu cea mai bună potrivire cerinţe de egalitate
rezultate amplificator MOTA: Cap. 4. “Determinarea valorilor inţiale ale parametrilor” rezultate amplificator MOTA: soluţii multiple; optim global: cea mai buna soluţie rezultat din [Far95] – eroarea medie 21.03 % cu relaţii analitice
Selectarea soluliilor iniţiale după gradul de potrivire Cap. 4. “Determinarea valorilor inţiale ale parametrilor” Selectarea soluliilor iniţiale după gradul de potrivire selectarea soluţiilor candidate iniţiale dintr-o populaţie iniţială mult mai mare criteriul de selecţie - gradul de potrivire GP al performanţelor iniţiale cu cerinţele de proiectare asemanator relaţiilor analitice de proiectare
grad de nerealizare mediu grad de nerealizare maxim Cap. 4. “Determinarea valorilor inţiale ale parametrilor” rezultate amplificator MOTA 50 soluţii candidate: Avo ≥ 500 000; GBW ≥ 1 500 KHz; PM ≥ 600 ; SR ≥ 1,5 V/μs grad potrivire soluţie candidată performanţe initiale parametrii iniţiali Avo GBW [KHz] PM [0] SR [V/μs] Ib [μA] (W/L)1 (W/L)6 Cc [pF] 0.88425 10 397773.81 1733.13 52.39 1.85 2.86 5.03 298.44 0.99 0.73561 20 45602.56 1717.25 54.91 3.99 4.34 0.61 88.57 0.39 0.68477 30 409707.31 2706.91 20.66 1.90 1.91 6.63 128.18 0.35 0.25000 40 191863.76 380.15 79.43 0.30 2.58 8.40 31.27 8.14 0.20393 50 254672.79 639.02 50.67 0.80 1.24 1.82 451.94 0.79 0.07559 60 284723.99 712.92 40.90 0.53 0.50 0.70 104.07 0.31 soluţie candidată performanţe finale grad de nerealizare mediu grad de nerealizare maxim Avo GBW [KHz] PM [0] SR [V/μs] 10 500253 1494.9 59.86 1.5 0.092 ∙ 10-3 0.25 ∙ 10-3 20 74878 1800 60.4 4.7 0.25 1 30 500009 1501 59.73 1.494 0.194 ∙ 10-3 0.44 ∙ 10-3 40 500258 1495.2 59.79 0.08 ∙ 10-3 0.22 ∙ 10-3 50 499968 59.72 0.205 ∙ 10-3 0.46 ∙ 10-3 60 509340 1450 56 1.27 0.155 0.499 soluţii multiple; optim global: cea mai buna soluţie
Interpretare fc > c GP1 >GP2 F2 mai buna decât F1 Cap. 4. “Determinarea valorilor inţiale ale parametrilor” Interpretare fc fc > c GP1 >GP2 F2 mai buna decât F1 c F2 I1 F1 p1 I2 p2 x x01 x02 Fig. 4.4.-1. Funcţia de circuit fc cu parametrul de proiectare x asemanator relaţiilor analitice de proiectare
Modele ale funcţiilor de circuit Cap. 5. “Evaluarea performanţelor circuitului” metode bazate pe simulare numerică (utilizează semnale) Model al circuitului Semnale de intrare Semnale de ieşie Performanţe Calcule matematice Parametrii circuitului metode bazate pe modele ale funcţiilor de circuit (utilizează parametrii) - modele fuzzy Modele ale funcţiilor de circuit Parametrii Performanţe Semnale de intrare
Cap. 6. “Strategia de optimizare” determină noile valori ale parametrilor in fiecare iteraţie să conveargă spre soluţia optimă (globală) într-un număr cât mai mic de iteraţii să permită rezolvarea problemei specifice proiectării circuitelor - neliniară - multiobiectiv - multivariabilă - cu constrângeri problemă foarte complexă asemanator relaţiilor analitice de proiectare
categorii de metode de optimizare aplicate la circuite: Cap. 6. “Strategia de optimizare” categorii de metode de optimizare aplicate la circuite: clasice (de gradient): rapide, optim local, un singur obiectiv optimizare globală: sansă mare pentru optim global, lente optimizare convexă: probleme foarte mari, optim global, domeniu restrâns de aplicabilitate funcţii posinomiale inteligenţă artificială: optim local (proiectare bună), soluţia finală depinde de parametrii algoritmului,
Cap. 6. “Strategia de optimizare” nu sunt raportate în literatură strategii fuzzy autorul a propus sisteme fuzzy în strategia de optimizare (gradient+inteligenţă artificială) OFGG – Optimizare Fuzzy cu Gradienţi Globali calitativi OFGL – Optimizare Fuzzy cu Gradienţi Locali cantitativi OFGLM – OFGL cu căi Multiple de căutare asemanator relaţiilor analitice de proiectare
OFGG – Optimizare Fuzzy cu Gradienţi Globali calitativi Cap. 6. “Strategia de optimizare” OFGG – Optimizare Fuzzy cu Gradienţi Globali calitativi determină direcţia şi mărimea pasului pentru fiecare parametru - dependenţele globale calitative funcţii de circuit-parametru - grade de nerealizare ale cerinţelor in fiecare iteraţie q fiecare parametru x asemanator relaţiilor analitice de proiectare Sistem cu logică fuzzy Takagi-Sugeno performanţe coef Fig. 6.3.-1. Sistem cu logică fuzzy pentru calculul fiecărui coeficient
DACĂ fc1 este mică SAU fc2 este mică ATUNCI coef_x1 este pos Cap. 6. “Strategia de optimizare” Parametrii Funcţii de circuit x1 x2 fc1 fc2 mare mică mică 1 1 fc1 c1 fc2 c2 asemanator relaţiilor analitice de proiectare DACĂ fc1 este mică SAU fc2 este mică ATUNCI coef_x1 este pos DACĂ fc1 este mare ATUNCI coef_x1 este neg
x1 x2 fc1 fc2 Parametrii Funcţii de circuit fc1 Cap. 6. “Strategia de optimizare” Parametrii Funcţii de circuit x1 x2 fc1 fc2 Fig. 6.3-4. Suprafaţa de control pentru coef_x1 fc2 fc1 asemanator relaţiilor analitice de proiectare
Avo = 450 000; GBW>1 500 KHz; PM > 600 ; SR >1.5 V/μs Cap. 6. “Strategia de optimizare” Exemplificare pentru amplificatorul MOTA - OFGG Avo = 450 000; GBW>1 500 KHz; PM > 600 ; SR >1.5 V/μs coeficientul parametrului Ib DACA Avo este mică ATUNCI coef_Ib este neg DACA Avo este mare SAU GBW este mică SAU SR este mică ATUNCI coef_Ib este pos coeficientul parametrului (W/L)1 DACA Avo este mare SAU PM este mică ATUNCI coef_(W/L)1 este neg DACA Avo este mică SAU GBW este mică ATUNCI coef_(W/L)1 este pos asemanator relaţiilor analitice de proiectare
Coeficienţi Parametrii Iteratia q q+1 q+2 q+3 q+4 q+5 q+6 coef_Ib Cap. 6. “Strategia de optimizare” Coeficienţi Parametrii Iteratia q q+1 q+2 q+3 q+4 q+5 q+6 coef_Ib 0.998 0.864 -0.087 0.005 0.033 0.038 Ib[μA] 0.524 1.047 1.935 1.867 1.877 1.940 2.014 coef_(W/L)1 0.627 0.483 0.023 -0.004 -0.034 -0.056 (W/L)1 6.224 10.00 9.978 9.810 9.534 Cerinţe Performanţe Iteraţia q Iteraţia q+1 q+2 q+3 q+4 q+5 q+6 Avo=450000 989384.5 469957.35 352671.22 381337.49 404278.80 435731.57 462225.20 GBW>1500 [KHz] 309.87 785.14 1689.19 1562.16 1566.08 1588.88 1590.64 PM > 60 [0] 78.74 63.70 49.22 51.17 50.99 50.74 51.07 SR > 1.5 [V/μs] 0.09 0.44 1.42 1.28 1.32 1.35 asemanator relaţiilor analitice de proiectare
Fig. 6.3-7. Evoluţia performanţelor normalizate OFGG - MOTA Cap. 6. “Strategia de optimizare” Avon PMn GBWn SRn asemanator relaţiilor analitice de proiectare Fig. 6.3-7. Evoluţia performanţelor normalizate OFGG - MOTA
OFGL – Optimizare Fuzzy cu Gradienţi Locali cantitativi Cap. 6. “Strategia de optimizare” OFGL – Optimizare Fuzzy cu Gradienţi Locali cantitativi determină direcţia şi mărimea pasului pentru fiecare parametru - gradienţii locali ai fiecărei performanţe in raport cu fiecare parametru -importanţele relative ale parametrilor în modificarea fiecărei performanţe - grade de nerealizare ale cerinţelor coeficientul de modificare al parametrului xk : scoef(fci) – coef de modificare partiala a param dat de cerinţa i; w –importanţa relativa a perform i in calculul noii valori a param k
Calculul coeficientului parţial - OFGL Cap. 6. “Strategia de optimizare” Calculul coeficientului parţial - OFGL Sistem fuzzy Takagi – Sugeno GNC coef_part pondere GNC pondere Z Mi Me Ma FM Z - Zero Mi – Mică (Mic) Me – Medie (Mediu) Ma – Mare FM – Foarte Mare dat de o functie de circuit sistemul fuzzy acţionează ca un expert uman
Suprafaţa de control a coeficientului parţial - OFGL Cap. 6. “Strategia de optimizare” Suprafaţa de control a coeficientului parţial - OFGL
Exemplificare pentru amplificatorul MOTA - OFGL Cap. 6. “Strategia de optimizare” Exemplificare pentru amplificatorul MOTA - OFGL Coeficienţi Parametrii Iteraţia q q+1 q+2 q+3 q+4 q+5 q+6 scoef_Ib 0.9304 0.9008 0.2014 0.0439 0.0250 0.0163 Ib[μA] 0.524 0.768 1.114 1.226 1.253 1.268 1.279 scoef_Cc -0.5164 -0.5624 -0.6668 -0.7099 -0.5280 -0.2819 Cc [nF] 4.193 3.110 2.236 1.490 0.961 0.707 0.608 Cerinţe Performanţe Iteraţia q Iteraţia q+1 q+2 q+3 q+4 q+5 q+6 Avo=450000 989384.59 726473.56 505239.70 475539.61 469097.24 465451.19 463072.24 GBW>1500 KHz 309.87 456.94 596.41 825.17 1073.29 1229.45 1299.65 PM > 600 78.74 75.38 73.91 68.67 57.70 48.06 43.32 SR > 1.5 V/μs 0.09 0.20 0.43 0.67 0.89 1.01 1.07 asemanator relaţiilor analitice de proiectare
Evoluţia performanţelor normalizate optimizare OFGL Cap. 6. “Strategia de optimizare” Evoluţia performanţelor normalizate optimizare OFGL n n n n
Cap. 6. “Strategia de optimizare” OFGLM – Optimizare Fuzzy cu Gradienţi Locali cantitativi cu căi Multiple de căutare utilizeză OFGL pe mai multe căi de cautare paralelă populaţie de soluţii candidate poate determina o mulţime optimă Pareto şansă foarte mare de găsire a optimului global timp de calcul crescut – proporţional cu dimensiunea populaţiei scoef(fci) – coef de modificare partiala a param dat de cerinţa i; w –importanţa relativa a perform i in calculul noii valori a param k
Exemplificare pentru amplificatorul EC - OFGG Cap. 6. “Strategia de optimizare” Exemplificare pentru amplificatorul EC - OFGG Vcc = 15 V Ci 100 F Rl Rc vo T BC 107A vi CE 100 F RE R2 Cerinţe: Parametrii: Ri > 2,5 K Ro < 0,15 K Avo > 9,8 B > 500KHz asemanator relaţiilor analitice de proiectare R2 [10; 68] K RE [1; 10] K RC [0,1; 1,4] K
Ri > 2,5 K Ro < 0,15 K Avo > 9,8 B > 500KHz Cap. 6. “Strategia de optimizare” Ri > 2,5 K Ro < 0,15 K Avo > 9,8 B > 500KHz Soluţia candidată Performanţe GNC MGNC Ri [kW] Ro Avo B [kHz] 1° iniţial 6,48 0,136 2,91 562,4 1 0,25 final 4,15 0,198 8,09 362,6 0,732 0,242 0,594 0,392 2° 1,85 1,143 127,28 49,3 0,532 0,633 2,51 0,125 9,802 508,8 3° 4,56 0,782 28,98 92,4 0,5 3,13 0,131 7,76 516,76 0,346 0,086 4° 3,16 0,395 17,41 179,1 2,55 0,135 8,43 494,62 0,157 0,0009 0,039 5° 3,26 0,906 51,52 74,31 2,99 8,51 494,83 0,138 0,0008 0,035
Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Instrumente de proiectare asistată de calculator Conţin elemente fuzzy în mai multe etape ale algoritmului Matlab Medii grafice integrate interactive Interfeţe grafice prietenoase FMODO – Fuzzy Miller OTA Design Optimization cu strategia de optimizare OFGG FADO – FuzzyAnalog Design Optimization cu strategia de optimizare OFGLM
Fig.7.1.-3 Interfaţa grafică FMODO FMODO – Fuzzy Miller OTA Design Optimization Fig.7.1.-3 Interfaţa grafică FMODO
Optimizare MOTA cu FMODO setul 1 de cerinţe Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Optimizare MOTA cu FMODO setul 1 de cerinţe funcţii de circuit cerinţa Rezultate moment de timp rularea1 rularea2 iteraţii: 200 timp: 35,7s timp: 35,4s perfor manţe GNC mediu Avo = 450000 iniţial 526538 0,0059 0,3667 final 0.00005 583540 0,0181 0,4828 0.00085 445686 0,0002 434806 0,0024 GBW [KHz] >1500 673 0,6075 280 0,9362 1516 1477 0,0005 SR [V/s] >1,5 0,51 0,8003 0,21 0,9769 1,59 1,63 PM [ ] >60 80,03 82,13 60.88 59,07 5 .10-5
Optimizare MOTA cu FMODO setul 1 de cerinţe valorile parametrilor Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Optimizare MOTA cu FMODO setul 1 de cerinţe valorile parametrilor parametrii moment de timp rularea 1 rularea 2 Ib [A] iniţial 2,55 2,22 final 3,71 4,10 (W/L)1 8,20 7,60 10,00 (W/L)6 241,17 401,60 274,34 334,68 Cc [pF] 4,68 9,22 1,94 2,06
Optimizare MOTA cu FMODO setul 1 de cerinţe Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Optimizare MOTA cu FMODO setul 1 de cerinţe evoluţiile gradelor de nerealizare ale cerinţelor GNC GNC iteraţii iteraţii setul 1
Optimizare MOTA cu FMODO setul 1 de cerinţe Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Optimizare MOTA cu FMODO setul 1 de cerinţe funcţii de circuit cerinţa rezultate moment de timp rularea 1 rularea 2 iteraţii: 48 iteraţii: 52 timp: 6,95s timp: 7,38s perfor manţe GNC GNC mediu Avo >300000 iniţial 331815 iniţial 0,4107 final 0 283060 0,0069 iniţial 0,3608 final 0 final 300009 300076 GBW [KHz] >1000 376 0,7303 494 0,5264 1695 1702 SR [V/s] >2 0,46 0,9126 0,9099 2,0001 2,0019 PM [ ] >60 83,43 82,32 62,08
Optimizare MOTA cu FMODO setul 2 de cerinţe Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Optimizare MOTA cu FMODO setul 2 de cerinţe evoluţiile gradelor de nerealizare ale cerinţelor x 10-3 GNC GNC iteraţii iteraţii
FADO– Fuzzy Analog Design Optimization
Optimizare MOTA cu FADO setul 1 de cerinţe Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Optimizare MOTA cu FADO setul 1 de cerinţe 50 soluţii candidate, timp 405s, 250 iteraţii funcţii de circuit cerinţa moment de timp soluţia candidată 18 soluţia candidată 25 soluţia candidată 45 iteraţii: 250 perfor manţa GNC mediu Avo =450000 iniţial 387906 iniţial 0,02 final 2,2.10-5 432221 iniţial 0,50 final 4,89.10-6 303209 iniţial 0,47 final 5,7.10-5 final 449235 449850 449338 GBW [kHz] >1500 2092,7 502,2 544,6 1540,0 1503,2 1495,6 PM [ ] >60 52,87 78,90 81,23 59,66 59,93 60,45 SR [V/s] >1,5 2,30 0,54 0,58 1,59 1,51 1,49
Evoluţiile GNC pentru optimizare FADO MOTA Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Evoluţiile GNC pentru optimizare FADO MOTA (5 soluţii candidate din 50) Avo=450000, GBW>1500 KHz, PM>60o, SR>1.5 V/μs GNC GNC x 10-3 Iteraţii Iteraţii
Rezultate comparative FADO, fgolattain, FMODO la optimizarea MOTA fgoalattain – algoritm de optimizare multiobiectiv “atingerea scopului” (Goal Attainment) Optimization Toolbox din Matlab funcţii de circuit cerinţa performanţe set comparare 1 set comparare 2 FADO(25) fgoalattain FMODO FADO(18) Avo =450000 449850 450000 445686 449235 434806 GBW [kHz] >1500 1503,2 1500 1516 1540 1436 1477 PM [ ] >60 59,93 58,84 60,88 59,66 59,99 59,07 SR [V/s] >1,5 1,51 1,38 1,59 1,31 1,63 GNC mediu 4.89.10-6 0,004 5.10-5 2,2.10-5 0,01 0,00085 Iteraţia 250 12 200 18
Optimizare SOTA cu FADO 30 soluţii candidate, timp 252 s, 250 iteraţii funcţii de circuit cerinţa moment de timp soluţia candidată 9 soluţia candidată 11 soluţia candidată 18 iteraţii: 9 iteraţii: 250 perf. GNC mediu Avo >50 iniţial 44,73 iniţial 0,284 final 0,0113 46,97 iniţial 0,271 final 0,0 39,62 iniţial 0,634 final 0,0122 final 49,33 52,20 55,75 GBW [kHz] >4500 5188,7 4245,9 1693,5 4919,8 4585,2 4219,2 PM [ ] >60 91,16 91,07 91,49 90,93 90,89 90,84 CMRR >1000000 346566 612111 211336 941386 1000040 1005601
Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Evoluţiile GNC (30 de soluţii candidate) pentru optimizarea proiectării SOTA cu FADO Avo>50, GBW>4500 KHz, PM>600, CMRR>1000000 GNC GNC Iteraţii Iteraţii
Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Evoluţia GNC (cea mai bună soluţie) pentru optimizarea proiectării SOTA cu FADO Avo>50, GBW>4500 KHz, PM>600, CMRR>1000000 x 10-6 GNC GNC Iteraţii Iteraţii
Rezultate comparative FADO, fgolattain la optimizarea SOTA Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Rezultate comparative FADO, fgolattain la optimizarea SOTA funcţii de circuit cerinţa performanţe set comparare 1 set comparare 2 FADO (11) fgoalattain (9) Avo >50 52,2 51,2 49,33 50,32 GBW [kHz] >4500 4585,2 4688 4919,8 4792 PM [ ] >60 90,89 90,80 90,93 90,9 CMRR >1000000 1000040 853749 941386 935422 GNC mediu 0,067 0,0113 0,013 Iteraţia 9 250
Optimizare EC cu FADO 20 soluţii candidate, timp 117 s, 200 iteraţii Cap. 7. “Implementări ale algoritmilor de optimizare. Rezultate” Optimizare EC cu FADO 20 soluţii candidate, timp 117 s, 200 iteraţii o soluţie cu GNC = 0 după 17 iteraţii .......................... aceleaşi concluzii ca la MOTA şi SOTA
Comparare instrumente de optimizare a proiectării Phe00 Her01 Tor96b [Far95] FMODO FADO 1. Conţine logică fuzzy Nu Da: . modele fuzzy pentru evaluarea perfor manţelor. . obiective fuzzy (grade de satisfacere) Da: + . obiective fuzzy (grade de nerealizare) manţelor; . sisteme fuzzy în strategia de optimizare. Da: ++ . obiective fuzzy (grade de nerealizare); . generarea soluţiilor iniţiale după gradul de potrivire; . modele fuzzy pentru evaluarea performanţelor
Comparare instrumente de optimizare a proiectării [Phe00] [Her01] [Tor96b] [Far95] FMODO FADO 2. Optimizare multiobiectiv/ singur obiectiv singur obiectiv multi obiectiv +
Comparare instrumente de optimizare a proiectării [Phe00] [Her01] [Tor96b] [Far95] FMODO FADO 3.Soluţie optimă (globală/locală) şansă mare de a găsi optimul global, dar nu garantează găsirea acestuia (căutarea formelor statistice, stochastic pattern search) + garantează găsirea optimului global (programare geometrică în formă convexă) ++ optim local (gradient conjugat) optim local (direcţie fezabilă) optim local poate evita optime locale prin folosirea unui număr mai mare de încercări (OFGG) şansă mare de a găsi optimul global, dar nu garantează găsirea acestuia (OFGLM) +
Comparare instrumente de optimizare a proiectării [Phe00] [Her01] [Tor96b] [Far95] FMODO FADO 4. Evaluare perfor manţe .precizie foarte bună; ++ . volum mare de calcul - (simulare SPICE) . precizie bună; + . volum redus de calcul. + (modele analitice în formă posinomială ) . precizie foarte bună; ++ . volum mediu de calcul (modele fuzzy şi simulare SPICE) . precizie bună; + . volum redus de calcul + (modele analitice) . volum redus de calcul. + (modele fuzzy) . precizie bună; + . volum redus de calcul + (modele fuzzy sau modele analitice)
Comparare instrumente de optimizare a proiectării [Phe00] [Her01] [Tor96b] [Far95] FMODO FADO 5. Timp de calcul/ resurse câteva ore / reţea de 20 staţii de lucru - câteva secunde/ o staţie de lucru ++ sute de secunde/ nu e prezentat/ o staţie de lucru + + 6. Restricţii impuse Nu D - funcţiile de circuit să fie monomiale sau posinomiale Da - funcţiilor de circuit să fie monotone
Contribuţii personale 1. Am dezvoltat modele fuzzy pentru Avo, GBW, PM şi SR (MOTA) şi Avo, GBW, PM şi CMRR (SOTA); 2. Am elaborat o nouă metodă de definire a obiectivelor fuzzy şi formulare a problemei de optimizare multiobiectiv 3. Am dezvoltat şi am investigat utilitatea folosirii a două metode fuzzy la generarea soluţiilor iniţiale 4. Am elaborat două strategii de optimizare bazate pe sisteme fuzzy: - OFGG - Optimizare Fuzzy cu Gradienţi Globali calitativi; - OFGL - Optimizare Fuzzy cu Gradienţi Locali cantitativi.
Contribuţii personale 5. Am dezvoltat strategia OFGL pentru a lucra cu căi multiple de căutare, obţinând o nouă strategie de optimizare OFGLM. 6. Am integrat mai multe etape ce conţin elemente de logică fuzzy în cadrul aceluiaşi algoritm de optimizare. 7. Am implementat (cu interfeţe grafice interactive) două instrumente de proiectare asistată de calculator a circuitelor analogice: - FMODO - Fuzzy Miller OTA Design Optimization; - FADO – Fuzzy Analog Desing Optimization.
Concluzii I. Analiza circuitelor analogice Sistemele fuzzy ce modelează funcţiile de circuit: Necesită un volum de calcul redus comparativ cu utilizarea unui simulator numeric (Spice) (timp de calcul de ~ 30 ori mai mic) Se pot construi automat Precizie bună; eroare relativă medie 0,05% şi 4% la SOTA Descrierea circuitelor analogice prin modele cu grad mare de abstractizare, la nivel de funcţii de circuit este necesară în: nivelele superioare din cadrul proiectării ierarhice; verificarea sistemului de semnal mixt analog digital; macrocelule analogice IP (Intellectual Property); evaluarea performanţelor în cadrul algoritmilor de optimizare ai proiectării.
II. Proiectarea circuitelor analogice Am dezvoltat algoritmi de optimizare ce folosesc mulţimi şi/sau sisteme fuzzy în diferite faze: obiectivele fuzzy permit o formulare naturală a problemei de optimizare, cunoaşterea GNC, flexibilitate în realizarea compromisurilor între obiective; metodele fuzzy furnizează valorile iniţiale ale parametrilor, fără a putea spune dacă sunt mai bune decât cele obţinute prin ale metode metoda LHS pentru soluţia iniţială asigură o bună acoperire a spaţiului soluţiilor, modele fuzzy asigură volum redus de calcul care conduce la scurtarea considerabilă a timpului total de optimizare.
cea mai importantă etapă a algoritmului de optimizare este strategia de optimizare (strategia de calcul a noilor valori ale parametrilor). OFGG implică un volum de calcul foarte redus - funcţiile de circuit pentru care se realizează optimizarea trebuie să fie monotone în raport cu parametrii - metoda are un caracter particular datorită relaţiilor calitative globale, funcţii de circuit-parametrii. - în urma optimizării se obţin rezultate mai bune sau comparabile ca timp de calcul (covergenţă) şi calitate a soluţiilor finale faţă de cele obţinute folosind alte metode prezentate în literatură.
OFGL nu impune restricţii asupra funcţiilor de circuit cu care trebuie să opereze. - metodă generală putând fi folosită pentru optimizarea oricăror funcţii, dar faţă de OFGG volumul de calcul este mai mare. Ambele metode, fiind metode de gradient, găsesc un optim local. Acest neajuns este considerabil redus prin dezvoltarea metodelor astfel încât să permită folosirea căilor multiple utilizând o populaţie de soluţii. OFGLM furnizează un set de puncte de optim local Pareto (soluţii noninferioare), dintre care se alege optimul global. metoda se apropie astfel de metodele de căutare globale
FADO şi FMODO s-au dovedit superioare algoritmului de optimizare multiobiectiv “fgoalattain” Nu există un “cel mai bun” instrument de proiectare FADO este singurul care încorporează logică fuzzy în toate etapele algoritmului de optimizare; FADO se situează pe poziţii foarte bune la aspectele: - rezolvă o problemă de optimizare multiobiectiv reală; - are o şansă foarte mare de găsire a optimului global; - calculează performanţele cu modele fuzzy ce rezolvă favorabil conflictul precizie/volum de calcul; - timpul de optimizare / resursele necesare sunt convenabile folosirii practice, uzuale; -nu impune restricţii asupra funcţiilor de circuit ce se optimizează.
III. Direcţiile de continuare a cercetării: Îmbunătăţirea procedurii automate de construire a modelelor fuzzy, cu eliminarea automată a perechilor de date afectate de zgomot Dezvoltarea de modele fuzzy şi pentru alte funcţii de circuit Lărgirea bibliotecii de circuite pentru care se poate face optimizarea automată. Includerea unei a doua etape de optimizare care să folosească un simulator industrial pentru evaluarea performanţelor, Investigarea posibilităţilor de folosire a algoritmilor genetici în strategia de optimizare multiobiectiv.