Transcript ppt
Tehnici de proiectare asistata de calculator Dr. Doru Todinca www.cs.upt.ro/~todinca E-mail: [email protected] Organizare • • • • 2 ore curs, 2 ore laborator pe saptamina Examen cu pondere 50%, laboratorul 50% Prezenta la laborator este obligatorie Laborator: – Lucrari introductive in VHDL – Mini-proiecte in VHDL – Simularea unor retele in OMNeT++ Obiectivele cursului • Tehnici de proiectare asistata de calculator a: – Sistemelor hardware – Sistemelor de telecomunicatii • Insusirea unor tehnici de modelare si simulare, adica • Un nou mod de a programa !(mai corect – de a modela): timp de simulare, descrierea structurii modelului, descrierea comportamentului • Studiul limbajului VHDL, ca limbaj reprezentativ de descriere hardware (HDL = Hardware Description Language) • Verificarea prin simulare a unor proiecte realizat anteriore • Utilizarea unui simulator de retele : OMNeT++ Realizarea obiectivelor: pentru sistemele hardware • La curs: elemente ale limbajului VHDL – – – – Mecanismul de simulare Modelarea comportamentala secventiala Citeva elemente de modelare structurala Descrierea unor circuite: registre, MUX, automate secventiale (FSM), magistrale – Fata de anii trecuti se va reduce partea de VHDL • La laborator: – Realizarea unor mini-proiecte in VHDL, pornind de la proiecte realizate la materii studiate anterior Realizarea obiectivelor: pentru sistemele de telecomunicatii • La curs: – Calitatea serviciilor (QoS) si diferentierea calitatii serviciilor in Internet – Arhitecturi: servicii integrate (IntServ), servicii diferentiate (DiffServ) – Tehnici: planificare (scheduling), admiterea utilizatorilor (admission control), rutare (routing), controlul congestiei (congestion control), controlul erorilor, etc. – Aceasta parte a cursului va fi mult extinsa fata de anii trecuti ! • La laborator: – Utilizarea unui simulator de retele (OMNeT++) – Realizarea unor modele de simulare pentru studiul performantelor unor arhitecturi (IntServ, DiffServ) si a unor algoritmi (de scheduling, admission control, etc) – Colectarea si interpretarea rezultatelor simularilor Bibliografie • [EKP98] Petru Eles, Krzysztof Kuchcinski, Zebo Peng, “System Synthesis with VHDL”, Kluwer Academic Publishwers, 1998 (capitolul 2, mai ales pt partea de modelare secventiala) • [Bha95] J. Bhasker, “A VHDL Primer”, Prentice Hall, 1995 • [Ash] P. Ashenden, “VHDL Cookbook”, www… • Capitole de curs, pentru partea de VHDL, pe pagina cursului (NU contin tot cursul !!!) • [Sta07] William Stallings, Data and Computer Communications, Eight Edition, Pearson Prentice Hall, 2007 • [Omn10] OMNeT++ User Manual, Version 4.1. Andras Varga and OpenSim Ltd, 2010. [Online]. Available: http://www.omnetpp.org/ • Slide-uri in Power Point Surse bibliografice • Partea de VHDL a cursului se bazeaza pe [EKP98] si [Bha95], in sensul ca au fost preluate exemple, figuri si text (tradus) din cele doua carti, [EKP98] si [Bha95] • Cursurile 1,2,3 si 4 (fara instructiunea BLOCK) se bazeaza pe [EKP98], iar partea continind instructiunea BLOCK din cursul 4, precum si cursurile 5, 6 si 7 se bazeaza pe [Bha95] • Capitolele de curs se bazeaza pe [EKP98], [Ash], [Bha95] • Partea de OMNeT++ (din cursul 8, Simularea retelelor) se bazeaza pe [Omn10], continind exemple, figuri si text (tradus sau in limba engleza) din [Omn10] • Cursul 9 (Notiuni privind calitatea serviciului in Internet) se bazeaza pe [Sta07], continind exemple, figuri si text din [Sta07] Partea I: Limbajul VHDL Capitolul 1: INTRODUCERE Introducere • VHDL – VHSIC Hardware Description Language • VHSIC – Very High Speed Integrated Circuits – program al DoD in anii ‘80, – Pornea de la situatia data: • existau numeoase tool-uri si limbaje, de obicei proprietatea unor firme • Fiecare dintre acestea acopereau citeva niveluri ale unui proiect hardware, dar nu toate nivelurile • Existau numeroase probleme de compatibilitate intre ele – DoD lanseaza o competitie internationala pentru un limbaj de descriere hardware care: • Sa devina standard international (adica, sa nu fie proprietatea unei companii) • Sa acopere cit mai multe niveluri ale unui proiect hardware (toate) • Sa permita comunicarea intre echipe diferite ce lucreaza la acelasi proiect • Prima standardizare a limbajului: VHDL’87, standard IEEE 1072-87 • Apoi: VHDL’93: – ofera o sintaxa mai omogena – Mai multe (prea multe !!) facilitati de lucru la nivel inalt (variabile globale, pointeri) Introducere (2) • Concurentul VHDL: limbajul Verilog – A pornit ca limbaj dezvoltat de o firma (Gateway), fiind apoi proprietatea firmei Cadence Design Systems – A devenit public in 1991, fiind acum standard IEEE – Diferente de sintaxa fata de VHDL (sintaxa asemanatoare cu C) – si uneori de filozofie: porti predefinite, functii de rezolutie predefinite in limbaj, spre deosebire de VHDL, unde nu exista asa ceva. Caracteristici ale VHDL • VHDL permite – – – – Descrierea (specificarea) unor circuite / sisteme Documentare Simularea functionarii unor circuite /sisteme Sinteza circuitelor • Caracteristici comune limbajelor de programare de nivel inalt: – Tipuri de date, instructiuni, etc – VHDL e un limbaj puternic tipizat ! Caracteristici ale VHDL specifice HDL • Mecanismul de simulare: ordoneaza evenimentele, se ocupa de avansul timpului • Exista timpul inclus in limbaj: in VHDL tipul time de tip fizic, bazat pe Integer • de ex in Omnet++, timpul e de tip real in versiunile de Omnet mai mici de 4.0 • Avantajele utilizarii unui timp de tip intreg: reprezentarea intregilor depinde mai putin de implementare decit a nr flotante • Permite descrieri structurale • Instructiunile VHDL sunt descrise in termeni de simulare (au o semantica bazata pe simulare) – Avantaj: simularea este determinista (rezultatul simularii unui model va fi acelasi indiferent de sistemul pe care este rulata simularea) – Dezavantaj: face mai dificila sinteza circuitelor (exista instructiuni care nu sunt potrivite pt sinteza) • VHDL este un limbaj concurent: – deoarece si hardware-ul functioneaza concurent – Exista in limbaj structuri in cadrul carora instructiunile se executa secvential: procese si subprograme Niveluri de descriere (abstractizare) Nivel Domeniul comportamental Domeniul structural Domeniul fizic Circuit Ecuatii diferentiale Tranzistori Poligoane Logic Ecuatii booleene Porti, bistabile Celule elementare RTL (Register Transfer Level) Fluxuri de date Registre, multiplexoare, ALU Circuit sau macrocelula Sistem Algoritmi si procese CPU, memorii Circuite, placi -Gradul de abstractizare creste de la circuit spre sistem -Diagrama Y (Gajski), dupa [EKP98]: o reprezentare grafica a continutului tabelului de mai sus -VHDL acopera nivelurile de la logic la sistem, in cadrul domeniilor comportamental si structural Sinteza • Se defineste in general ca fiind transformarea unei descrieri comportamentale intr-o descriere structurala • In functie de nivelul de la care se porneste, exista sinteza de nivel sistem, de nivel inalt, de nivel logic si de nivel fizic • Se incearca automatizarea procesului de sinteza: mai dificila la nivelurile mai inalte • In cadrul cursului nu vom studia sinteza circuitelor