Home > ELEC390

ELEC390

ELEC390 is a project mainly written in C++ and C, it's free.

Introduction :

Les cannaux sont les tuyaux. Les interfaces sont les joints.

Les Types de données :

Question 1

  • On utilise sc_int pour les adresses : pour un accès aux cases de la ram (ou des char pour accélérer la simulation) sc_lv pour les data et la ram : on voit la ram comme un ensemble de bits (déterminés ou non) ou des short pour accélérer la simulation.

  • Pour un bus bidirectionnel : déjà fait dans le cours avec sc_inout_rv.

  • Si le bus de données augmente, on utilise des vecteurs de tailles idoines. On peut les remplacer par un short (16 bit), un long (32 bit), un long long (64 bit), un sc_int<23> (23 bit)

Question 3

char : ou moins 8b short : au moins 16b int : très variable à ne pas utiliser long : au moins 32b *long long : au moins 64b

SystemC structure :

À la fin de f : a=2 b=0 c=0

SystemC fonctionnel

Il ne faut pas utiliser les méthodes bloquantes (sur des fifo, mutex et sémaphore) dans une SC_METHOD. Cela la bloquerait. Il faut utiliser des threads séparés.

Généricité

Deux moyens :

Les templates : avantage : peut être statique inconvénient : déterminé à la compilation Arguments pour les constructeurs des modules : avantage : déterminé à l'execution inconvénient : besoin d'allocation dynamique