Ghidul studentului la AC

Obiectivele laboratorului

  • Înțelegerea conceptului de limbaj de descriere hardware (eng. Hardware Description Language - HDL) și a necesității și utilizării acestuia
  • Noțiuni de bază ale limbajului Verilog
    • sintaxă, construcții limbaj
    • descriere circuite la nivel comportamental
    • descriere circuite la nivel structural
    • implementarea unor circuite combinaționale
    • implementarea unor circuite secvențiale prin automate de stări
  • Simulare de cod în Xilinx ISE
  • Lucrul cu FPGA-ul
  • Aprofundarea noțiunilor de arhitectura calculatoarelor prin implementarea unor părți ale procesorului didactic prezentat la curs (un procesor foarte simplificat)

Cunoștințe necesare

  • Limbajul C, implementarea unui algoritm dat, organizarea codului (Programarea Calculatoarelor)
  • Noțiuni de logică booleană, circuite logice simple (combinaționale și secvențiale), automate finite (Proiectarea Dispozitivelor Numerice)

Laborator

Orele de laborator constau într-o prezentare/discuție, pe tematica săptămânii respective, de aproximativ 25min. O descriere detaliată a fiecărui laborator este disponibilă pe acest site înainte de începerea săptămânii. Este recomandat să citiți de acasă acest text pentru a putea urmări mai ușor prezentarea, și pentru a putea folosi timpul pentru a clarifica noțiunile mai grele, cele ușoare fiind deja cunoscute din text.

Prezentarea este urmată de aproximativ 80min alocate pentru rezolvarea individuală a exercițiilor de laborator. Un alt avantaj al parcurgerii textului de acasă este că vă puteți aloca mai mult timp pentru rezolvarea exercițiilor dacă noțiunile ușoare (și cele grele) vă sunt deja cunoscute.

Ca un bonus pentru a recompensa parcurgerea întregului material dintr-un laborator, fie în timpul orei, fie acasă, la începutul următorului laborator veți primi un test scurt, de 5min, constând din una sau două întrebări din materialele și/sau rezolvarea laboratorului anterior. Aceste teste reprezintă dealtfel și un mod de a recupera o parte din punctaj, dacă nu ați putut asista la un laborator, sau dacă din diferite motive rezolvarea nu v-a ieșit cum ați dorit în timpul orei de laborator. Pentru a ușura citirea laboratorului în prealabil, puteți descărca textul laboratorului și în format PDF, prin accesarea link-ului din secțiunea resurse de la sfârșitul fiecărui laborator.

Teme

Pe parcursul semestrului veți primi 3 teme de rezolvat. Prima va fi o tema foarte simplă, de acomodare cu modalitatea de testare și trimitere pe vmchecker, urmând ca următoarele 2 să aprofundeze și să testeze înțelegerea noțiunilor din cadrul laboratorului. Aceste 2 teme vor fi mai complexe și vor necesita documentare sumplimentară și mai mult timp de rezolvare decât exercițiile de la laborator (minim 10h, în medie).

Pe lângă rezolvarea propriu-zisă va trebui să trimiteți și o descriere a soluției propuse astfel încât să ușureze înțelegerea codului de către cineva care este familiar cu problema și cu limbajul Verilog, dar nu neaparat cu implementarea voastră. Această descriere se face prin alegerea unor nume descriptive de variabile, formatarea estetică a codului și comentarii descriptive. De asemenea, fiecare temă trebuie să conțină și un fișier README, în care să descrieți abordarea generală precum și detaliile complicate ale implementării care nu s-ar preta în comentarii. În acest fișier puteți de asemenea să documentați și eventualele dificultați întâlnite în rezolvare precum și soluțiile încercate, sau alte detalii pe care le considerați relevante. Scrierea acestui fișier și documentarea soluției necesită timp, fiind recomandat să alocați cel puțin o oră pentru această activitate.

Dacă întâmpinați probleme în realizarea sau înțelegerea temelor:

  • folosiți forumul pentru fiecare temă de pe moodle, unde, în afară de asistenți, vor putea și alți colegi să vă răspundă dacă au întâmpinat sau rezolvat ceva similar
  • întrebați asistenții

Temele sunt individuale, iar pentru a aprofunda limbajul Verilog și a înțelege modul de funcționare a unor dispozitive digitale este important să le rezolvați singuri. Orice partajare a codului cu alți colegi sau discuții despre temă care nu s-ar regăsi și în descrierea din fișierul README poate fi considerată copiere și pedepsită conform regulamentului.

O funcționalitate importantă a vmchecker-ului este că puteți încărca tema de oricâte ori doriți și că se poate reveni la oricare dintre versiunile încărcate. Tot ce trebuie să faceți este să dați mail unui responsabil de temă și să specificați versiunea la care doriți să se revină (data și ora la care a fost încărcată). Acest lucru vă ajută în cazul în care se apropie deadline-ul soft, iar tema nu funcționează chiar cum ați dori. În această situație este posibil să încărcați versiunea actuală a temei și să vă asigurați punctajul curent. Veți fi apoi liberi să vă îmbunătățiți implementarea, știind că puteți reveni tot timpul la acea care obține punctajul final (teste automate + depunctare întârziere) cel mai convenabil.

Comunicare

În afara orelor de laborator echipa de asistenți vă poate ajuta cu orice neclarități aveți legate de materie. Ne puteți contacta prin diferite metode (descrise mai jos), în funcție de natura problemei pe care o aveți. Toți asistenții sunt bucuroși să vă ajute, indiferent cu cine faceți laboratorul.

Forum

Pe site-ul cursului aveți la dispoziție mai multe forumuri pentru discuții de audiență generală.

Pe forumul de știri vom pune anunțurile importante legate de curs, teme, laboratoare, examene etc. Pe acest forum sunteți înscriși automat și veți primi notificări pe adresa de e-mail de la facultate. Vă recomandăm să verificați această adresă pentru a fi la curent cu anunțurile postate.

Pe forumul de discuții generale puteți pune orice întrebări/sugestii legate de laboratoare sau materia studiată. Vă rugăm să nu încărcați forumul cu probleme care vă privesc doar personal. Pentru acestea puteți contacta un asistent direct pe e-mail.

E-mail

Pentru probleme care vă privesc doar personal și nu ar interesa și audiența generală ne puteți contacta pe e-mail (ex: vă lipsește o notă, aveți neclarități despre corectarea unei temei etc.). Pagina de organizare conține e-mail-urile tuturor asistenților din echipă. Nu folosiți însă e-mailul ca să ne trimiteți laboratoare rezolvate, pentru punctare, sau să cereți să vi se facă debugging pe teme.

Feedback

La finalul semestrului, înainte de intrarea în sesiune, pe site-ul cursului se va deschide accesul la formularul de feedback. Vă rugăm să ne ajutați cu îmbunățirea cursului și laboratorului prin completarea acestuia și prin menționarea lucrurilor care v-au plăcut sau care nu v-au plăcut, precum și sugestii despre cum am fi putut face lucurile mai bine.

ac-is/studentguide.txt · Last modified: 2021/10/03 13:50 by eduard.ciurezu
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