Tehnici de proiectare asistata de calculator Dr Doru

  • Slides: 14
Download presentation
Tehnici de proiectare asistata de calculator Dr. Doru Todinca www. cs. upt. ro/~todinca E-mail:

Tehnici de proiectare asistata de calculator Dr. Doru Todinca www. cs. upt. ro/~todinca E-mail: doru. todinca@cs. upt. ro

Organizare • • 2 ore curs, 2 ore laborator pe saptamina Examen cu pondere

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 OMNe. T++

Obiectivele cursului • Tehnici de proiectare asistata de calculator a: – Sistemelor hardware –

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 anterior • Utilizarea unui simulator de retele : OMNe. T++

Realizarea obiectivelor: pentru sistemele hardware • La curs: elemente ale limbajului VHDL – –

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 (Qo. S)

Realizarea obiectivelor: pentru sistemele de telecomunicatii • La curs: – Calitatea serviciilor (Qo. S) si diferentierea calitatii serviciilor in Internet – Arhitecturi: servicii integrate (Int. Serv), servicii diferentiate (Diff. Serv) – 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 (OMNe. T++) – Realizarea unor modele de simulare pentru studiul performantelor unor arhitecturi (Int. Serv, Diff. Serv) si a unor algoritmi (de scheduling, admission control, etc) – Colectarea si interpretarea rezultatelor simularilor

Bibliografie • [EKP 98] Petru Eles, Krzysztof Kuchcinski, Zebo Peng, “System Synthesis with VHDL”,

Bibliografie • [EKP 98] Petru Eles, Krzysztof Kuchcinski, Zebo Peng, “System Synthesis with VHDL”, Kluwer Academic Publishwers, 1998 (capitolul 2, mai ales pt partea de modelare secventiala) • [Bha 95] 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 !!!) • [Sta 07] William Stallings, Data and Computer Communications, Eight Edition, Pearson Prentice Hall, 2007 • [Omn 10] OMNe. T++ User Manual, Version 4. 1. Andras Varga and Open. Sim Ltd, 2010. [Online]. Available: http: //www. omnetpp. org/ • Slide-uri in Power Point

Surse bibliografice • Partea de VHDL a cursului se bazeaza pe [EKP 98] si

Surse bibliografice • Partea de VHDL a cursului se bazeaza pe [EKP 98] si [Bha 95], in sensul ca au fost preluate exemple, figuri si text (tradus) din cele doua carti, [EKP 98] si [Bha 95] • Cursurile 1, 2, 3 si 4 (fara instructiunea BLOCK) se bazeaza pe [EKP 98], iar partea continind instructiunea BLOCK din cursul 4, precum si cursurile 5, 6 si 7 se bazeaza pe [Bha 95] • Capitolele de curs se bazeaza pe [EKP 98], [Ash], [Bha 95] • Partea de OMNe. T++ (din cursul 8, Simularea retelelor) se bazeaza pe [Omn 10], continind exemple, figuri si text (tradus sau in limba engleza) din [Omn 10] • Cursul 9 (Notiuni privind calitatea serviciului in Internet) se bazeaza pe [Sta 07], continind exemple, figuri si text din [Sta 07]

Partea I: Limbajul VHDL Capitolul 1: INTRODUCERE

Partea I: Limbajul VHDL Capitolul 1: INTRODUCERE

Introducere • VHDL – VHSIC Hardware Description Language • VHSIC – Very High Speed

Introducere • VHDL – VHSIC Hardware Description Language • VHSIC – Very High Speed Integrated Circuits – program al Do. D 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 – Do. D 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

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

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

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

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 Fluxuri de date Transfer Level) Registre, multiplexoare, ALU Circuit sau macrocelula Sistem CPU, memorii Circuite, placi Algoritmi si procese -Gradul de abstractizare creste de la circuit spre sistem -Diagrama Y (Gajski), dupa [EKP 98]: 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

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