Proiect 2

De la WikiLabs
Versiunea din 26 februarie 2014 15:57, autor: Lpetrica (Discuție | contribuții) (Regulile proiectului)

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

Proiectul se desfășoară sub forma unui joc, având următoarele reguli:

  1. Fiecare semigrupă (conform 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ă
  2. 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.
  3. 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:
    1. Prezentarea unui produs ce îndeplinește cerințele funcționale date: 100 de puncte
    2. Avantajul primului venit: începând de la apariția pe piață a primului produs funcțional, 25 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
    3. Inovare dincolo de tema originală: pentru fiecare funcționalitate implementată în plus față de tema de proiectare, se acordă până la 25 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.
  4. 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.
  5. 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.
  6. 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

Tema de proiectare va fi publicată aici la sfârșitul săptămânii 2.


Activitatea de proiectare

Activitatea de proiectare se va desfăşura conform unor principii generale aplicabile unei clase cât mai cuprinzătoare de proiecte comerciale:

- timpul alocat realizării şi verificării produsului este limitat, având termene intermediare ("project timeline")

- cerințele produsului final sunt definite de client ("customer requirements")

- în timpul dezvoltării o atenție deosebită se acordă relației cu clientul sau promovării viitorului produs (discuții intermediare, prezentări ale situației, "datasheet", posibila oferire de date interne referitoare la soluții tehnice în condițiile existenței unui Non-Disclosure Agreement)

- produsul final este însoțit de o procedură de închidere / de acceptare ("commissioning", "project closure")

- pentru produsul respectiv se oferă suport, inclusiv sub forma unei documentații corespunzătoare ("datasheet", "application notes", "user manual")

Astfel, pentru această disciplină se va acorda atenția cuvenită şi aspectelor care caracterizează procesele dezvoltării în cadrul unui mediu competițional cu scopul de formare a studenților pentru potențiale proiecte cu obiectiv comercial.

Etapele procesului de dezvoltare

Procesul de dezvoltare se realizează conform unui plan predefinit cuprinzând atât sarcinile studenților şi ale indrumătorului didactic, cât şi termenele de predare aferente, reflectând principiile expuse în paragrafele anterioare.

Planificarea activităților pentru dezvoltarea produsului final în cadrul disciplinei Proiect 2

Detalii administrative se regăsesc în "Regulamentul de funcționare a Proiectului 2".

Unelte software

Pentru simularea sistemului digital se propune utilizarea programului ModelSim produs de Mentor Graphics.

Pentru sinteza circuitelor programul disponibil în laborator este Xilinx ISE produs de Xilinx.

Rezultate de proiect

Implementarea unui sistem digital se realizează prin parcurgerea unor etape succesive de descriere a funcționalității țintă. Punctul de pornire este reprezentat de cerințele clientului, în general expuse într-un limbaj comun, descriptiv care se supune însă deziteratelor de claritate şi concizie. De aceea, pe cât posibil, sunt favorizate descrierile prin formule matematice, tabele cu cerințe cuantizate şi figuri.

Specificațiile produsului

Procesul de proiectare a unui sistem digital reprezintă succesiunea de tranziții între descrieri din ce în ce mai detaliate, la fiecare tranziție ponderea descrierii comportamentale scăzând în favoarea descrierilor structurale. Prin specificațiile produsului se înțelege documentul care cuprinde caracteristicile pe care acesta e necesar să le posede pentru a îndeplini cerințele clientului.

Ghid de utilizare

Exemplu de diagramă a blocurilor componente (Referința 1)

Diagrama la nivel de blocuri componente

Metodologia de proiectare "Top Down" presupune împărțirea sistemului digital în sub-sisteme, echivalentă descompunerii funcției de transfer a sistemului superior în sub-funcții de o complexitate mai redusă. Similar, din analiza specificației sistemului, se deduc specificațiile sub-sistemelor componente.

Diagrama la nivel de blocuri componente realizează reprezentarea grafică a structurii unui sistem, în mod tipic folosită pentru a oferi o percepție la nivel superior a implementării funcționalității sistemului.


Domeniul de aplicație

Componente hardware

Placa de dezvoltare

Placa de dezvoltare pusă la dispoziția studenților pentru verificarea implementării şi pentru prezentarea finală a proiectului este Nexys 2 produsă de Digilent.


Referințe

1. Gh. Stefan: Loops & Complexity in Digital Systems. Lecture Notes on Digital Design in the Giga-Gate per Chip Era

2. Xilinx Inc.: XST User Guide for Virtex-4, Virtex-5, Spartan-3, and Newer CPLD Devices