sistemecu circuiteintegrate digitale - utcluj.ro
TRANSCRIPT
Sisteme cu Circuite Integrate Digitale
Registre de deplasare
Prof. dr. ing. Sorin Hintea
Departamentul Bazele Electronicii
Cuprins
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 2
Registre de deplasare seriala cu bistabile D
Memorii cu acces serial FIFO si LIFO
Registrul de deplasare 7495
Registre de deplasare bidirectionale
Convertoare serie – paralel si paralel – serie
Analiza circuitelor cu registre de deplasare
Sinteza circuitelor cu registre de deplasare
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 4
Registre de deplasare seriala cu bistabile D
Registru de deplasare pe n biti
implementat cu n bistabile D
datele pot fi citite în paralel de la iesirile QA, QB, …, Qn
pentru citirea seriala a datelor se foloseste cel mai putin semnificativ bit de
iesire Qn, iar bitul QA este deplasat in Qn in n impulsuri de tact suplimentare
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 5
Registre de deplasare seriala cu bistabile D
Numărător în inel
n bistabile D legate in cascada
iesirea Q a unui bistabil este legata la intrarea D al urmatorului bistabil
iesirea Q a ultimului bistabil este legata la intrarea D a primului bistabil
Exemplu: numarator in inel pe trei biţi
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 6
Registre de deplasare seriala cu bistabile D
Numărătoare Johnson
n bistabile D legate in cascada
iesirea Q a unui bistabil este legata la intrarea D al urmatorului bistabil
iesirea a ultimului bistabil este legata la intrarea D a primului bistabil
Exemplu: numarator Johnson pe 3 biti
Q
1 2 3 4 5 6ck
QA
QB
QC
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 7
Registre de deplasare seriala cu bistabile D
Numărătoare Johnson
semnalele generate la iesirile bistabilelor au toate aceeasi frecventa si factor de
umplere, dar sunt decalate cu cate o perioada de tact
trecerea dintr-o stare in alta se face cu modificarea unui singur bit
pentru decodificarea oricarei stari este nevoie doar de doi biti, indiferent de
numarul total de biti al automatului
un dezavantaj este ca sunt folosite foarte putine stari (2n) din totalul celor 2n
stari care se pot descrie cu n biti.
Systems with Digital Integrated Circuits – Shift Registers 8
Registre de deplasare seriala cu bistabile D
Linear-feedback shift register (LFSR)
4 bistabile D conectate in cascada
iesirea Q a bistabilelor este conectata la intrarea D a urmatorului circuit
intrarea D a primului bistabil este functia XOR a ultimelor iesirilor Q a
ultimelor doua bistabile din lant
starea “0000” lipseste
Systems with Digital Integrated Circuits – Shift Registers 9
Registre de deplasare seriala cu bistabile D
Linear-feedback shift register (LFSR) - varianta
4 bistabile D conectate in cascada
iesirea Q a bistabilelor este conectata la intrarea D a urmatorului circuit
intrarea D a primului bistabil este functia XNOR a ultimelor iesirilor Q a
ultimelor doua bistabile din lant
starea “1111” lipseste
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 10
Memorii cu acces serial FIFO si LIFO
Memorii FIFO
bitii incarcati pe intrarea seriala se deplaseaza →D5→D4→D3→D2→D1→D0
dupa 6 impulsuri de tact, primul bit scris ajunge la ieşirea D0 de unde este citit
prin deplasarea de la stânga la dreapta toti cei sase biti scrisi in registru vor
ajunge la iesirea D0 pentru a permite citirea tuturor datelor
astfel primul bit înscris va fi primul citit
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 11
Memorii cu acces serial FIFO si LIFO
Memorii LIFO
bitii incarcati pe intrarea seriala se deplaseaza→D5→D4→D3→D2→D1→D0
dupa 6 impulsuri de ceas, ultmul bit scris ajunge la ieşirea D5 de unde este citit
prin deplasarea de la dreapta la stânga, toti cei sase biti scrisi in registru vor
ajunge la iesirea D5 pentru a permite citirea tuturor datelor
astfel ultimul bit înscris va fi primul citit
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 12
Memorii cu acces serial FIFO si LIFO
Registru universal FIFO / LIFO
scrierea pe intrarea seriala se face prin deplasare de la stanga la dreapta;
dupa 6 impulsuri de tact, toate cele 4 cuvinte de 6 biti sunt inscrise in registru;
la citire, pentru aplicatia de registru FIFO, se face deplasare de la stânga la
dreapta;
la citire, pentru aplicatia de registru LIFO, se face deplasare de la dreapta la
stânga;
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 13
Registre de deplasare – registru universal
Registru universal pe 4 biţi implementat cu bistabile SR
cascada de 4 bistabile SR
Preset si Clear asincron
intrarea seariala ‘0’ produce comanda S=‘0’ R=‘1’ → reset → se transmite ‘0’
intrarea seariala ‘1’ produce comanda S=‘1’ R=‘0’ → set → se transmite ‘1’
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 14
Registre de deplasare – registrul 7495
Registrul 7495 – simbol
T1, T2 – sincronism pe front descendent
MC – selecţie mod de operare
ABCD – port paralel de intrare
IS – intrare serială
QABCD – port paralel de ieşire
MC T1 T2 Q+A Q+
B Q+C Q+
D Operaţie
0 ↓ X IS QA QB QC Deplasare serială
(dreapta)
1 X ↓ A B C D Incarcare paralel /
deplasare stanga*
* - necesită conexiuni externe
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 15
Registre de deplasare – registrul 7495
Registrul 7495 – implementare
cascada de 4 bistabile SR
semnalul de tact T1 validat de modul de lucru deplasare seriala (MC=0)
semnalul de tact T2 validat de modul de lucru incarcare paralel (MC=1)
functie de MC, intrarea unui bistabil provine fie de la portul paralel de intrare
(ABCD), fie de la iesirea bistabilului anterior
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 16
Registre de deplasare – registrul 7495
Registrul 7495 – functionare
MC = 0
activează poarta 1 a intrării de ceas
activează porţile ŞI 1 care transmit
şi deplasează intrarea serie IS în ordine
la celulele A, B, C şi D
rol de deplasare la dreapta
MC = 1
activează poarta 2 a intrării de ceas
activează porţile ŞI 2
corespunzătoare intrărilor paralele
registrul înscrie date paralel pe
frontul descrescător al ceasului T2
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 17
Registre de deplasare – registrul MMC 40104
Registrul MMC 40104 – registru de deplasare bidirectionala
etaj de ieşire TS, starea de impedanţă ridicată comandată OE=0
comenzi sincrone, active pe front crescător
modul de operare comandat de intrările S1S2
aplicatie: memorie LIFO
comanda S1S2 = 01 determină încărcarea
secvenţială serie SR→Q0→Q1→Q2→Q3
semnalul de iesire este Q0
comanda S1S2 = 10 determină deplasarea la
stânga Q3→Q2→Q1→Q0 pentru a permite
citirea tuturor datelor (ultimul bit înscris va fi
primul citit)
se pot utiliza “n” registre bidirecţionale în
paralel pentru a realiza memorii pentru cuvinte
pe “n” biţi
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 18
Registrul 7495 - aplicatii
Convertor paralel-serie pe 4 biti
accepta simultan la intrare 4 biti → port paralel de intrare
cei patru biti sunt furnizati secvential la iesire → iesirea QD
dupa incarcarea paralela, timp de 4 perioade de tact registrul trebuie sa
deplaseze serial
abia dupa 4 perioade de tact poate avea loc o noua incarcare paralel → divizor
cu 4
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 19
Registrul 7495 - aplicatii
Convertor serie-paralel pe 4 biti
accepta bitii succesiv la intrare → intrarea seriala IS
MC este 0 pentru a determina deplasarea seriala continua
dupa 4 perioade de tact, 4 biti aplicati secvential la intrarea seriala sunt
disponibili pe portul paralel de iesire
din 4 in 4 perioade de tact sunt preluati bitii de la portul paralel de iesire prin
intermediul unui latch → divizor cu 4
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 20
Implementarea divizorului de frecventa
Automat sincron cu bistabile JK
J=‘1’ si K=‘1’ → bistabilul schimba starea
Automat asincron cu bistabile JK
Bistabilele legate in cascada
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 21
Registrul 7495 - aplicatii
Registru pe 8 biti – extinderea capacitatii
doua registre 7495 inseriate
iesirea QD a primului registru este conectata la intrarea seriala IS a urmatorului
semnalele ck si MC se aplica in comun celor doua registre
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 22
Registrul 7495 - aplicatii
Convertor serie-paralel pe 6 biti
necesita extinderea registrului de
deplasare
datele sunt aplicate la intrarea serie
datele de iesire sunt preluate prin
intermediul unui registru latch
registrul latch este comandat de
semnalul En, sincron cu T1, dar cu
frecvenţa de 6 ori mai mică
la fiecare sase impulsuri de tact se
incarca in Latch cuvantul de iesire al
registrului
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 23
Registrul 7495 - aplicatii
Convertor paralel – serie pe 6 biti
necesita extinderea registrului de deplasare
datele se aplică la portul de intrare paralel, 4 biti la un registru si 2 biti la
celalalt
datele sunt ridicate de la ieşirea QB al celui de-al doilea registru
semnalul MC trebuie sincronizat cu ceasul, dar are frecventa de 6 ori mai mica
A
B
C
D
T1
QA
T2
MC
IS
QB
QC
QDCK
A
B
C
D
T1
QA
T2
MC
IS
QB
QC
QD
iesire
seriala
:6
intrare
paralela6 biti
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 24
Registrul 7495 - aplicatii
Registru de deplasare spre stanga
intrarea seriala este LSB al portului paralel de intrare → terminalul D
deplasarea stanga se realizeaza prin incarcari paralel succesive → MC=‘1’, Ck2
QD se conecteaza la C, QC se conecteaza la B, QB se conecteaza la A
iesirea seriala este MSB al portului de iesire → terminalul QA
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 25
Analiza circuitelor cu registre de deplasare
Analiza circuitelor cu registre de
deplasare are ca scop determinarea
functiei circuitului (diagrama de tranzitii)
Cunoscând conexiunile din circuit,
pentru fiecare stare prezentă se deduc
semnalele de comandă (IS, MC, ABCD)
şi stările viitoare
Exemplul 1
QA QB QC QD MC IS QA+ QB
+ QC+ QD
+
0 0 0 0 1 0 1 0 0 0
0 0 0 1 0 1 1 0 0 0
0 0 1 0 0 0 0 0 0 1
0 0 1 1 1 1 1 0 0 0
0 1 0 0 0 0 0 0 1 0
0 1 0 1 1 1 1 0 0 0
0 1 1 0 1 0 1 0 0 0
0 1 1 1 1 1 1 0 0 0
1 0 0 0 0 0 0 1 0 0
1 0 0 1 1 1 1 0 0 0
1 0 1 0 1 0 1 0 0 0
1 0 1 1 1 1 1 0 0 0
1 1 0 0 1 0 1 0 0 0
1 1 0 1 1 1 1 0 0 0
1 1 1 0 1 0 1 0 0 0
1 1 1 1 1 1 1 0 0 0
fct.
IP
DS1
DS0
DS0
DS0
IP
IP
IP
IP
IP
IP
IP
IP
IP
IP
IP
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 26
Analiza circuitelor cu registre de deplasare
Circuitul generează patru faze decalate cu perioada semnalului de ceas şi are
înscriere automată în ciclu
QA QB QC QD MC IS QA+ QB
+ QC+ QD
+
0 0 0 0 1 0 1 0 0 0
0 0 0 1 0 1 1 0 0 0
0 0 1 0 0 0 0 0 0 1
0 0 1 1 1 1 1 0 0 0
0 1 0 0 0 0 0 0 1 0
0 1 0 1 1 1 1 0 0 0
0 1 1 0 1 0 1 0 0 0
0 1 1 1 1 1 1 0 0 0
1 0 0 0 0 0 0 1 0 0
1 0 0 1 1 1 1 0 0 0
1 0 1 0 1 0 1 0 0 0
1 0 1 1 1 1 1 0 0 0
1 1 0 0 1 0 1 0 0 0
1 1 0 1 1 1 1 0 0 0
1 1 1 0 1 0 1 0 0 0
1 1 1 1 1 1 1 0 0 0
fct.
IP
DS1
DS0
DS0
DS0
IP
IP
IP
IP
IP
IP
IP
IP
IP
IP
IP
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 27
Analiza circuitelor cu registre de deplasare
Exemplul 2: Generator de faze cu iniţializare → variantă simplificata a generatorului
de faze
MC = 1 numai la cuplarea tensiunii de alimentare
starea iniţială: 1000
după ce MC = 0 registrul va realiza numai deplasare seriala
circuitul este mai sensibil la perturbaţii externe, care ar putrea determina
generarea eronată a unor semnale
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 28
Analiza circuitelor cu registre de deplasare
QA QB QC QD MC IS QA+ QB
+ QC+ QD
+
0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 0 0 0
0 0 1 0 0 0 0 0 0 1
0 0 1 1 0 1 1 0 0 1
0 1 0 0 0 0 0 0 1 0
0 1 0 1 0 1 1 0 1 0
0 1 1 0 0 0 0 0 1 1
0 1 1 1 0 1 1 0 1 1
1 0 0 0 0 0 0 1 0 0
1 0 0 1 0 1 1 1 0 0
1 0 1 0 0 0 0 1 0 1
1 0 1 1 0 1 1 1 0 1
1 1 0 0 0 0 0 1 1 0
1 1 0 1 0 1 1 1 1 0
1 1 1 0 0 0 0 1 1 1
1 1 1 1 0 1 1 1 1 1
fct.
DS0
DS0
DS1
DS1
DS0
DS0
DS1
DS1
DS0
DS0
DS1
DS1
DS0
DS0
DS1
DS1
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 29
Analiza circuitelor cu registre de deplasare
Exemplul 3
A
B
C
D
T1
QA
T2
MC
IS
QB
QC
QDCK
1
QAQC
QD
QA
QB
QC
QA QB QC QD MC IS A B C D
0 0 0 0 0 1 0 1 1 1
0 0 0 1 0 0 0 1 1 1
0 0 1 0 0 1 0 1 1 1
0 0 1 1 0 0 0 1 1 0
0 1 0 0 0 1 0 1 1 1
0 1 0 1 0 0 0 1 1 1
0 1 1 0 0 1 0 1 1 1
0 1 1 1 0 0 0 1 1 0
1 0 0 0 0 1 0 1 0 1
1 0 0 1 0 0 0 1 0 1
1 0 1 0 0 1 0 1 0 1
1 0 1 1 0 0 0 1 0 0
1 1 0 0 0 1 0 1 0 1
1 1 0 1 0 0 0 1 0 1
1 1 1 0 1 1 0 1 0 1
1 1 1 1 1 0 0 1 0 0
fct.
DS1
DS0
DS1
DS0
IP
IP
DS1
DS0
DS1
DS0
DS1
DS0
DS1
DS0
DS1
DS0
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 30
Sinteza circuitelor cu registre de deplasare
Exemplul 1 – Automat de stare implementat cu registru 7495 și porți logice
QA QB QC QD MC IS A B C D
0 0 0 0 0 1 X X X X
0 0 0 1 X X X X X X
0 0 1 0 X X X X X X
0 0 1 1 X X X X X X
0 1 0 0 X X X X X X
0 1 0 1 1 X 0 0 0 0
0 1 1 0 X X X X X X
0 1 1 1 1 X 1 0 1 0
1 0 0 0 0 1
1 0 0 1 X X
1 0 1 0 0 0
1 0 1 1 X X
1 1 0 0 0 1
1 1 0 1 X X
1 1 1 0 0 1
1 1 1 1 0 0
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 31
Sinteza circuitelor cu registre de deplasare
X
X 1 X X
X 1 X
X X
00 01 11 10
10
11
01
00
QAQB
QCQD
MC
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 32
Sinteza circuitelor cu registre de deplasare
Exemplul 2 – Automat de stare cu parametru
MC IS actiune
0 0
0 1
1 X
DS0
DS1
IP
0 prDS1 DS0+DS1
prIP 0 IP+DS0
prIP 1 IP+DS1
1 X IP+IP
QA QB QC QD MC IS A B C D
0 0 0 0 0 1 X X X X
0 0 0 1 X X X X X X
0 0 1 0 X X X X X X
0 0 1 1 X X X X X X
0 1 0 0 a 1 0 1 0 0
0 1 0 1 1 X a 1 0 1
0 1 1 0 X X X X X X
0 1 1 1 X X X X X X
1 0 0 0 0 0
1 0 0 1 0 a
1 0 1 0 0 a
1 0 1 1 X X
1 1 0 0 1 X
1 1 0 1 1 X
1 1 1 0 X X
1 1 1 1 X X
X X X X
X X X X
X X X X
X X X X
a 0 0 0
1 0 0 1
X X X X
X X X X
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 33
Sinteza circuitelor cu registre de deplasare
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 34
Sinteza circuitelor cu registre de deplasare
Exemplul 3 – Generatoare de semnale: 0110111001
Se aplica metoda ferestrei glisante QA QB QC QD MC IS A B C D
0 0 0 0 X X X X X X
0 0 0 1 X X X X X X
0 0 1 0 X X X X X X
0 0 1 1 0 1 X X X X
0 1 0 0 0 1 X X X X
0 1 0 1 1 X 0 1 1 0
0 1 1 0 0 1 X X X X
0 1 1 1 0 0 X X X X
1 0 0 0 X X
1 0 0 1 0 0
1 0 1 0 0 0
1 0 1 1 0 1
1 1 0 0 X X
1 1 0 1 0 1
1 1 1 0 0 0
1 1 1 1 X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 35
Sinteza circuitelor cu registre de deplasare
Sisteme cu Circuite Integrate Digitale – Registre de deplasare 36
References
J. Wakerly – Digital Design, Principle & Practices, Prentice Hall, 1999
Rabaey J.M., Chandrakasan A., Nikolic B. Digital Integrated Circuits. A design perspective.
Prentice Hall, 2003.
Weste N.H.E, Harris D. CMOS VLSI Design. A Circuits and Systems Perspective. Pearson
Addison Wesley, 2005. http://www3.hmc.edu/~harris/cmosvlsi/4e/
H. Kaeslin, “Digital Integrated Circuit Design From VLSI Architecture to CMOS Fabrication”,
Cambridge University Press, 2008.
C. H. Roth, L.K. John, “Digital System Design using VHDL”, Cengage Learning, 2008.
Ercegovac, M., Lang T., Moreno J. Introduction to Digital Systems. John Wiley &Sons Inc,
New-York, 1999
Sorin Hintea, Mihaela Cirlugea, Lelia Festila. Circuite Integrate Digitale. Editura UT Press,
Cluj-Napoca, 2005
Sorin Hintea. Tehnici de proiectare a circuitelor digitale VLSI. Casa Cartii de Stiinta. Cluj-
Napoca, 1998