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