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.
- Compiler et exécuter ce fichier utilisant un
environnement SystemC.
- 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é.
- 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é.
- 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, ...)
- Que se passe-t-il si les producteurs envoient
l'unité produite à un consommateur particulier? Produire le code
correspondant.
- 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.
- Vérifier les propriétés suivantes du modèle
Esys.NET et remettre le fichier LTL:
- Un producteur peut prendre son maximum de
temps pour produire
- 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.