Sunteți pe pagina 1din 4

Test Fundamentele Calculatoarelor

(1.0p)
1. Sa se scrie un modul, numit Transform, care
transforma un număr (intrare numita NR_IN)
intr-un alt numar (iesire numita NR_OUT):
a. Intrarea NR_IN reprezinta un numar scris in formatul
BCD in intervalul [0, 999]. Sa se aleaga numărul minim
de biți necesari pentru a reprezenta întregul interval
(0.5p)
b. Ieșirea NR_OUT va fi egala cu numărul NR_IN
transformat în: (1.0p)
i. Exces de 3 DACĂ intrarea NR_IN este în intervalul [0;
99].
ii. 2-din-5 74210 DACĂ intrarea NR_IN este în intervalul
[100; 449]
iii. 2-din-5 63210 DACĂ intrarea NR_IN este în intervalul
[450; 899]
iv. Zecimal DACĂ intrare NR_IN este în intervalul [900; 999]
c. Sa se aleaga numărul minim de biți necesari pentru a
reprezenta toate formatele conform cerintei b (0.5p)
d. [INFO] Biții nefolositi se vor seta pe 0
2. Sa se scrie un modul cu 2 intrări pe 8 biți,
notate a, b, 1 intrare pe 16 biți, notata c, si 5
intrari pe 1 bit, notate comp_en, minmax_en,
sel_ab, sel_c, sel_minmax. Ieșirile modului se
vor nota cu comp_out (1 bit), minmax_out
(8biti) , sum_ab(3 biți), xor_out (16 biți)
a. Modulul reacționează doar la intrările comp_en,
minmax_en (0.25p)
b. Initial, toate ieșirile vor avea toți biții setați pe 1 (0.25p)
c. Ieșirile au următoarea logica:
i. comp_out (0.5p)
1. Se schimba doar cand c_en e 1. Altfel, ramane valoarea
precedenta
2. Are valoarea 0 cand a > b
3. Are valoarea 1 cand a < b
4. Are valoarea precedenta negata, cand a = b
ii. minmax_out (1.0p)
1. Se schimba doar cand minmax_en e 1. Altfel, ramane valoarea
precedenta
2. Are valoarea în funcție de tabelul de mai jos:

sel_ab sel_c sel_minmax minmax_out

0 0 0 MIN(a, LSB(C))

0 0 1 MAX(a, LSB(C))

0 1 0 MIN(a, MSB(C))

0 1 1 MAX(a, MSB(C))

1 0 0 MIN(b, LSB(C))

1 0 1 MAX(b, LSB(C))

1 1 0 MIN(b, MSB(C))

1 1 1 MAX(b, MSB(C))
3. MSB(x) = Most Significant Byte of x = cel mai semnificativ byte (8
biti) din x
4. LSB(x) = Least Significant Byte of x = Cel mai putin semnificativ
byte (8 biti) din x
5. MIN(x, y) = Valoarea minima dintre x și y
6. MAX(x, y) = Valoarea maxima dintre x si y
iii. sum_ab (1.0p)
1. Se schimba tot timpul
2. Este egal cu suma biților de pe poziții pare din a și biții de pe
poziții impare din b
iv. xor_out (1.0p)
1. Se schimba tot timpul
2. Este egal cu operatia XOR intre c si X, unde
a. X este rezultatul concatenarii lui Y și Z, unde
b. Y este rezultatul operației AND între a și b
c. Z este rezultatul operației OR între a și b

3. Sa se implementeze următoarea diagrama


logica în Verilog, intr-un modul numit
LogicDiagram: (1.0p)

4. Sa se implementeze urmatorul tabel de adevar


in Verilog, intr-un modul numit TruthTable:
(1.0p)
Intrari Iesire

a b c X

0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 0

Să se deducă forma minimizata (numărul minim de porti)


pentru ieșirea X (1.0p).

S-ar putea să vă placă și