Substituer des librairies
Supposons que nous ayons deux circuits Logisim censés faire la même chose. En tant qu'instructeur, vous avez peut-être demandé aux élèves de terminer une tâche : vous avez un fichier contenant votre solution et vous avez plusieurs fichiers d'élèves contenant leur travail. La tâche consistait à créer un additionneur à deux bits.
J'imagine que nous avons deux fichiers, nommés master.circ et query.circ. Chaque fichier contient un circuit nommé Adder2 (il est important que le nom du circuit à tester soit exactement le même), dont l'apparence est la suivante.
Adder2 dans master.circ | Adder2 dans query.circ |
Comme vous pouvez le constater, le circuit maître utilise l'additionneur intégré de Logisim, tandis que le circuit de requête utilise un demi-additionneur et un additionneur complet, eux-mêmes composés de portes logiques. Aux fins de notre exemple, le circuit de requête a une erreur stupide : le report carry du demi-additionneur n'est pas connecté à l'additionneur complet.
Nous construisons notre circuit de test dans un fichier différent test.circ. Ensuite, nous chargeons master.circ en tant que bibliothèque Logisim à l'aide du menu | Projet |→| Charger une Lirairie |→ | Bibliothèque Logisim | , et nous insérons son additionneur 2 bits en tant que sous-circuit. Nous pourrions exécuter ce circuit directement pour vérifier que le résultat souhaité correspond à solution parfaite.
java -jar logisim-evolution.jar test.circ -tty table
Mais nous voulons exécuter le circuit en utilisant query.circ plutôt que master.circ comme bibliothèque chargée. Une approche naïve serait d'ouvrir Logisim et de charger adder-query.circ à la place de adder-master.circ ou encore vous pouvez simplement supprimer le fichier master.circ et renommer query.circ pour qu'il s'appelle master.circ . Ces deux approches fonctionnent, mais demandent beaucoup de manipulation pour tester les devoirs d'une classe par exemple. Heureusement Logisim inclut une option pratique -sub qui remplace temporairement un fichier par un autre pendant cette session; sans apporter de modifications sur le disque.
java -jar logisim-evolution.jar test.circ -tty table -sub master.circ query.circ
Le fichier de sortie qui sera généré de cette façon est présenté ci-dessous. Il est bien sûr différent de ce que nous avons vu dans la section précédente , car la librairie commune aux circuits adder2 a été remplacée dans le circuit de test par celle de query.circ erronée.
a b sum 00 00 000 00 01 001 00 10 010 00 11 011 01 00 001 01 01 000 01 10 011 01 11 010 10 00 010 10 01 011 10 10 100 10 11 101 11 00 011 11 01 010 11 10 101 11 11 100
Suite : Autres options de vérifications.