Documente Academic
Documente Profesional
Documente Cultură
Obiective
Tema are ca scop familiarizarea cu noțiunile limbajului Verilog studiate în cadrul primelor laboratoare:
module, construcții de limbaj, blocul always combinațional, prin implementarea unui algoritm dat.
Descriere și cerințe
Implementați un circuit care realizează înmulțirea a două numere întregi (cu semn), utilizând
algoritmul lui Booth, sau un algoritm la alegere, de aceeași complexitate, numerele fiind preluate
de la un afișaj digital pe două cifre, reprezentate în următoarea formă:
Valoarea 1 a biților asociați ledurilor din imagine semnifică activarea acestora. Observați în imaginea
de mai jos codificări de numere cu semn pe două cifre.
AC Wiki - https://elf.cs.pub.ro/ac/wiki/
Last update: 2019/10/29 13:28 teme:tema1 https://elf.cs.pub.ro/ac/wiki/teme/tema1
Ieșirea circuitului reprezintă rezultatul în forma sa binară al înmulțirii numerelor obținute prin
decodificare (fiecare având 8 biți: pentru a cuprinde valori între -99 și 99, sunt necesari 15 biți pentru
a stoca rezultatul)
Modulul implementat trebuie să respecte următoarea interfață (declararea ieșirilor de tip reg este
permisă):
module multiplier(
output[14:0] product, // rezultatul inmultirii in complement fata de
2
input [14:0] x, // codificarea primului numar
input [14:0] y); // codificarea celui de-al doilea numar
În cazul în care alegeți să implementați multiplicatorul utilizând un alt algoritm decât Metoda lui Booth,
consultați un responsabil de temă pentru a vă confirma că algoritmul ales îndeplinește standardele de
evaluare propuse pentru această temă.
Notare
● 10 pct: corectitudine; sunt testate toate combinațiile valide de operanzi pe 15 biți; se vor codifica
valorile afișajului de la -99 la 99 pentru fiecare operand și se vor compara iterativ valorile produsului
cu ale unui circuit de referință
● -10 pct: folosirea construcțiilor nesintetizabile din Verilog (while, repeat, for cu număr variabil de
iterații, operatorul *, instrucțiuni de întârziere etc.)
●
-5 pct: folosirea algoritmului de înmulțire prin adunări repetate ( această depunctare este aplicată
de către corector, nu automat de către vmchecker)
● -1.5 pct: lipsa documentației temei
● -0.5 pct: pentru fiecare zi de întârziere; tema poate fi trimisă cu maxim 7 zile întârziere față de
termenul specificat în enunț (față de deadline-ul soft); vacanța și sarbătorile legale nu sunt
considerate zile de întârziere
● -0.2 pct: folosirea incorectă a atribuirilor continue (assign), blocante (=) și non-blocante (<=)
https://elf.cs.pub.ro/ac/wiki/ Printed on 2019/10/29 14:38
2019/10/29 14:38 3/3 Tema 1 - Înmulțirea numerelor cu semn
Dacă tema primește 0pct pe vmchecker, se pot acorda maxim 2pct pe ideea implementării, la
latitudinea asistentului. Ideea și motivele pentru care nu funcționează trebuie documentate temeinic
în pdf-ul încărcat și/sau comentarii. Temele care au erori de compilare vor fi notate cu 0pct.
Alte precizări
● Arhiva temei (de tip zip) trebuie să cuprindă în rădăcina sa (fără alte directoare) doar:
❍ fișierele sursă (extensia .v)
❍ documentația temei (pdf)
● Arhiva nu trebuie să conțină fișiere de test, fișiere specifice proiectelor etc.
● Documentația temei va conține minim:
❍ numele și grupa
❍ prezentarea generală a soluției alese (ex: descrierea de nivel înalt a algoritmului folosit)
❍ explicarea porțiunilor complexe ale implementării (poate fi făcută și în comentarii)
❍ alte detalii relevante
● Vmchecker ne permite să revenim la orice soluție încărcată de voi; cereți revenirea la cea mai
convenabilă soluție trimisă (punctaj teste automate + depunctare întârziere) printr-un mail
responsabilului de temă
● Tema trebuie realizată individual; folosirea de porțiuni de cod de la alți colegi sau de pe Internet (cu
excepția site-ului de curs) poate fi considerată copiere și va fi penalizată conform regulamentului.
Resurse
● Tester offline
● PDF temă
● Wikipedia - Booth's multiplication algorithm
● Ghidul studentului la AC
● Utilizarea vmchecker
● Debugging folosind Xilinx ISE
From:
https://elf.cs.pub.ro/ac/wiki/ - AC Wiki
Permanent link:
https://elf.cs.pub.ro/ac/wiki/teme/tema1
AC Wiki - https://elf.cs.pub.ro/ac/wiki/