circuite integrate digitale - erasmus pulse2014 cid - curs 1 4 cursul 1 analog vs. digital definirea...
TRANSCRIPT
![Page 1: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/1.jpg)
Circuite Integrate Digitale
Conf. Monica Dascălu
![Page 2: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/2.jpg)
2014 CID -
curs 1 2
Curs
Seminar
Laborator – notă separată
Notare:
40% seminar
20% teme // + TEMA SUPLIMENTARA
40% examen
![Page 3: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/3.jpg)
2014 CID -
curs 1 3
Bibliografie
Note de curs
Cursul profesorului G. Stefan:http://arh.pub.ro/gstefan/0-BOOK.pdf
Bibliografie suplimentară
Barry Wilkinson –
Electronica Digitală – bazele proiectării, Ed.
Teora, 2002
John Wakerly –
Circuite digitale. Principiile şi practicile folosite în proictare, Ed. Teora, 2002
M. Dascalu, D. Stefan, D.Davidescu, Z. Hascsi, B. Mitu. Probleme de circuite integrate digitale Ed. Printech, Bucuresti,
1998.
![Page 4: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/4.jpg)
2014 CID -
curs 1 4
Cursul 1
Analog vs. Digital
Definirea formală a unui sistem digital
Exemple
Introducerea limbajului Verilog HDL
Aritmetica binară
![Page 5: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/5.jpg)
2014 CID -
curs 1 5
Analog vs. Digital
Analog
Orice formă de undă
Digital
Numai semnale dreptunghiulare
În orice punct al circuitului, toate semnalele au o semnificaţie
![Page 6: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/6.jpg)
2014 CID -
curs 1 6
Analog vs. Digital
Transmisia datelor
Detecţia/corecţia erorilor
Memorare
Procesare
![Page 7: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/7.jpg)
2014 CID -
curs 1 7
Ce înseamnă “0”
şi “1”?
Trei tipuri de semnificaţii:
Aritmetic
numere
aritmetică binară
Logic
valori logice (adevărat/fals)
algebră logică
Simbolic
diferite simboluri
teoria limbelor formale
![Page 8: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/8.jpg)
2014 CID -
curs 1 8
Un sistem digital
![Page 9: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/9.jpg)
2014 CID -
curs 1 9
Conversia analog -
digital
![Page 10: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/10.jpg)
2014 CID -
curs 1 10
00
![Page 11: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/11.jpg)
2014 CID -
curs 1 11
Tema 1
Desenaţi formele de undă pentru semnalele
digitale corespunzătoare conversiei analog-digital
din figurile
anterioare
![Page 12: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/12.jpg)
2014 CID -
curs 1 12
Circuitele digitale
Versiunea cea mai simplă a sistemelor digitale
Toate semnalele sunt digitale
Sunt caracterizate de:
Conexiuni
Funcţia realizată
![Page 13: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/13.jpg)
2014 CID -
curs 1 13
Exemple simple
Sumatorul
Numărătorul
Circuite combinaţionale (logice)
Circuite secvenţiale
Semnalul de ceas
![Page 14: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/14.jpg)
2014 CID -
curs 1 14
Circuit combinational
La intrare: configuraţii binare pe n biţi (le luăm în considerare pe toate)Ieşirea se poate modifica de oricâte ori se modifică o intrare Pe ieşire apar doar o parte din configuraţiile binare pe m biţitp
: timp de propagareintervalul marcat –
tranziţia ieşirii după comutarea intrării
![Page 15: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/15.jpg)
2014 CID -
curs 1 15
Registrul
tsu
: timp de set‐up thold
: timp de hold tp
: timp de propagare (dela frontul ceasuluila ieşire)Tclock
: perioada semnalului de ceas
… ti‐1
ti
ti+1
…
: timpuleste discret
Intrările se potmodifica doar în intervalele indicate
![Page 16: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/16.jpg)
Definirea formală a unui sistem digital
porturi:
Intrări
Ieşiri
Starea internă (mulţimea stărilor posibile)
Funcţiile care determină:
Tranziţia stărilor
Calculul ieşirilor
2014 CID -
curs 1 16
![Page 17: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/17.jpg)
Verilog
Noţiuni preliminare
![Page 18: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/18.jpg)
Limbajul Verilog
Limbajul de descriere hardware Verilog HDL este folosit pentru descrierea circuitelor digitale, pentru
descrierea circuitelor
verificare si testare
simulare
se poate face descrierea circuitelor de la nivel de sistem până la nivel de tranzistor
de obicei lucrăm cu descrieri RTL (register transfer logic)
![Page 19: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/19.jpg)
Software
Xilinx ISE
pentru platforme experimentale cu circuite Xilinx
implementarea circuitelor proiectate în FPGA
optimizarea proiectului pe FPGA
ModelSim
simulator de circuite digitale
elaborarea proiectelor
compilare, verificare, testare, debugging
simulare
![Page 20: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/20.jpg)
Noțiuni de bază
conceptul de modul
corespondența cu circuite reale
NU se face optimizarea la nivel de algoritm
conceptul de testbench
![Page 21: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/21.jpg)
Module
modulele nu se pot intersecta, include, apela unele pe altele
principala modalitate de a apela un modul se numește instanțiere
semnalele pot avea nume identice cu porturile si nume identice în diferite module
![Page 22: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/22.jpg)
Semnale și variabile
diferența porturi / semnale
diferența semnale / variabile
vectori
două clase principale
net
reg
![Page 23: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/23.jpg)
Porturile unui circuit
trei tipuri
in
out
inout
două modalități de definire
in lista de porturi
in cadrul definițiilor
![Page 24: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/24.jpg)
Instanțierea modulelor
utilizarea modulelor în circuit, prin conectarea unor semnale din circuit la porturile modulului, sau prin interconectarea porturilor unor module
trebuie urmărită consistența / compatibilitatea interconexiunilor
erori și avertismente (warninguri)
![Page 25: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/25.jpg)
Descrierea circuitelor
structurală
comportamentală –
behavioural
cele două
tipuri de descriere a circuitelor sunt axate pe
schemă
algoritm
![Page 26: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/26.jpg)
FPGA
Ce este un FPGA?
![Page 27: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/27.jpg)
FPGA
Field Programmable Gate Array
o clasă specială de PLD-uri (dispozitive logice programabile)
conţin o reţea de blocuri logice şi de interconexiuni programabile
![Page 28: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/28.jpg)
Structura unui FPGA
1.
matrice de unităţi funcţionale programabile (de obicei blocuri logice configurabile) care implementează logica sevenţială şi combinaţională
2.
structură de interconectare programabilă care stabileşte rutarea semnalelor
3.
o memorie pentru configurare, care programează funcţionalitatea dispozitivului
4.
resursele I/O
![Page 29: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/29.jpg)
Specific FPGA
1.
performanţa pentru orice aplicaţie depinde de rutare2.
funcţionalitatea este implementată prin tabele de adevăr3.
în general sunt volatile
![Page 30: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/30.jpg)
![Page 31: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/31.jpg)
Programarea unui FPGA
un program (secvenţă binară complexă) încărcat într-o memorie CMOS statică.
conţinutul acestui SRAM este aplicat apoi liniilor de control ale porţilor de transmisie şi celorlalte dispozitive
se programează 1.
funcţionalitatea blocurilor logice2.
se configurează diverşi parametri şi caracteristici3.
se stabileşte conectarea între diferitele blocuri funcţionale4.
sunt configurate porturile bidirecţionale I/O
![Page 32: Circuite Integrate Digitale - ERASMUS Pulse2014 CID - curs 1 4 Cursul 1 Analog vs. Digital Definirea formală a unui sistem digital Exemple Introducerea limbajului Verilog HDL Aritmetica](https://reader030.vdocuments.pub/reader030/viewer/2022040107/5e586701856eab2a40086cc3/html5/thumbnails/32.jpg)
De ce avem nevoie de FPGA-uri?
alternativă pentru ASIC (implementează pe un singur chip toată logica suplimentară aferentă unui sistem digital)
posibilitatea reprogramării
implementare relativ facilă (nu industrial)
aplicaţie particulară în dezvoltarea prototipurilor ASIC