# Autres options de vérifications

Il y a quelques options supplémentaires liées à l'exécution en ligne de commande.

## Le paramètre en ligne de commande `-load`

Un circuit plus complexe pourrait inclure un composant RAM qui doit être chargé avec un programme pour que le circuit fonctionne. Vous pouvez spécifier un fichier image mémoire sur la ligne de commande, qui sera chargé dans tout composant RAM du circuit avant que la simulation ne commence. Cela fonctionne uniquement avec l'exécution en ligne de commande.

> `java -jar logisim-filename.jar cpu.circ -tty table -load mem-image.txt`

L'ordre des paramètres n'est pas important (sauf que le paramètre `table` doit être immédiatement après `-tty` et le nom de fichier de l'image mémoire doit être immédiatement après `-load` ). Le fichier image de la mémoire doit se trouver dans le format d'image mémoire de Logisim .

Logisim recherche la RAM de manière récursive, donc cela fonctionnera toujours si la RAM est imbriquée dans un sous-circuit. Cependant, il n'y a aucun moyen de distinguer différents composants de la RAM: Logisim tentera de charger le même fichier dans chaque mémoire vive qu'il peut trouver.

## Le paramètre en ligne de commande `-tty`

Dans nos exemples, nous avons toujours utilisé la commande `-tty table` pour indiquer qu'une table de valeurs de sortie doit être affichée. Vous pouvez personnaliser le comportement autrement en répertoriant une ou plusieurs options séparées par des virgules. Par exemple, vous pouvez écrire `-tty table,halt,speed` et le programme exécutera les trois comportements répertoriés ci-dessous. (L'ordre dans lequel ils sont répertoriés n'a pas d'importance.)

`halt`

  Une fois la simulation terminée, un message d'une ligne s'affiche pour expliquer la fin de la simulation. La conditions d'erreur "qu'une oscillation détectée" est affichée dans tous les cas.

`speed`

  Si vous utilisez `speed` en conjonction avec `-tty`, après avoir terminé la simulation, Logisim affichera les mesures résumées de la rapidité de simulation du circuit, telles que:

  > `714 Hz (509 ticks in 712 milliseconds)`

  Notez que l'affichage des informations pendant la simulation ralentit sensiblement la simulation. En une seule comparaison, le même circuit et la même image fonctionnaient à 714 Hz ci-dessus avec juste l'option `speed` mais à 490Hz avec l'option `table` également.

`stats`

  Affiche un tableau délimité par des tabulations contenant des statistiques sur les composants utilisés par le circuit "principal" de niveau supérieur du projet. Le tableau comprend quatre colonnes:

  - Unique: le nombre de fois que ce composant apparaît dans la hiérarchie du circuit,où chaque sous-circuit de la hiérarchie est compté une seule fois.
  - Récursif: nombre de fois où ce composant apparaît dans la hiérarchie du circuit, où nous comptons chaque sous-circuit autant de fois qu'il apparaît dans la hiérarchie.
  - Component: Le nom du composant.
  - Library: Le nom de la bibliothèque à partir de laquelle le composant est venu.

  La distinction entre "Unique" et "Recursive" est expliquée plus loin dans la section menu Projet . Si le fichier utilise des circuits provenant d'une bibliothèque Logisim chargée, ces composants sont considérés comme des "boîtes noires": le contenu des circuits de la bibliothèque n'est pas inclus dans les comptes uniques et récursifs.

  Cette fonctionnalité peut être utile pour les instructeurs qui encouragent des étudiants à créer des projets en utilisant un sous-ensemble des bibliothèques de Logisim.

`table`

  A déjà été présenté au début de ce chapitre.

`tty`

  Tous les composants TTY envoient leur sortie à l'écran (sortie standard) et toute information saisie au clavier est envoyée à tous les composants de type clavier du circuit. Ces composants sont inclus même s'ils sont imbriqués profondément dans la hiérarchie des sous-circuits.

Suite: Tester de multiples fichiers.