Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pl:lab:lab3 [2020/07/29 00:00]
127.0.0.1 external edit
— (current)
Line 1: Line 1:
-====== Laborator 3 - Logică secvențială ====== ​ 
-==== 1. Verificarea funcționării circuitului basculant bistabil J-K Master Slave ==== 
- 
-<​note>​CBB J-K MS funcționează conform ecuației: $Q^{n+1}=(J \cdot \bar{Q} + \bar{K} \cdot Q)^n$, iar: 
-  * $n$ reprezintă perioada **curentă** a ceasului CLK 
-  * $n+1$ reprezintă perioada **următoare** a ceasului CLK 
-  * semnalul CLK determină comutația la trecerea din valoarea logică 1 în valoarea logică 0 
-  * semnalul CLR este activ în "​zero",​ este asincron și prioritar față de CLK și comanda $Q=0$ 
-</​note>​ 
-^  $CLR$  ^  $CLK$  ^  $J$  ^  $K$  ^  $Q^{n+1}$ ​ ^  $Funcția$ ​ ^ 
-|  0      |     ​X ​  ​| ​   X  |    X  |        0    |Clear asincron| 
-|  1      |     ​↓ ​  ​| ​   0  |    0  |    $Q^{n}$ ​ |NOP        | 
-|  1      |     ​↓ ​  ​| ​   0  |    1  |        0    |RESET ​     | 
-|  1      |     ​↓ ​  ​| ​   1  |    0  |        1    |SET        | 
-|  1      |     ​↓ ​  ​| ​   1  |    1  |  $\overline{Q^{n+1}}$ ​ |TOGGLE | 
-\\ 
-Pași: 
-  - Se contectează intrările $CLR, CLK$ și $K$ la patru switch-uri de pe placa de intrări, iar ieșirile $Q, \bar{Q}$ pe placa de ieșiri. Cele patru intrări vor fi pe poziția $0$ și se va verifica $Q=0$, $\bar{Q}=1$. 
-  - Se păstrează semnalul $CLR$ pe poziția 1, se trece $J=1$ și se comută $CLK$ pe 1 și înapoi pe 0. Se constată că starea ieșirilor va fi $Q=1, \bar{Q}=0$, la revenirea ceasului $CLK$ în valoarea 0; s-a verificat funcția **SET sincronizat de CLK pe frontul negativ ↓**. 
-  - Se păstrează semnalul $CLR$ pe poziția 1, se trec $J=0$ și $K=1$ și se comută $CLK$ pe 1 și înapoi pe 0. Se constată că starea ieșirilor va fi $Q=0, \bar{Q}=1$, la revenirea ceasului $CLK$ în valoarea 0; s-a verificat funcția **RESET sincronizat de CLK pe frontul negativ ↓**. 
-  - Se păstrează semnalul $CLR$ pe poziția 1, se trec $J=1$ și $K=1$ și se comută CLK pe 1 și înapoi pe 0. Se constată că starea ieșirilor va comuta la fiecare revenire a ceasului $CLK$ învaloarea 0; s-a verificat funcția **TOGGLE sincronizat de CLK pe frontul negativ ↓**. 
- 
-\\ 
-==== 2. Proiectarea unui numărător modulo 16 cu CBB J-K Master Slave ==== 
- 
-Variabilele $J, K$ vor fi implementate cu porți logice (opțional în funcție de timp). 
-\\ 
-Se vor utiliza cele 4 module J-K de pe placă. 
-\\ 
-Pași: 
-  - Cele 4 intrări $CLR$ vor fi conectate împreună la același switch pe pe placa de intrări. 
-  - Cele 4 intrări $CLK$ vor fi conectate împreună la același switch de pe placa de intrări. 
-  - Intrările $J, K$ vor fi generate astfel:$ J_0=K_0=1, ​ J_1=K_1=Q_0, ​ J_2=K_2=Q_0 Q_1,  J_3=K_3=Q_0 Q_1 Q_2 $. Se vor utiliza porți NAND și inversoare. 
-  - Ieșirile $Q_0, Q_1, Q_2, Q_3$ se vor conecta la un afișaj cu 7 segmente. 
- 
-^ Ieșire Q |  $Q_0$  |  $Q_1$  |  $Q_2$  |  $Q_3$  | 
-^ Intrare placă output |  A  |  B  |  C  |  D  | 
- 
-Inițial, $CLR=0$ și se verifică starea "​zero"​ a numărătorului. 
-\\ 
-Se trece $CLR=1$ și se comută semnalul $CLK$ **din 0 în 1** și apoi **din 1 în 0**; la fiecare comutare a lui CLK se va verifica incrementarea stării numărătorului și revenirea în starea "​zero"​ după 16 impulsuri CLK. 
-<note tip>​Semnalul $CLK$ va fi preluat de pe placa de intrări configurându-se la frecvență minimă.</​note>​ 
- 
-\\ 
-==== 3. Verificarea funcționării circuitului basculant bistabil de tip D ==== 
- 
-<​note>​CBB D funcționează conform ecuației $Q^{n+1}=D^n$,​ iar: 
-  * $n$ reprezintă perioada **curentă** a ceasului CLK 
-  * $n+1$ reprezintă perioada **următoare** a ceasului CLK 
-  * semnalul CLK determină comutația la trecerea din valoarea logică 0 în valoarea logică 1 
-  * semnalul EN (Output Enable) este activ în "​zero"​ și activează cele 8 ieșiri 
-</​note>​ 
- 
-Dacă $EN=1$, toate ieșirie $Q_i=Z$, valoare nedeterminabilă (deconectate sau mascate). 
- 
-^  $EN$  ^  $CLK$  ^  $D_i$  ^  $Q_i$  ^ 
-|  1  |  X  |  X  |  Z  | 
-|  0  |  ↑  |  0/1  |  0/1  | 
- 
-Pași: 
-  - Se conectează intrările $EN, CLK$ la două switch-uri de pe placa de intrări care vor fi inițial la valoarea 1 și ieșirile $Q_i$ la 8 led-uri, în ordine, pe placa de ieșiri. 
-  - Se pune semnalul $EN$ pe poziția 0. 
-  - Se configurează două seturi de valori pentru intrările $D_i$: 
- 
-^  $EN$  ^  $CLK$  ^  $D_7$  ^  $D_6$  ^  $D_5$  ^  $D_4$  ^  $D_3$  ^  $D_2$  ^  $D_1$  ^   ​$D_0$ ​ ^  HEXA  ^ 
-|  0  |  ↑  |  0 |  1  |  0  |  1  |  0  |  1  |  0  |  1  |  55  |  
-|  0  |  ↑  |  0 |  0  |  0  |  0  |  1  |  1  |  1  |  1  |  0F  |  
- 
-Pentru fiecare configurație a intrărilor,​ se comută $CLK$. La revenirea ceasului $CLK$ în valoarea 1, se va verifica funcția **LOAD sincronizat de CLK pe frontul pozitiv ↑**. 
- 
- 
-\\ 
-==== 4. Verificarea funcționării numărătorului 74HC193 ==== 
- 
-Numărătorul funcționează conform tabelului: 
- 
-^  Modul de operare ​ ^  Intrări ​ ^^^^^^^^ ​ Ieșiri ​ ^^^^ 
-^ :::  ^  $CLR$  ^  $Load$ ​ ^  $Up$  ^  $Down$ ​ ^  $D_0$  ^  $D_1$  ^  $D_2$  ^  $D_3$  ^  $Q_0$  ^  $Q_1$  ^  $Q_2$  ^  $Q_3$  |  
-^Reset (Clear) |  1  |  X  |  X  |  X  |  X  |  X  |  X  |  X  |  0  |  0  |  0  |  0  | 
-^Încărcare paralelă |  0  |  0  |  1  |  1  |  0/1  |  0/1  |  0/1  |  0/1  |  0/1  |  0/1  |  0/1  |  0/1  |  
-^Count up |  0  |  1  |  ↑  |  1  |  X  |  X  |  X  |  X  |  Numărare incrementală ​ |||| 
-^Count down |  0  |  1  |  1  |  ↑  |  X  |  X  |  X  |  X  |  Numărare decremetală ​ |||| 
- 
-\\ 
-**4.1.** Se vor verifica succesiv toate modurile de operare prezentate în tabelă, observând că semnalele de intrare $RESET$ și $CLEAR$ sunt asincrone în raport cu ceasul. $CLR$ este activ în 1, iar $LOAD$ este activ în 0. 
- 
-<note tip>​Semnalele de ceas notate în tabelă cu ↑ vor fi preluate alternativ de pe placa de intrări de la CLK cu frecvență minimă. 
-  * Count Up: $UP=↑, ​ DOWN=1$ 
-  * Count Down: $UP=1, ​ DOWN=↑$ 
-</​note>​ 
-\\ 
- 
-**4.2.** Se va implementa un numărător **modulo 13** folosind placa cu porți logice. 
- 
-<note tip> 
-Semnalul $LOAD$ al numărătorului se va obține din următoarea expresie logică: 
-\\ 
-$\overline{LOAD} = \overline{Q_3 Q_2 \overline{Q_1} Q_0}$ 
-\\ 
-Ieșirie din expresie se introduc într-un modul NAND cu patru intrări. 
-</​note>​ 
- 
-\\ 
-==== 5. Verificarea funcționării numărătorului decadic 74HC190 ==== 
- 
-Numărătorul funcționează conform tabelei de mai jos: 
- 
-^  Modul de operare ​ ^  Intrări ​ ^^^^^  Ieșiri ​ ^ 
-^  :::  ^  $Load$ ​ ^  $U/D$  ^  $CE$  ^  $CLK$  ^  $D_i$  ^  $Q_i$  ^ 
-^ Încărcare paralelă |  0  |  X  |  X  |  X  |  0/1  |  0/1  | 
-^ Count up |  1  |  0  |  0  |  ↑  |  X  |  Numărare incrementală ​ | 
-^ Count down |  1  |  1  |  0  |  ↑  |  X  |  Numărare decrementală ​ | 
-^ No operation |  1  |  X  |  1  |  X  |  X  |  Nu se schimbă starea ​ | 
- 
-\\ 
-**5.1.** Se vor verifica succesiv toate modurile de operare prezentate în tabelă, observând că semnalul de intrare $Load$ este asincron în raport cu ceasul. 
-<note tip> $Load$ este activ în 0. Pentru numărare în sens crescător, este necesar ca semnalul $U/D=0$, iar pentru numărătoare în sens descrescător,​ $U/D=1$ 
-</​note>​ 
-\\ 
-**5.2.** Se va realiza un numărător **modulo 160** cu cele două numărătoare 74HC193 (cifra unităților hexazecimale) și 74HC190 (cifra zecilor decadice). Pentru aceasta, se vor configura ambele numărătoare să funcționeze __incremental__,​ iar __ceasul modulului **74HC190** va fi conectat la ieșirea Carry a modulului **74HC193**__. 
-<note tip>​Semnalele de ceas notate în tabelă cu ↑ vor fi preluate de pe placa de intrări de la CLK cu frecvență minimă.</​note>​ 
- 
-\\ 
-==== 6. Verificarea registrului universal de 4 biți ==== 
- 
-<​note>​Registrul prezintă toate funcțiile necesare pentru realizarea operațiilor de: 
-  * ștergere conținut 
-  * încărcare paralelă 
-  * deplasare serială dreapta (shift right) 
-  * deplasare serială stânga (shift left) 
-</​note>​ 
-În tabelă sunt prezentate funcțiile și modul lor de implementare:​ 
- 
-^  Modul de operare ​ ^  Intrări ​ ^^^^^^^ ​ Ieșiri ​ ^^^^ 
-^ ::: ^  $CLK$  ^  $EN(CLR)$ ​ ^  $S_1$  ^  $S_0$  ^  $D_{SR}$ ​ ^  $D_{SL}$ ​ ^  $D_i$  ^  $Q_0$  ^  $Q_1$  ^  $Q_2$  ^  $Q_3$  ^ 
-^ Reset (Clear) |  X  |  0  |  X  |  X  |  X  |  X  |  X |  0  |  0  |  0  |  0  | 
-^ No operation |  X  |  1  |  0  |  0  |  X  |  X  |  X |  $Q_0$  |  $Q_1$  |  $Q_2$  |  $Q_3$  |  
-^ Deplasare stânga |  ↑  |  1  |  1  |  0  |  X  |  0/1 |  X   ​| ​ $Q_1$  |  $Q_2$  |  $Q_3$   ​| ​ $D_{SL}$ ​ |  
-^ Deplasare dreapta |  ↑  |  1  |  0  |  1  |  0/1  |  X  |  X  |  $D_{SR}$ ​ |  $Q_0$  |  $Q_1$  |  $Q_2$  |  
-^ Încărcare paralelă |  ↑  |  1  |  1  |  1  |  X  |  X  |  $D_i$  |  $D_0$  |  $D_1$  |  $D_2$  |  $D_3$  | 
-\\ 
-**6.1.** Să se verifice toate modurile de funcționare prezentate în tabelă. 
-\\ 
-**6.2.** Să se verifice funcționarea în inel a registrului. Pentru aceasta: 
-  * se vor conecta intrarea $D_{SR}$ la ieșirea $Q_3$ și intrarea $D_{SL}$ la ieșirea $Q_0$ 
-  * se încarcă paralel registrul cu valoarea 7, deci {$Q_0, Q_1, Q_2, Q_3$} = {$1, 1, 1, 0$} 
-  * se configurează intrările $S1=0, S0=1$ pentru deplasare dreapta și se analizează evoluția de tip permutare circulară în sens orar: 
-<​code>​ 
-1110 → 0111 → 1011 → 1101 
-↑_______________________| 
-</​code>​ 
-  * se configurează intrările $S1=1, S0=0$ pentru deplasare stânga și se analizează evoluția de tip permutare circulară în sens orar: 
-<​code>​ 
-1110 → 0111 → 1011 → 1101 
-|_______________________↑ 
-</​code>​ 
  
pl/lab/lab3.1595970054.txt.gz · Last modified: 2020/11/10 22:19 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0