Sunteți pe pagina 1din 3

Curs Verificarea Functionala a Circuitelor Integrate Digitale (VERIF)

master TMPS, ETTI, 2014-2015

Miniproiect:

Pentru DUT pus la dispozitie sa se proiecteze un mediu de


verificare su structura discutata in curs.
Simularile se pot realiza intr-un simulator ce suporta Verilog si
SystemVerilog (propus Mentor Graphics ModelSim/QuestaSim sau
Cadence NC-Sim/SimVision).

Examinare:

Examen scris cu intrebari din tematica cu acces la materialele


studiate. Sustinere in sesiunea iarna 2014-2015 si in sesiunea de
restante vara.

materiale selectate:

a) Janick Bergerom - Writing Testbenches: Functional Verification of


HDL Models, Kluve Academic Press, ISBN 0-7923-7766-4 – PDF;
b) Janick Bergerom - Writing Testbenches using SystemVerilog, ISBN
9780387312750 – PDF;
c) Zainalabedin Navabi - Verilog Digital System Design, McGraw-Hill,
2ed, ISBN 0-07-158892-2;
d) Chris Spear – SystemVerilog for Verification, Springer, 2ed, e-ISBN
978-0-387-76530-3;
e) Synopsys, One Day Training: Introduction to SystemVerilog for
Testbench;
f) Mark Glasser - Open Verification Methodology Cookbook,
Springer, ISBN 978-1-4419-0968-8;

Obs: Deosebit de util pentru proiect este tutorialui de la Synopsys.

Pentru noțiunile predate la curs utila este cartea „Writing


Testbenches”.

a) subiecte:
- noțiuni de SystemVerilog:
o tipuri de date (typedef, enum, struct,array fix / dinamic );
o interfața si modport;
o noțiuni de programare orientată obiect ( class, new, derivare, funcții virtuale);
o randomizare si constrângeri pentru randomizare;
o structuri de program (program, task, funcție, si controlul execuției cu fork..join);
o comunicație (mailbox, event).
- noțiuni de verificare funcționala:
o încadrarea verificării in flow: design – testare – producție;
o obiectivele verificării;
o diferențiere intre verificare si testare;
o abordări: black-box, gray-box, white-box;
o nivele de abordare: modul / componenta / sistem;
o abordări pentru verificare: generarea de stimuli random;
- mediul de verificare:
o componente standard ale mediului de verificare: driver / generator =
secvențiator / monitor / agent / BFM / scoreboard [rol / mod de lucru / mod de
interconectare / funcția lor din punct de vedere al verificării];
o structura mediului de verificare;
- noțiunea de acoperire „coverage”:
o diverse tipuri de coverage pe cod;
o coverage funcțional;

Prezentare DUT
Circuitul de verificat este un comutator de pachete(denumit in continuare DUT sau YAPP router) cu o
interfață de intrare si 3 interfețe de ieșire. Suplimentar are un set de registri interni si o interfață de
configurare a acestora.

Porturile YAPP Router precum si funcționarea sa sunt descrise in documentul de specificații (EN/RO).

Pentru dezvoltarea mediului de verificare se solicita:


- Identificarea interfețelor si definirea semnalelor din interfețe;
- Crearea unui agent de interfață pentru Reset;
- Crearea unui agent de interfață pentru Date, funcționând atât ca master cat si slave (sau 2
agenți diferiți) corespunzător fluxurilor de intrare respectiv ieșire;
- Crearea unui agent pentru interfața de Host;
- Crearea unui agent funcțional cu scoreboard;
- Interconectarea intr-un mediu de verificare, in care sa realizează un singur test care: resetează
inițial DUT-ul, transmite un număr random de pachete de date, reset, configurează DUT-ul
diferit de situația implicita (random), transmite un număr de pachete de date.

Exemple din laborator sau prezentări

- exemplu de interfață cu semnale (de intrare, ieșire respectiv bidirecționale);


- exemple in diferite forme pentru implementare TLM (GET respectiv PUT) in diverse forme (cu
apel sau cu mailbox);
- exemplu: definește o clasa de baza, o clasa derivata si o funcție de tipărit mesaje, eventual cu
posibilitatea de a permite/inhiba afișarea mesajelor. Toată ierarhia de clase va fi derivată din
această clasă de bază și va moșteni funcționalitatea.
- „YAPP_Router” conține structura de directoare si de fișiere, codul pentru DUT, definite interfețe
pentru Reset, IN, OUT, Host (cu structurile de directoare), DUT Wraper, Environment-ul si
modulul TOP. Se urmărește modul in care au fost definite interfețele, modul in care cu ajutorul
acestor interfețe a fost conectat DUT. Se simulează modulul TOP.

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