Designul Sistemelor Embedded

Curs

Curs 1. Introducere: Ce este un sistem embedded? Exemple de sisteme embedded utilizate în diverse domenii. Provocări în designul sistemelor embedded. Etapele designului sistemelor embedded.

Curs 2. Modelarea comportamentului dinamic al sistemelor: Sisteme continue. Sisteme discrete.

Curs 3. Memorii în Sisteme Embedded: Tipuri de memorii. Arhitectura memoriilor.

Curs 4. Arhitecturi de procesoare embedded: Tipuri de procesoare embedded. Organizare internă. Module periferice.

Curs 5. Interfațarea circuitelor: Tipuri de interfețe. Protocoale seriale de comunicare.

Curs 6. Arhitecturi software pentru sisteme embedded: Componente de bază. Tipuri de arhitecturi.

Curs 7. Analiza performanței sistemului: Viteză de execuție. Consum de memorie. Consum de putere. Securitate.


Laborator

Material laborator: Introducere in modelare si simulare cu SystemC

Lab 1-4.Se vor parcurge toate secțiunile din materialul de laborator referitoare la SystemC. Se vor rula toate exemplele prezentate și se vor rezolva exercițiile propuse.

Codul sursa al exemplelor din materialul de laborator poate fi descărcat mai jos. Pentru compilarea programelor folosiți sintaxa similară exemplului următor:

g++ -I. -I$SYSTEMC_HOME/include -L. -L$SYSTEMC_HOME/lib-linux -Wl,-rpath=$SYSTEMC_HOME/lib-linux -o sim hello_world.cpp -lsystemc -lm

Cod sursă exemple:
Hello, world! : hello_world.cpp
Exemplul 1 : process_example.cpp
Exemplul 2 : process_time_example.cpp
Exemplul 3 : bistabil_d.h, bistabil_d.cpp, testbench_bistabil_d.cpp
Exemplul 4 : bistabil_d.h, bistabil_d.cpp, divizor_frecventa.h, divizor_frecventa.cpp, testbench_divizor_frecventa.cpp

Lab 5. Se va implementa un latch de tip D (care reda la iesirea Q modificarile de la intrarea D pe intreaga durata a frontului pozitiv din semnalul de clock). Semnalul de clock va fi generat de un modul de sine statator. Semnalul de intrare D va fi generat si el de un modul separat sub forma unui semnal rectangular periodic cu frecventa mai mare decat a semnalului de clock. Iesirea din latch va fi interpretata si afisata de un modul supervizor.

Lab 6. Se va implementa un registru de deplasare (shift register) serial input-serial output, format prin cascadarea a 4 bistabile de tip D (flip-flop). Semnalul de clock comun pentru toate bistabilele va fi generat de un modul de sine statator. Semnalul de intrare in registru (intrarea D a primului bistabil din lant) va fi generat de un modul dedicat astfel: Semnalul este setat initial pe valoarea 0 urmand ca la fiecare perioada a semnalului de clock sa isi schimbe valoarea (va lua valoarea 1, apoi 0, etc.) Iesirea din fiecare bistabil va fi interpretata de un modul supervizor care salveaza semnalele in format VCD pentru a fi vizualizate folosind aplicatia GTKWave. Informatii suplimentare referitoare la registrii de deplasare.

Lab 7. Se va implementa un modul sumator cu carry pe 1 bit. Modulul sumator va fi construit conform schemei. Fiecare operatie de baza (AND, OR si XOR) din aceasta schema se va implementa ca un modul separat si se va instantia ulterior in modulul sumator. Pentru testarea sumatorului se va realiza un modul suplimentar care genereaza la intrarea sumatorului toate combinatiile posibile de semnale de intrare (A, B, Cin) precum si un modul supervizor ce va prelua iesirile S si C ale sumatorului. Semnalele de iesire precum si cele de intrare se vor salva in format VCD pentru a fi analizate folosind aplicatia GTKWave.