IMA3/IMA4 2021/2023 P2
Sommaire
Résumé
Le projet consiste à réaliser une bibliothèque logicielle pour la simulation d'un circuit logique. Il est destiné à la conception d'un outil d'émulation de circuit logique combiné à un microcontrôleur. D'un point de vue utilisation, cette bibliothèque vise à décrire dans un code C, un assemblage de composants logiques interconnectés (ports, bascule, registre...) comportant des entrées/sorties (bouton, LED, afficheur...). Puis, à l'exécution, le programme simule le comportement de ces composants et affiche une interface avec les différentes entrées/sorties pour l'utilisateur. En fin de projet, cette bibliothèque vise à être couplée avec un émulateur existant d'un microprocesseur de type Arduino (ou Avr8)
Présentation générale
Contexte
Le but consiste en la conception d'un outil d'émulation de circuit logique combiné à un microcontrôleur. En effet, le projet est de développer une bibliothèque en langage informatique comportant des composants logiques contenant des entrées/sorties.
Pour être plus précis, projet consiste à réaliser une bibliothèque logicielle pour la simulation d'un circuit logique. Il est destiné à la conception d'un outil d'émulation de circuit logique combiné à un microcontrôleur.
Objectif
L'objectif va être de développer une bibliothèque permettant de définir une architecture logiciel dans le main de type :
LogicalButton bt = new LogicalButton("bouton1", 100, 100); //création d’un bouton
LogicalToggle tg = new LogicalToggle("toggle1", -100, 100); //création d’un toggle
LogicalLED led1 = new LogicalLED("LED1", 0, 200, led); //creation d'une LED1
LogicalLED led2 = new LogicalLED("LED2", -100, 200, led); //creation d’une LED2
led1.AddSource(bt); //ajout d’un bouton comme source sur la LED1
led2.AddSource(tg); //ajout d’un toggle comme source sur la LED2
Pour cela, dans la bibliothèque informatique il y aura un ensemble de composants logiques comportant des entrées/sorties. La bibliothèque va permettre la simulation du comportement des composants utilisés et afficher une interface avec les différentes entrées sorties pour l'utilisateur.