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