TP1-IFT6221-A05

Cet article peut être intéressant pour avoir une première introduction rapide à la modélisation en utilisant SystemC. Ce fichier contient la description d’un modèle producteur consommateur qui utilise une FIFO pour communiquer.

  1. Compiler et exécuter ce fichier utilisant un environnement SystemC.
  2. Donner une autre version où le producteur s'arrête entre 1 et 3 ns chaque fois qu'il écrit un caractère et le consommateur prend entre 1 et 4 ns pour consommer une unité.
  3. On modifie le système pour avoir 2 producteurs et 2 consommateurs. Chaque producteur aura sa FIFO où il met ce qu'il produit. Un produit des entiers et l'autre des caractères. Un des producteurs prend entre 1 et 3 ns pour produire une unité et l'autre entre 1 et 5 ns. Les consommateurs prennent entre 1 et 4 ns pour consommer une unité. Chaque consommateur choisit au hasard s'il prend un entier ou un caractère à chaque fois. Si les 2 consommateurs font une requête pour le même producteur et dans la même unité de temps et qu'il n'y a qu'un élément dans la FIFO, il ne doit avoir qu'un consommateur qui prend cette unité.
  4. Généraliser la  FIFO pour être générique et ainsi accepter plusieurs types de données dans SystemC. Une instance ne doit accepter qu'un type de donné. Mais chaque instance doit pouvoir avoir n'importe quel type (float, int, bool, struct, ...)
  5. Que se passe-t-il si les producteurs envoient l'unité produite à un consommateur particulier? Produire le code correspondant.
  6. Développer un programme similaire à celui produit du numéro 2 en VHDL et ESys.NET et discuter votre implémentation. Pour le VHDL vous pouvez utiliser ModelSim si vous le voulez. Il est disponible sur les ordinateurs dans notre laboratoire.
  7. Vérifier les propriétés suivantes du modèle Esys.NET et remettre le fichier LTL:
    1. Un producteur peut prendre son maximum de temps pour produire
    2. Un producteur peut prendre son minimum de temps pour produire


Remettre les questions 1), 2), 3) et 4) pour mardi 4 octobre avant 15h30.
Remettre les questions 5), 6) et 7) pour jeudi 13 octobre avant 15h30

Toute remise doit être électronique, les courriels doivent avoir IFT6221 dans le sujet du message et spécifier TP1 par exemple.
Les travaux doivent être par groupe de 2.