Transcript Document
CID 2 curs 1 EDA Proiectarea digitală Verilog (Evita) Funcţie (idee) Sistem digital Model (paradigmă) 2 12 octombrie 2006 CID2 - curs 1 Ce este proiectarea? 3 Procesul prin care trecem de la o idee (funcţionalitate) la un sistem fizic care să implementeze acea funcţionalitate În cazul circuitelor integrate digitale, se impune ca şi constrângere folosirea paradigmei digitale (şi desigur) a produselor existente pe piaţă 12 octombrie 2006 CID2 - curs 1 EDA (Electronic Design Automation) Cea mai mare parte a procesului de proiectare se realizează cu ajutorul calculatorului (există programe pentru TOATE etapele proiectării) Motivul principal: altfel este imposibil de controlat complexitatea designului Ce trebuie să ştim: – – – – 4 Principiile de bază ale domeniului digital Fluxul proiectării Un limbaj specific (HDL) “Instrumentele” disponibile 12 octombrie 2006 CID2 - curs 1 Şi totuşi… ce facem noi? Trebuie să ştiţi să răspundeţi realist la această întrebare după ce terminaţi cursul de CID2! 5 12 octombrie 2006 CID2 - curs 1 HDL HDL= hardware description language cele mai cunoscute: 6 Abel Verilog VHDL Comparativ cu limbajele de programare, au anumite restricţii ATENŢIE: un programator bun NU este neapărat un bun proiectant 12 octombrie 2006 CID2 - curs 1 De ce folosim limbaje? Pentru ca proiectarea circuitelor electronice se face automatizat (computerizat) Este cea mai eficientă opţiune (alte variante: scheme, liste de componente, flux de date… care sunt integrate în descrierile HDL) 7 Limbajul trebuie privit ca modalitatea noastră de a interacţiona cu intrumentele EDA 12 octombrie 2006 CID2 - curs 1 Cum se proiectau circuitele digitale… cu 50 de ani în urmă 8 Manual Artizanal Nr de componente/sistem – ordinul zecilor TTL-uri, LSI…. 12 octombrie 2006 CID2 - curs 1 Cum se proiectau circuitele digitale… cu 30 de ani în urmă 9 Metode de proiectare cu ajutorul MSI (circuite integrate pe scară medie): MUX, DMUX, DCD Primele modele electronice: simulare pornind de la schemă (deci proiectare “manuală”) Dispozitive “programabile”: PROM, PLA-uri, microprocesoare 12 octombrie 2006 CID2 - curs 1 Cum se proiectau circuitele digitale… cu 10 de ani în urmă 10 VLSI – very large scale integrated circuits Dezvoltarea rapidă a tehnicilor şi intrumentelor EDA Primele limbaje HDL – protejate copyright şi “secrete”, devin acum standarde IEEE Programele sunt încă greoaie şi cu licenţe f scumpe (Cadence, Leonardo) Complexitatea circuitelor deja face imposibilă proiectarea manuală 12 octombrie 2006 CID2 - curs 1 cum arătau circuitele digitale… cu 30 de ani în urmă 11 12 octombrie 2006 CID2 - curs 1 Cum arată circuitele digitale acum? 12 12 octombrie 2006 CID2 - curs 1 Funcţii şi aplicaţii noi 13 Procesarea digitală a semnalelor Controllere pentru imensa majoritate a produselor Telefonie şi transmisii de date Sisteme de calcul din ce în ce mai performante Televiziune 12 octombrie 2006 CID2 - curs 1 Circuitele digitale moderne 14 Tendinţa generală: circuite generale – particularizate pentru anumite aplicaţii CPLD FPGA microcontrollere ASIC SoC Embedded systems 12 octombrie 2006 CID2 - curs 1 Verilog/VHDL 15 Sunt cele mai cunoscute limbaje Fiecare au avantaje şi “adepţi” Verilog este mai uşor de învăţat Instrumentele de proiectare performante suportă ambele limbaje au “biblioteci” de coduri uzuale 12 octombrie 2006 CID2 - curs 1 Tipuri de descriere 16 structurală comportamentală flux de date 12 octombrie 2006 CID2 - curs 1 Proiectare modulară/ ierarhizare proiect modul1 Submodule… 17 modul2 modul3 Submodule… 12 octombrie 2006 CID2 - curs 1 Criterii de performanţă Limbaj sintetizabil Testabilitate, verificare Integrarea corectă a designului Respectarea criteriilor tehnologice şi a specificaţiilor de proiectare NU criterii ca: nr de linii, viteză compilare etc… 18 12 octombrie 2006 CID2 - curs 1 Fluxul proiectării circuitelor digitale Funcţionalitate Descrierea funcţionării (proiect “de principiu”) Pre-sinteză SINTEZĂ Schemă digitală (porţi) Circuit electric (pe siliciu) Chip-ul “fizic” 19 Post-sinteză MĂŞTI 12 octombrie 2006 CID2 - curs 1 Metodologia proiectării digitale 1. 2. 3. 4. 5. 6. 7. 20 Specificarea iniţială Partiţia designului Descriere HDL Simulare şi verificare funcţională Integrarea proiectului Sign-off presinteză Sinteză la nivel de porţi logice 12 octombrie 2006 8. 9. 10. 11. 12. 13. 14. Validare post-sinteză Verificare sincronizări Testare, simulare defecte Plasare şi rutare Verificarea regulilor fizice şi electrice Extragere elemente parazite Sign-off CID2 - curs 1 1. Specificarea designului document care specifică: funcţionalitatea, sincronizarea, aria de siliciu, consum, testabilitate, … minim: specificare funcţională Atenţie! organigramele şi diagramele pot introduce ambiguităţi 21 12 octombrie 2006 CID2 - curs 1 2 Partiţia designului 22 Arhitectura – configuraţie de unităţi funcţionale top-down design sau proiectare ierarhică Fiecare modul va fi proiectat separat folosind HDL 12 octombrie 2006 CID2 - curs 1 3 “DESIGN ENTRY” Punctul de pornire al proiectării asistate de calculator (design entry) este de regulă descrierea blocurilor componente (într-un HDL), în format electronic Cel mai des utilizată: descrierea comportamentală. 23 12 octombrie 2006 CID2 - curs 1 4 Simulare/ verificare funcţională verificare prin simulare sau metode formale PENTRU FIECARE BLOC FUNCŢIONAL 24 plan de testare platforma testare executarea testelor şi verificarea modelului 12 octombrie 2006 CID2 - curs 1 5. Integrare şi verificare 25 etapă crucială integrarea şi verificarea arhitecturii în ansamblu 12 octombrie 2006 CID2 - curs 1 6 Final pre-sinteză 26 În acest punct trebuie eliminate absolut toate erorile funcţionale. 12 octombrie 2006 CID2 - curs 1 7 Sinteză la nivel de porţi logice 27 Cu ajutorul unor programe (“tools”) Trecerea de la descriere comportamentală la schemă logică – se face automat Se elimină logica redundantă, se optimizează diferite criterii (viteză, arie etc). 12 octombrie 2006 CID2 - curs 1 8 Validare post-sinteză 28 se compară răspunsul modelului comportamental cu cel al circuitului sintetizat (ambele fiind simulate) 12 octombrie 2006 CID2 - curs 1 9 Verificare timing Timpi de propagare, capacităţi parazite (acest pas se reia după proiectarea fizică) Se analizează în special liniile critice (uneori este necesară reluarea completă a sintezei) 29 12 octombrie 2006 CID2 - curs 1 10 Generare test, simulare erori 30 După fabricare pot apărea erori datorate proceselor tehnologice În ce măsură acestea pot fi detectate? Elaborarea unei scheme de testare care să permită depistarea erorilor de fabricaţie. 12 octombrie 2006 CID2 - curs 1 11 Plasare şi rutare 31 Aranjarea blocurilor componente pe placheta de siliciu, a conexiunilor, căilor de semnal etc. Critic: CK 12 octombrie 2006 CID2 - curs 1 12 Verificare electrică şi fizică 32 Proiectul la nivel fizic trebuie verificat pentru respectarea criteriilor specifice tehnologiei alese: reguli electrice, fan-out, niveluri de zgomot… 12 octombrie 2006 CID2 - curs 1 13 Extragere paraziti 33 Capicităţile parazite datorate layout-ului sunt folosite pentru a re-verifica toate caracteristicile electrice Contrângerile de timing 12 octombrie 2006 CID2 - curs 1 14 sign-off 34 Numai când sunt îndeplinite toate criteriile, verificate toate cnstrângeriile şi elaborată o schemă viabilă de testare post-producţie Rezultatul procesului de proiectare: măştile pentru fabricarea circuitelor 12 octombrie 2006 CID2 - curs 1 Opţiuni tehnologice 35 PLD FPGA Celule standard ASIC 12 octombrie 2006 CID2 - curs 1 Subiecte posibile de examen 36 Metodologia proiectării digitale Ce înseamnă EDA? Limbajele de descriere hardware 12 octombrie 2006 CID2 - curs 1