Proiect 2: Diferență între versiuni

De la WikiLabs
 
(Nu s-au afișat 17 versiuni intermediare efectuate de același utilizator)
Linia 9: Linia 9:
 
== Regulile proiectului ==
 
== Regulile proiectului ==
  
Proiectul se desfășoară sub forma unui joc, având următoarele reguli:
+
# Studenții vor forma echipe de maxim 5 persoane, care vor colabora pentru implementarea temei de proiect.
 +
# Fiecare echipă va numi un reprezentant, dintre membrii săi, care va fi responsabil cu anumite sarcini organizatorice și de comunicare între echipă și cadrul didactic.
 +
# Tema de proiect va fi divizată de către cadrul didactic în sarcini, ce vor fi prezentate membrilor echipei la fiecare întâlnire de proiect. Astfel, fiecare membru al echipei va realiza minim o sarcină în intervalul dintre două întâlniri de proiect. Alocarea sarcinilor către fiecare coechipier se realizează de către membrii echipei prin consens.
 +
# Membrii echipei vor submite rezolvările sarcinilor alocate printr-un sistem de versionare a codului. Reprezentantul echipei are responsabilitatea de a organiza sistemul de versionare conform indicațiilor cadrului didactic.
 +
# Membrii echipei vor fi notati pentru codul submis înainte de termenul limită (următoarea întâlnire de proiect).
 +
## Dacă sarcina alocată nu este îndeplinită până la expirarea termenului limită, atunci sarcina poate fi realocată unui alt membru al echipei.
 +
## Dacă a realizat și submis codul aferent sarcinii alocate, un membru al echipei poate cere alocarea unei sarcini suplimentare din lista de sarcini în așteptare
 +
## Îndeplinirea sarcinii va fi demonstrată prin submiterea unui modul de test împreună cu fiecare bloc funcțional implementat.
  
# Fiecare semigrupă (conform [[EchipeProiect2-2014|listelor afișate]]) reprezintă un jucător, și simulează o companie start-up, ai cărei co-fondatori sunt studenții ce fac parte din grupă
+
== Descrierea Temei de Proiectare ==
# Jucatorii vor proiecta și implementa un produs electronic, după o specificație funcțională dată. Specificația produsului va fi livrată către toți jucătorii simultan, la sfârșitul săptămânii 2.
 
# Jucătorii concurează pe o piață virtuală pentru obținerea de puncte. Clasamentul pe puncte va fi public și actualizat constant. Jucătorii pot câștiga puncte prin următoarele activități:
 
## Prezentarea unui produs ce îndeplinește cerințele funcționale date: 100 de puncte
 
## Avantajul primului venit: începând de la apariția pe piață a primului produs funcțional, 20 de puncte se distribuie în mod egal, la sfârșitul fiecărei săptămâni, între jucatorii care au un produs funcțional
 
## Inovare dincolo de tema originală: pentru fiecare funcționalitate implementată în plus față de tema de proiectare, se acordă până la 20 de puncte/săptămână, începând cu săptămâna în care inovația a fost implementată inițial de unul din jucători. Punctele se împart în fiecare săptămână între jucătorii care implementează respectiva funcționalitate. Numărul exact de puncte obținute săptămânal va fi determinat de cadrul didactic, și este o funcție a complexității inovației.
 
# Pentru fiecare produs sau inovație ce obține puncte în cadrul jocului, jucătorul va submite un pachet complet de cod sursă și documentație tehnică pentru cadrul didactic. Codul sursă va fi păstrat confidențial față de ceilalți jucători, dar va fi verificat în scopul identificării plagiatului. Pentru produse plagiate nu se acordă puncte, ci se percepe o penalizare de 10 puncte.
 
# La sfârșitul jocului (semestrului), punctele acumulate de o grupă se distribuie în cadrul grupei. Nu se impun criterii pentru distribuire. Se încurajează distribuirea punctelor conform contribuției la activitățile de proiectare și dezvoltare. Un reprezentant al grupei va comunica o listă de puncte ce revin fiecărui student din grupă, în limita a 10 puncte per student. Numărul de puncte reprezintă nota preliminară a studentului la materia Proiect 2. Nota finală se calculează prin medie cu nota acordată de cadrul didactic studentului.
 
# Faliment: jucătorii care nu au prezentat un produs funcțional de-a lungul desfășurării jocului vor fi evaluați de către cadrul didactic, stabilindu-se o notă pentru fiecare student în parte. În afară de situații cu totul excepționale, este de așteptat ca suma notelor studenților în acest caz să fie maxim 100.
 
 
 
== Descrierea temei de proiectare ==
 
 
Se va proiecta și dezvolta o consolă de jocuri, ce va avea următoarele caracteristici:
 
Se va proiecta și dezvolta o consolă de jocuri, ce va avea următoarele caracteristici:
  
*Jocuri ce vor fi implementate: Pong
+
*Jocuri ce vor fi implementate: Snake
 
*Control de la tastatură PS2 (tastatura va fi conectată la placa Nexys2)
 
*Control de la tastatură PS2 (tastatura va fi conectată la placa Nexys2)
*Afisare grafică prin VGA (monitorul va fi conectat la placa Nexys2)
+
*Afisare grafică prin VGA la rezoluția 800x600 (monitorul va fi conectat la placa Nexys2)
*Tabela de scor (folosind afișajul cu 7 segmente de pe placa Nexys2)
+
*Tabela de scor (folosind afișajul cu 7 segmente de pe placa Nexys2) ce va indica punctele acumulate și nivelul atins
*Jocul de Pong va avea mod single-player (adversar AI) și multi-player (2 jucători umani)
+
 
 +
[http://wiki.dcae.pub.ro/images/5/54/Proiect2SnakePRD.pdf Cerințe de proiectare]
 +
 
 +
[http://wiki.dcae.pub.ro/images/1/17/Proiect2SnakeArchitecture.pdf Arhitectura Impusă]
 +
 
 +
== [https://docs.google.com/spreadsheets/d/1p8w0kvnU5Es7UJkdlR8HiP32HaWOA5qvm81B-jnQWx8 Status] ==
  
 +
== Resurse Utile ==
  
=== Lista temelor anterioare ===
+
[http://www.digilentinc.com/data/products/nexys2/nexys2_rm.pdf Manual Nexys 2]
* [[Proiect: Soft Square|Anul universitar 2011-2012]]
 
* [[Proiect: Billboard Particles Emitter|Anul universitar 2012-2013]]
 
  
== Clasament Curent ==
+
[http://tinyvga.com/vga-timing/800x600@72Hz Parametri VGA 800x600@72Hz]
{| class="wikitable"
 
|-
 
! Echipa
 
! Coordonator
 
! Puncte
 
|-
 
| Echipa 2
 
| Sorina LUPU
 
| 100
 
|}
 
  
 +
[http://www.asic-world.com/verilog/veritut.html Tutorial Verilog]
  
 +
[https://try.github.io Tutorial Git]
  
 +
<!--
 
== Accesul în laborator ==
 
== Accesul în laborator ==
 
Laboratorul A410 este disponibil conform [http://dcae.pub.ro/orar_410.html orarului]. Pentru intervalele orare în care nu se desfășoară laboratoare CID, se pot face programări pentru a lucra în laborator. În mod obișnuit 1-2 posturi de lucru sunt disponibile în timpul fiecărui laborator CID, și pot fi folosite de studenți de la Proiect 2, cu acordul cadrului didactic prezent în laborator.  
 
Laboratorul A410 este disponibil conform [http://dcae.pub.ro/orar_410.html orarului]. Pentru intervalele orare în care nu se desfășoară laboratoare CID, se pot face programări pentru a lucra în laborator. În mod obișnuit 1-2 posturi de lucru sunt disponibile în timpul fiecărui laborator CID, și pot fi folosite de studenți de la Proiect 2, cu acordul cadrului didactic prezent în laborator.  
 +
  
 
== Activitatea de proiectare ==
 
== Activitatea de proiectare ==
Linia 100: Linia 95:
  
 
== Domeniul de aplicație ==
 
== Domeniul de aplicație ==
 
<!-- === Controllere video şi Unități de Procesare Grafică === -->
 
 
<!-- === Fizică (elemente de teorie) şi Unități de Procesare Fizică === -->
 
  
 
== Componente hardware ==
 
== Componente hardware ==
Linia 115: Linia 106:
 
=== Dispozitiv VGA ===
 
=== Dispozitiv VGA ===
 
Dispozitivul periferic de intrare impus de cerințele proiectului este un monitor LCD conectat la placa de dezvoltare prin intermediul portului VGA.
 
Dispozitivul periferic de intrare impus de cerințele proiectului este un monitor LCD conectat la placa de dezvoltare prin intermediul portului VGA.
 +
 +
  
 
== Referințe ==
 
== Referințe ==
Linia 120: Linia 113:
  
 
2. Xilinx Inc.: [http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1/xst.pdf XST User Guide for Virtex-4, Virtex-5, Spartan-3, and Newer CPLD Devices]
 
2. Xilinx Inc.: [http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1/xst.pdf XST User Guide for Virtex-4, Virtex-5, Spartan-3, and Newer CPLD Devices]
 +
 +
 +
-->

Versiunea curentă din 28 aprilie 2015 07:14

Proiect 2 reprezintă disciplina care propune studenților desfăşurarea unei activități de proiectare și implementare a unui sistem digital specific unei aplicații date, pe un circuit configurabil FPGA.

Scopul activității de proiect

Activitatea de proiect are ca scop crearea unui cadru organizat, susținut de un îndrumător didactic, în care studenții să aplice cunoştințele dobândite anterior în cadrul cursului "Circuite Integrate Digitale" şi în cadrul laboratorului asociat acestuia pentru a lua decizii raționale asupra diferitelor aspecte ținând de activitatea de proiectare a unui circuit digital ce implementează o funcționalitate specificată. Proiectul dorește să stimuleze următoarele trăsături ale studentilor:

  • Gândirea creativă, pentru găsirea de soluții tehnice la probleme specificate din punct de vedere funcțional
  • Lucrul în echipă și spiritul organizatoric
  • Spiritul antreprenorial și competitivitatea

Regulile proiectului

  1. Studenții vor forma echipe de maxim 5 persoane, care vor colabora pentru implementarea temei de proiect.
  2. Fiecare echipă va numi un reprezentant, dintre membrii săi, care va fi responsabil cu anumite sarcini organizatorice și de comunicare între echipă și cadrul didactic.
  3. Tema de proiect va fi divizată de către cadrul didactic în sarcini, ce vor fi prezentate membrilor echipei la fiecare întâlnire de proiect. Astfel, fiecare membru al echipei va realiza minim o sarcină în intervalul dintre două întâlniri de proiect. Alocarea sarcinilor către fiecare coechipier se realizează de către membrii echipei prin consens.
  4. Membrii echipei vor submite rezolvările sarcinilor alocate printr-un sistem de versionare a codului. Reprezentantul echipei are responsabilitatea de a organiza sistemul de versionare conform indicațiilor cadrului didactic.
  5. Membrii echipei vor fi notati pentru codul submis înainte de termenul limită (următoarea întâlnire de proiect).
    1. Dacă sarcina alocată nu este îndeplinită până la expirarea termenului limită, atunci sarcina poate fi realocată unui alt membru al echipei.
    2. Dacă a realizat și submis codul aferent sarcinii alocate, un membru al echipei poate cere alocarea unei sarcini suplimentare din lista de sarcini în așteptare
    3. Îndeplinirea sarcinii va fi demonstrată prin submiterea unui modul de test împreună cu fiecare bloc funcțional implementat.

Descrierea Temei de Proiectare

Se va proiecta și dezvolta o consolă de jocuri, ce va avea următoarele caracteristici:

  • Jocuri ce vor fi implementate: Snake
  • Control de la tastatură PS2 (tastatura va fi conectată la placa Nexys2)
  • Afisare grafică prin VGA la rezoluția 800x600 (monitorul va fi conectat la placa Nexys2)
  • Tabela de scor (folosind afișajul cu 7 segmente de pe placa Nexys2) ce va indica punctele acumulate și nivelul atins

Cerințe de proiectare

Arhitectura Impusă

Status

Resurse Utile

Manual Nexys 2

Parametri VGA 800x600@72Hz

Tutorial Verilog

Tutorial Git