diff --git a/src/main/resources/lang/lang.xml b/src/main/resources/lang/lang.xml
index 68ac47e85..5c8da5954 100644
--- a/src/main/resources/lang/lang.xml
+++ b/src/main/resources/lang/lang.xml
@@ -24,6 +24,7 @@ modified keys.
+
diff --git a/src/main/resources/lang/lang_fr.xml b/src/main/resources/lang/lang_fr.xml
new file mode 100644
index 000000000..ff4cd5f27
--- /dev/null
+++ b/src/main/resources/lang/lang_fr.xml
@@ -0,0 +1,2013 @@
+
+
+ Adresse
+ Table des matières
+ Général
+ Révision
+ Date
+ Le texte suivant décrit les paramètres disponibles dans le simulateur.
+ maximum
+ Attributs
+ Ouvrir le circuit
+ Circuit inclut:
+ Ouvre un circuit dans une nouvelle fenêtre.
+ Aide
+ Affiche une courte description de cet élément.
+ Hex
+ Décimal
+ ASCII
+ Hi-Z
+ Octal
+ Binaire
+ Base
+ Avancé
+ Abandonner les modifications
+ Éditer
+ Continuer l'édition
+ Charger
+ Recharger
+ Recharger le dernier fichier HEX
+ Enregistrer
+ Enregistrer en fichier HEX.
+ Créer
+ Créer un circuit dans une fenêtre séparée.
+ Éditer séparément
+ Ouvrir le dialogue comme un dialogue non modal
+ Navigateur
+ Ouvre le texte d'aide dans le navigateur. Permet d'imprimer le texte.
+ Effacer
+ Toutes les values sont mises à zéro!
+ Transitions
+ Toutes les transitions possibles sont ajoutées comme
+ Nouveau nom
+ Enregistrer quand même
+ Remplacer
+ Appliquer
+ Édite le contenu de la ROM/EEPROM sélectionné
+ Supprime les données stockées dans la ROM sélectionnée. À la place, le contenu qui est stocké directement dans la ROM est utilisée.
+ Modèle
+ Créer un modèle SVG qui peut ensuite être édité avec Inkscape.
+ Importer
+ Importer un fichier SVG. Pour créer un fichier SVG adéquat, il est plus facile de créer d'abord
+ un modèle SVG et ensuite l'éditer.
+ Avertissement
+ Annuler
+ Digital
+ Expression
+ Entrées
+ Sorties
+ Attributs
+ La valeur d''entrée {0} pour l''opération logique.
+ Retourne le résultat de l'opération logique.
+ Et
+ Porte ET binaire. Retourne une valeur haute lorsque les deux entrées ont une valeur haute.
+ Il est également possible d'utiliser des bus à plusieurs bits comme entrées et sortie. Dans ce cas, une
+ opération bit à bit est effectuée. Cela équivaut à connecter chaque paire de bits d'entrée à une porte ET 1-bit
+ et émettre le résultat correspondant pour chaque bit de sortie.
+ Non-Et
+ Une combinaison du ET et du NON.
+ Retourne 0 lorsque toutes les entrées sont mises à 1. Si une des entrées est à 0 alors la sortie est mise à 1.
+ Il est également possible d'utiliser des bus à plusieurs bits comme entrées. Dans ce cas, l'opération
+ s'applique à chaque bit de l'entrée.
+ Ou
+ Porte OU binaire. Retourne un 1 lorsqu'au moins une entrée est mise à 1.
+ Il est également possible d'utiliser des bus à plusieurs bits comme entrées et sortie. Dans ce cas, une
+ opération bit à bit est effectuée. Cela équivaut à connecter chaque paire de bits d'entrée à une porte OU 1-bit
+ et émettre le résultat correspondant pour chaque bit de sortie.
+ Non-Ou
+ Une combinaison du OU et du NON.
+ Retourne 0 lorsqu'au moins une entrée est mise à 1. Si toutes les entrées sont à 1 alors la sortie est à 0.
+ Il est également possible d'utiliser des bus à plusieurs bits comme entrées. Dans ce cas, l'opération
+ s'applique à chaque bit de l'entrée.
+ XOR
+ Aussi appelée Ou-exclusif. Si deux entrées sont utilisées, la sortie est à 0 si les deux entrées sont égales.
+ Sinon la sortie est mise à 1.
+ Si plus de deux entrées sont utilisées, il se comporte que des portes XOR en cascade.
+ (A XOR B XOR C = (A XOR B) XOR C). Il est également possible d'utiliser des bus à plusieurs bits comme entrées.
+ Dans ce cas, l'opération s'applique à chaque bit de l'entrée.
+ NXOR
+ Une combinaison du XOR et du NON. Les entrées sont combinées avec l'opération XOR. Le résultat de cette
+ opération est ensuite inversé. Il est également possible d'utiliser des bus à plusieurs bits comme entrées.
+ Dans ce cas, l'opération s'applique à chaque bit de l'entrée.
+ Non
+ Inverse la valeur d'entrée. Un 1 devient un 0 et un 0 devient un 1. Il est également possible d'utiliser des bus
+ à plusieurs bits comme entrées. Dans ce cas, l'opération s'applique à chaque bit de l'entrée.
+ L'entrée de la porte NON.
+ La valeur inversée de l'entrée.
+ Table de recherche
+ LUT
+ Trouve la valeur de sortie à partir d'une table stockée. Aussi appelée "lookup table".
+ Cette porte permet donc d'imiter toutes les portes combinatoires.
+ Entrée {0}. Cette entrée en combinaison avec toutes les autres définit l''adresse
+ de sortie de la valeur stockée à retourner.
+ Retourne la valeur stockée à l'adresse fixée par les entrées.
+ Délai
+ Retarde un signal par une valeur ajustable de temps de propagation équivalent d'une porte logique.
+ Toutes les autres composantes dans Digital ont un délai de temps de propagation d'une durée de 1.
+ Cette composante peut servir à réaliser n'importe quel temps de propagation nécessaire.
+ Entrée du signal qui doit être retardé.
+ L'entrée du signal retardée d'un temps de propagation équivalent à celui d'une porte logique.
+ Sortie
+ Peut être utilisé pour afficher un signal de sortie dans un circuit.
+ Cet élément peut aussi servir à connecter un circuit à un circuit intégré.
+ Dans ce cas, la connexion est bidirectionnelle.
+ Il peut aussi servir à assigner un numéro de broche pour la génération de code de CPLD ou FPGA.
+ Cette valeur est utilisée pour la sortie.
+ DEL
+ Une DEL (ou LED) peut être utilisée pour visualiser une valeur de sortie.
+ L'entrée accepte un seul bit. La lumière est allumée quand l'entrée est mise à 1.
+ Entrée de la DEL. La DEL est allumée si l'entrée est mise à 1.
+ DEL-RVB
+ Une DEL RVB pour laquelle la couleur est établie par trois entrées.
+ Un canal de couleur est associé à chaque entrée.
+ Le canal de couleur rouge.
+ Le canal de couleur verte.
+ Le canal de couleur bleue.
+ Entrée
+ Peut être utilisé pour manipuler interactivement avec la souris un signal d'entrée dans un circuit.
+ Cet élément peut aussi servir à connecter un circuit à un circuit intégré.
+ Dans ce cas, la connexion est bidirectionnelle.
+ Il peut aussi servir à assigner un numéro de broche pour la génération de code de CPLD ou FPGA.
+ Donne la valeur liée à cette entrée.
+ Interrupteur DIP
+ Interrupteur DIP simple (DIP switch) qui peut émettre des valeurs hautes ou basses.
+ La valeur de sortie pour l'interrupteur
+ Horloge
+ Un signal d'horloge. Il est possible de le contrôler avec une horloge temps réel.
+ Selon la complexité du circuit, la fréquence de l'horloge atteinte pourrait être moins que la valeur
+ sélectionnée. Si la fréquence est supérieure à 50Hz, la représentation graphique du circuit ne sera plus mise
+ à jour à chaque cycle d'horloge, donc les couleurs de fils ne pourront plus être mises à jour à chaque changement
+ de valeur. Si l'horloge temps réel est désactivée, l'horloge peut être contrôlée par des clics de la souris.
+ Elle peut aussi servir à assigner un numéro de broche pour la génération de code de CPLD ou FPGA.
+ Oscille entre 0 et 1 avec la fréquence d'horloge sélectionnée.
+ Bouton
+ Un simple bouton-poussoir qui revient à son état original lorsqu'il est relâché.
+ Le signal de sortie du bouton.
+ Bouton avec DEL
+ Un simple bouton-poussoir qui revient à son état original lorsqu'il est relâché.
+ Le bouton a également une DEL qui peut être allumée avec un signal d'entrée.
+ Le signal de sortie du bouton.
+ L'entrée contrôlant la DEL.
+ Texte
+ Affiche du texte dans le circuit.
+ N'affecte pas la simulation.
+ Le texte peut être changé dans le dialogue d'attributs.
+ Rectangle
+ Affiche un rectangle dans le circuit.
+ N'affecte pas la simulation. Si un trait d'union est d'utilisé comme titre, le titre n'est pas affiché.
+ Sonde
+ Une mesure qui peut être affichée dans un graphique de données ou un tableau de mesures.
+ Cette composante peut être utilisée pour observer facilement des valeurs dans des circuits embarqués.
+ N'affecte pas la simulation.
+ La valeur mesurée.
+ Ampoule
+ Une ampoule avec deux connexions. Si le courant circule, l'ampoule s'allume!
+ La direction du courant n'a pas d'importance. La lampe s'allume quand les entrées ont des valeurs différentes.
+ Ainsi, l'ampoule se comporte de façon similaire à une porte XOR.
+ Connexion
+ Connexion
+ DEL avec deux connexions.
+ DEL avec des connexions pour la cathode et l'anode. La DEL s'allume si
+ l'anode est connectée à un signal haut et l'anode à un signal bas.
+ La connexion de l'anode pour la DEL.
+ La connexion de la cathode pour la DEL.
+ Affichage 7 segments
+ Affichage 7 segments, chaque segment a sa propre entrée.
+ Cette entrée contrôle la ligne horizontale du haut.
+ Cette entrée contrôle la ligne verticale du haut à droite.
+ Cette entrée contrôle la ligne verticale du bas à droite.
+ Cette entrée contrôle la ligne horizontale du bas.
+ Cette entrée contrôle la ligne verticale du bas à gauche.
+ Cette entrée contrôle la ligne verticale du haut à gauche.
+ Cette entrée contrôle la ligne horizontale du milieu.
+ Cette entrée contrôle le point décimal.
+ Cathode commune. Pour allumer les DELs, cette entrée doit être basse.
+ Anode commune. Pour allumer les DELs, cette entrée doit être haute.
+ Affichage 7 segments Hex
+ Affichage 7 segments avec une entrée hexadécimale de 4 bits.
+ La valeur de cette entrée est visualisée sur l'affichage.
+ Cette entrée contrôle le point décimal.
+ Affichage 16 segments
+ L'entrée de la DEL a 16 bits qui contrôlent chaque segment. La deuxième entrée contrôle le point décimal.
+ Bus 16 bits pour contrôler les DELs.
+ Cette entrée contrôle le point décimal.
+ Matrice de DELs
+ Une matrice de DELs. Les DELs sont affichées dans une fenêtre séparée.
+ Les DELs d'une colonne de l'affichage sont contrôlées par un mot. Dans une autre entrée, la colonne courante
+ est sélectionnée. Ainsi, un affichage multiplexé est réalisé.
+ Les DELs peuvent être allumées indéfiniment dans la simulation pour empêcher l'affichage de clignoter.
+ L'état de la DEL de chaque rangée pour une colonne.
+ Chaque bit de ce mot représente l'état d'une rangée de la colonne courante.
+ Le numéro de la colonne qui est sélectionnée pour l'autre entrée.
+ Graphique de données
+ Affiche un graphique de données à l'intérieur de la zone du circuit.
+ Il est possible de tracer des cycles d'horloge complets ou le changement d'une seule porte.
+ N'affecte pas la simulation.
+ Encodeur rotatif
+ Roulette tournante avec encodeur rotatif. Sert à détecter les mouvements de rotation.
+ signal de l'encodeur A
+ signal de l'encodeur B
+ Clavier
+ Un clavier peut être utilisé pour entrer du texte.
+ Cette composante enregistre l'entrée dans un tampon qui peut être lu à la sortie.
+ Une fenêtre séparée est ouverte pour entrer le texte.
+ Signal d'horloge. Un front montant supprime le caractère le plus vieux du tampon.
+ Si activée, la sortie D est active et un caractère est émis.
+ Cette entrée active également la lecture du signal d'horloge.
+ Le dernier caractère tapé, ou zéro si aucun caractère n'est disponible.
+ La sortie correspond à une valeur de caractère en Java de 16 bits.
+ Cette sortie indique que des caractères sont disponibles.
+ Elle peut permettre de déclencher une interruption.
+ Terminal
+ Des caractères ASCII peuvent être écrits dans ce terminal.
+ Ce terminal s'ouvre dans sa propre fenêtre pour visualiser la sortie.
+ Signal d'horloge. Un front montant écrit la valeur à l'entrée dans la fenêtre du terminal.
+ Les données à écrire dans le terminal
+ Une valeur haute à cette entrée active le signal d'horloge.
+ Écran VGA
+ Analyse les signaux vidéo entrants et affiche les graphiques correspondants.
+ Puisque la simulation ne peut pas s'exécuter en temps réel, le signal d'horloge de pixel est nécessaire en
+ plus du signal vidéo.
+ La composante rouge
+ La composante verte
+ La composante bleue
+ Le signal de synchronisation horizontal
+ Le signal de synchronisation vertical
+ Le signal d'horloge de pixel
+ MIDI
+ Utilise le système MIDI pour jouer des notes.
+ Note
+ Volume
+ Si activée, cela se traduit par un appui sur une touche (événement de touche enfoncée),
+ sinon, cela se traduit par un relâchement de la touche (événement de touche relâchée).
+ Active la composante
+ Si activée, la valeur de N est utilisée pour changer le programme (l'instrument).
+ Signal d'horloge
+ Moteur pas-à-pas, unipolaire
+ Moteur pas-à-pas unipolaire avec deux interrupteurs de position limite.
+ Permet le fonctionnement à pas complet, à demi-pas et à une phase (wave).
+ Interrupteur de position limite 0, devient 1 lorsque l'angle du moteur est de 0°.
+ Interrupteur de position limite 1, devient 1 lorsque l'angle du moteur est de 180°.
+ Phase 0
+ Phase 1
+ Phase 2
+ Phase 3
+ Connexion de bobine centrale commune
+ Moteur pas-à-pas, bipolaire
+ Moteur pas-à-pas bipolaire avec deux interrupteurs de position limite.
+ Permet le fonctionnement à pas complet, à demi-pas et à une phase (wave).
+ Interrupteur de position limite 0, devient 1 lorsque l'angle du moteur est de 0°.
+ Interrupteur de position limite 1, devient 1 lorsque l'angle du moteur est de 180°.
+ Bobine A, positif
+ Bobine A, négatif
+ Bobine B, positif
+ Bobine B, négatif
+ Masse
+ Une connexion à une masse (mise à la terre). La sortie est toujours zéro.
+ La sortie est toujours 0.
+ Tension d'alimentation
+ Une connexion à une tension d'alimentation. La sortie est toujours un.
+ La sortie est toujours 1.
+ Valeur constante
+ Une composante qui retourne une valeur donnée comme une constante.
+ Cette valeur peut être mise dans le dialogue des attributs.
+ Retourne la valeur donnée comme une constante.
+ Tunnel
+ Connecte des composantes sans un fil. Tous les tunnels ayant le même nom de réseau sont connectés ensemble.
+ Fonctionne uniquement de manière locale, il est donc impossible de connecter des circuits différents.
+ Les tunnels sans nom sont ignorés sans produire d'erreurs.
+ La connexion au tunnel.
+ Séparateur/Fusionneur
+ Sépare ou crée un amas de fils ou un bus de données de plus d'un bit.
+ Avec un bus il est par exemple possible de générer des connexions 16 bits sans avoir à tracer 16 fils
+ individuels. Les 16 connexions peuvent être fusionnées en un seul fil.
+ Le séparateur possède une direction, ce qui veut dire qu'il ne peut transmettre les signaux que dans une
+ direction.
+ Les bits d''entrée {0}.
+ Le bit d''entrée {0}.
+ Les bits de sortie {0}.
+ Le bit de sortie {0}.
+ Séparateur bidirectionnel
+ Peut être utilisé pour les bus de données et simplifie particulièrement la construction de module de
+ mémoire dans un boîtier DIL, car l'implantation du bus de données est simplifiée.
+ Lorsqu'activée, la valeur au terminal commun D est émise au bits de sortie D[i], sinon,
+ les bits de sortie D[i] sont émis à la sortie commune D.
+ La connexion de la valeur commune.
+ Le bit de donnée {0} du séparateur de bus.
+ Résistance de tirage
+ Un signal haut "faible"
+ Si un réseau n'est pas dans un état de haute impédance (Hi-Z), cette résistance tire le réseau à une valeur
+ haute. Dans n'importe quel autre cas, cette composante n'a aucun effet.
+ Résistance de rappel
+ Un signal bas "faible"
+ Si un réseau n'est pas dans un état de haute impédance (Hi-Z), cette résistance tire le réseau à une valeur
+ basse (à la masse). Dans n'importe quel autre cas, cette composante n'a aucun effet.
+ Pilote
+ Un pilote peut être utilisé pour connecter une valeur de signal à un autre fil.
+ Le pilote est contrôlé par l'entrée "sel" (sélection).
+ Si l'entrée "sel" est basse, la sortie est dans un état de haute impédance.
+ Si l'entrée "sel" est haute, la sortie est mise à la valeur d'entrée.
+ La valeur d'entrée du pilote.
+ Si l'entrée "sel" est haute, la valeur de l'entrée est donnée à cette sortie.
+ Si l'entrée "sel" est basse, la sortie est dans un état de haute impédance.
+ Si la valeur est 1, la sortie est mise à la valeur d'entrée.
+ Si la valeur est 0, la sortie est dans un état de haute impédance.
+ Pilote, sélection inversée
+ Un pilote peut être utilisé pour connecter une valeur de signal à un autre fil.
+ Le pilote est contrôlé par l'entrée "sel" (sélection).
+ Si l'entrée "sel" est haute, la sortie est dans un état de haute impédance.
+ Si l'entrée "sel" est basse, la sortie est mise à la valeur d'entrée.
+ La valeur d'entrée du pilote.
+ Si la valeur est 0, la sortie est mise à la valeur d'entrée.
+ Si la valeur est 1, la sortie est dans un état de haute impédance.
+ Si l'entrée "sel" est 0, la valeur de l'entrée est donnée à cette sortie.
+ Si l'entrée "sel" est 1, la sortie est dans un état de haute impédance.
+ Commande de broche
+ Logique de commande pour une broche bidirectionnelle.
+ Cette composante est nécessaire seulement dans un contexte de génération de VHDL ou de Verilog,
+ dans le but de créer un port HDL bidirectionnel!
+ Si vous ne voulez pas utiliser un port E/S bidirectionnel sur un FPGA, n'utilisez pas cette composante!
+ L'élément de commande de broche ne peut pas être utilisé dans un circuit intégré, seulement dans le circuit
+ du niveau supérieur!
+ La valeur à émettre
+ Active la sortie
+ La valeur à lire
+ Le connecteur pour la broche en tant que telle. Seule une sortie peut être connectée ici.
+ Multiplexeur
+ Une composante qui utilise la valeur de l'entrée "sel" (sélection) pour décider quelle
+ valeur d'entrée est émise à la sortie.
+ La valeur d''entrée {0} du multiplexeur.
+ La valeur de l'entrée sélectionnée.
+ Cette entrée sert à sélectionner l'entrée qui est émise.
+ Démultiplexeur
+ Une composante qui émet la valeur d'entrée à une de ses sorties.
+ Les autres sorties sont mises à la valeur par défaut.
+ Cette entrée sélectionner la sortie à utiliser.
+ La valeur de cette entrée est donnée à la sortie sélectionnée.
+ Valeur de sortie {0}.
+ Décodeur
+ Une sortie sélectionnée est à 1, les autres sorties sont à 0.
+ Valeur de sortie {0}. Cette sortie est à 1 lorsqu''elle est sélectionnée par l''entrée "sel".
+ Cette entrée sélectionne la sortie activée.
+ La sortie activée est mise à 1. Les autres sorties sont mises à 0.
+ Sélecteur de bit
+ Sélectionne un seul bit à partir d'un bus de données d'entrée.
+ Le bus d'entrée
+ Cette entrée sélectionne le bit
+ Le bit sélectionné.
+ Codeur de priorité
+ Priorité
+ Si une des entrées est mise, sa valeur est émise.
+ Si plusieurs entrées sont mises en même temps, la plus grande valeur est émise.
+ Valeur de l'entrée choisie.
+ Si cette sortie est active, au moins une des deux entrées est mise.
+ La valeur d''entrée {0} du codeur de priorité.
+ Bascule RS
+ RS
+ Une composante pour stocker un seul bit.
+ Fournit les fonctions "set" et "reset" pour mémoriser ou réinitialiser le bit stocké.
+ Si les deux entrées sont à un, les deux sorties seront aussi à un.
+ Si les deux entrées sont mises à zéro en même temps, l'état final est aléatoire.
+ L'entrée "set" pour mémoriser.
+ L'entrée "reset" pour réinitialiser.
+ Retourne la valeur stockée.
+ Retourne l'inverse de la valeur stockée.
+ Bascule RS, avec horloge
+ RS
+ Une composante pour stocker un seul bit.
+ Fournit les fonctions "set" et "reset" pour mémoriser ou réinitialiser le bit stocké.
+ Si les deux entrées (S, R) sont actives au front montant de l'horloge, l'état final est aléatoire.
+ L'entrée "set" pour mémoriser.
+ Le signal d'horloge. Un front montant amorce une transition d'état.
+ L'entrée "reset" pour réinitialiser.
+ Retourne la valeur stockée.
+ Retourne l'inverse de la valeur stockée.
+ Bascule JK
+ JK
+ À la possibilité de stocker (J=K=0), mémoriser (J=1, K=0), réinitialiser (J=0, K=1) ou basculer (J=K=1) la
+ valeur stockée. Un changement d'état se produit seulement lors d'un front montant du signal d'horloge C.
+ L'entrée "set" de la bascule, pour mémoriser.
+ Le signal d'horloge. Un front montant amorce un changement d'état.
+ L'entrée "reset" de la bascule, pour réinitialiser.
+ Retourne la valeur stockée.
+ Retourne l'inverse de la valeur stockée.
+ Bascule D
+ D
+ Une composante utilisée pour stocker une valeur.
+ La valeur sur l'entrée D est stockée lors du front montant du signal d'horloge C.
+ La largeur de bit peut être sélectionnée ce qui permet de stocker plusieurs bits.
+ L'entrée du bit à stocker.
+ Signal d'horloge pour stocker une valeur.
+ La valeur à l'entrée D est stockée sur un front montant de cette entrée.
+ Retourne la valeur stockée.
+ Retourne l'inverse de la valeur stockée.
+ Bascule T
+ T
+ Stocke un seul bit. L'état bascule sur un front montant de l'entrée C.
+ Active la fonction de bascule.
+ Signal d'horloge. Un front montant fait basculer la sortie si l'entrée T est à 1.
+ Retourne la valeur stockée.
+ Retourne l'inverse de la valeur stockée.
+ Bascule JK asynchrone
+ JK-AS
+ À la possibilité de stocker (J=K=0), mémoriser (J=1, K=0), réinitialiser (J=0, K=1) ou basculer (J=K=1) la
+ valeur stockée. Un changement d'état se produit seulement lors d'un front montant du signal d'horloge C.
+ Il y a deux entrées additionnelles pour mémoriser et réinitialiser immédiatement, sans signal d'horloge.
+ L'entrée "set" de la bascule, pour mémoriser.
+ Le signal d'horloge. Un front montant amorce un changement d'état.
+ L'entrée "reset" de la bascule, pour réinitialiser.
+ Retourne la valeur stockée.
+ Retourne l'inverse de la valeur stockée.
+ Une entrée "set" asynchrone, pour mémoriser. Une valeur de 1 à cette entrée fixe la sortie de la bascule.
+ Une entrée "clear" asynchrone, pour effacer. Une valeur de 1 à cette entrée réinitialise la sortie de la bascule.
+ Bascule D asynchrone
+ D-AS
+ Une composante utilisée pour stocker une valeur.
+ La valeur sur l'entrée D est stockée lors du front montant du signal d'horloge C.
+ Il y a deux entrées additionnelles pour mémoriser et réinitialiser immédiatement, sans signal d'horloge.
+ La largeur de bit peut être sélectionnée ce qui permet de stocker plusieurs bits.
+ L'entrée du bit à stocker.
+ Signal d'horloge pour stocker une valeur.
+ La valeur à l'entrée D est stockée sur un front montant de cette entrée.
+ Retourne la valeur stockée.
+ Retourne l'inverse de la valeur stockée.
+ Une entrée "set" asynchrone, pour mémoriser. Si la valeur est à 1, tous les bits de sortie sont mis à 1.
+ Une entrée "clear" asynchrone, pour effacer. Si la valeur est à 1, tous les bits de sortie sont mis à 0.
+ Bascule monostable
+ Mono
+ Une bascule monostable est mise à 1 au front montant du signal d'horloge.
+ Après un délai configurable, la bascule est réinitialisée automatiquement.
+ La bascule monostable est redéclenchable. Elle peut seulement être utilisée s'il y a exactement une composante
+ horloge dans le circuit. Cette composante horloge est utilisée comme temps de base pour mesurer le délai.
+ L'entrée "reset". Une valeur haute réinitialise la bascule monostable.
+ Le signal d'horloge. Un front montant fixe la sortie de la bascule monostable.
+ Sortie
+ Inverse de la sortie
+ Registre
+ Reg
+ Une composante pour stocker des valeurs. La largeur de bit du mot peut être sélectionnée.
+ Contrairement à une bascule D, le registre fournit une entrée qui active l'horloge.
+ L'entrée du mot à stocker.
+ Signal d'horloge. Un front montant stocke la valeur à l'entrée D.
+ L'entrée "enable", pour activer. Il est seulement possible de stocker une valeur si cette entrée est active.
+ Retourne la valeur stockée.
+ ROM
+ Une composante de mémoire non volatile.
+ Les données stockées peuvent être éditées dans le dialog d'attributs.
+ Cette entrée définit l'adresse d'un mot à émettre à la sortie.
+ Le mot sélectionné si l'entrée "sel" est active.
+ Si cette entrée est active, la sortie est activée. Sinon la sortie est dans état de haute impédance.
+ RAM, ports séparés
+ RAM
+ Un module de RAM avec des entrées séparées pour stocker une valeur et émettre une valeur stockée.
+ L'adresse à laquelle lire et écrire.
+ Signal d'horloge
+ La valeur à stocker dans la RAM.
+ La valeur de sortie
+ Si cette entrée est active, la sortie est activée et la valeur devient visible à la sortie.
+ Si cette entrée est active et lorsque le signal d'horloge est haut, la valeur est stockée.
+ RAM de bloc, ports séparés
+ RAM
+ Un module de RAM avec des entrées séparées pour stocker une valeur et émettre une valeur stockée.
+ Cette RAM met sa sortie à jour uniquement sur un front montant du signal d'horloge.
+ Cela permet de l'utiliser dans un FPGA.
+ L'adresse à laquelle lire et écrire.
+ Signal d'horloge
+ La valeur à stocker dans la RAM.
+ La valeur de sortie
+ Si cette entrée est active et lorsque le signal d'horloge est haut, la valeur est stockée.
+ EEPROM, ports séparés
+ EEPROM
+ Un module EEPROM avec des entrées séparées pour stocker une valeur et émettre une valeur stockée.
+ L'adresse à laquelle lire et écrire.
+ Signal d'horloge
+ La valeur à stocker dans le EEPROM.
+ La valeur de sortie
+ Si cette entrée est active, la sortie est activée et la valeur devient visible à la sortie.
+ Si cette entrée est active et lorsque le signal d'horloge est haut, la valeur est stockée.
+ RAM, port bidirectionnel
+ RAM
+ Un module de RAM avec un port bidirectionnel pour stocker une valeur et émettre une valeur stockée.
+ L'adresse à laquelle lire et écrire.
+ Signal d'horloge
+ Une connexion bidirectionnelle de valeur
+ Si cette entrée est active, la sortie est activée et la valeur devient visible à la sortie.
+ Si cette entrée est active et lorsque le signal d'horloge est haut, la valeur est stockée.
+ RAM, sélection de puce
+ RAM
+ Un module de RAM avec un port bidirectionnel pour stocker une valeur et émettre une valeur stockée.
+ Si l'entrée CS est basse, la composante est désactivée.
+ Cela permet de créer une RAM plus grande à partir de RAM plus petite et un décodeur d'adresse.
+ Le cycle d'écriture fonctionne comme suit: en activant l'entrée CS, la composante est activée.
+ Un front montant à l'entrée WE verrouille l'adresse, et le front descendant suivant stocke la valeur.
+ L'adresse à laquelle lire et écrire.
+ Si cette entrée est activée, la valeur est écrite à la RAM.
+ Une connexion bidirectionnelle de valeur.
+ Si cette entrée est active, la RAM est activée. Sinon la sortie est dans état de haute impédance.
+ Si cette entrée est active, la valeur stockée est émise.
+ EEPROM
+ Un module EEPROM avec un port bidirectionnel pour stocker une valeur et émettre une valeur stockée.
+ L'adresse à laquelle lire et écrire.
+ Si cette entrée est activée, la valeur est écrite à l'EEPROM.
+ Une connexion bidirectionnelle de valeur.
+ Si cette entrée est active, l'EEPROM est activée. Sinon la sortie est dans un état de haute impédance.
+ Si cette entrée est active, la valeur stockée est émise.
+ RAM graphique
+ RAM-Gr
+ Sert à afficher une image matricielle (bitmap). Cet élément se comporte comme une RAM. De plus, il affiche
+ son contenu sur un écran. Chaque pixel est représenté par une adresse en mémoire. La valeur stockée définit
+ la couleur de son pixel à l'aide d'une palette de couleurs fixe. Il y a deux tampons d'écran implantés pour
+ permettre le changement de page. L'entrée B sélectionne le tampon à afficher. Ainsi, la taille totale de la
+ mémoire est de dx * dy * 2 mots. La palette de couleurs utilisée fonctionne comme suit: les indices 0-9
+ correspondent aux couleurs blanc, noir, rouge, vert, bleu, jaune, cyan, magenta, orange et rose. Les indices
+ 32-63 correspondent des nuances de gris et les indices 64-127 correspondent 64 couleurs avec deux bits par
+ canal de couleur. Cela permet une palette simple qui peut être adressée avec seulement 7 bits.
+ Si l'architecture permet un indice 16 bits, à partir de l'indice 0x8000, un mode 5 bits avec plus de couleurs
+ est utilisé, qui permet 32768 couleurs.
+ L'adresse à laquelle lire et écrire.
+ Si cette entrée est active et lorsque le signal d'horloge est haut, la valeur est stockée.
+ Signal d'horloge
+ Si cette entrée est active, la sortie est activée et la valeur devient visible à la sortie.
+ Sélectionne le tampon d'écran à afficher
+ Une connexion bidirectionnelle de valeur.
+ RAM, port double
+ RAM
+ RAM avec un port qui sert à la fois à la lecture et l'écriture et un second port de lecture seulement.
+ Ce second port peut être utilisé pour donner un accès à une logique graphique à partir du contenu de la mémoire.
+ Ainsi, un processeur peut écrire à la RAM et une unité graphique peut y lire simultanément.
+ Port de sortie 1.
+ Port de sortie 2
+ L'adresse à laquelle le port 1 est lu ou écrit.
+ L'adresse utilisée pour lire du port 2.
+ Signal d'horloge
+ La valeur à stocker dans la RAM.
+ Si cette entrée est active, la sortie est activée et la valeur est visible à la sortie 1D.
+ Si cette entrée est active et lorsque le signal d'horloge est haut, la valeur est stockée.
+ Banc de registres
+ Registre
+ Mémoire avec un port qui permet d'écrire et deux ports qui permettent de lire de la
+ mémoire simultanément. Peut être utilisé pour implanté les registres d'un processeur.
+ Deux registres peuvent être lus en même temps et un troisième peut être écrit.
+ Port de sortie A
+ Port de sortie B
+ Le registre qui est visible au port A.
+ Le registre qui est visible au port B.
+ Le registre dans lequel la valeur est écrite.
+ Si cette entrée est active et lorsque le signal d'horloge est haut, la valeur est stockée.
+ Signal d'horloge
+ La valeur à stocker dans la RAM.
+ Compteur
+ Compteur
+ Une composante simple pour compter. Le signal d'horloge incrémente le compteur.
+ Peut être réinitialisée à 0 avec l'entrée "clr" (clear).
+ Le nombre de bits est ajustable dans le dialogue des attributs.
+ Le signal d'horloge. Un front montant incrémente le compteur.
+ Si mis à 1, réinitialise le compteur de façon synchrone.
+ Indicateur de débordement. Si cette sortie est à 1 alors le compteur est à sa valeur maximale
+ et l'entrée d'activation "en" est à 1.
+ Retourne la valeur comptée.
+ Si mise à 1 le compteur est activé!
+ Compteur prédéfini
+ Un compteur pour lequel la valeur peut être changée. De plus, une valeur maximale et une direction peuvent
+ être spécifiés.
+ Compteur
+ Retourne la valeur comptée.
+ Indicateur de débordement. Si cette sortie est à 1 et que l'entrée d'activation "en" est à 1
+ alors le compteur est à sa valeur maximale s'il compte vers le haut, ou à zéro s'il compte vers le bas.
+ Signal d'horloge. Un front montant incrémente ou décrémente le compteur.
+ Si mis à 1, réinitialise le compteur de façon synchrone.
+ Si mis à 1, le compteur est activé!
+ Spécifie la direction du compte. Un zéro signifie vers le haut (en ordre croissant).
+ Si activée, la valeur dans l'entrée "in" est stockée dans le compteur au prochain signal d'horloge.
+ Cette valeur est stockée dans le compteur lorsque l'entrée "ld" est activée.
+ Addition
+ Add
+ Une composante pour des calculs d'addition simples.
+ Additionne deux valeurs entières aux entrées A et B (A+B).
+ Le résultat est incrémenté de un si l'entrée de retenue est active.
+ Première valeur à additionner.
+ Seconde valeur à additionner.
+ Le résultat de l'addition
+ Entrée de retenue, si active le résultat sera incrémenté de un.
+ Indicateur de retenue. Si actif, il y a eu un débordement.
+ Soustraction
+ Soustr
+ Une composante pour des soustractions simples.
+ Soustrait des nombres binaires aux entrées A et B (A-B).
+ Le résultat est décrémenté de 1 si l'entrée de retenue est active.
+ Entrée de retenue, si active le résultat sera décrémenté de 1.
+ L'entrée A de la soustraction.
+ L'entrée B de la soustraction
+ Retourne le résultat de la soustraction.
+ Émet un 1 si un débordement a eu lieu.
+ Multiplication
+ Mult
+ Une composante pour la multiplication.
+ Multiplie les nombres entiers aux entrées A et B.
+ L'entrée A de la multiplication
+ L'entrée B de la multiplication
+ La sortie pour le résultat de la multiplication.
+ Division
+ Div
+ Une composante pour la division.
+ Divise le nombre entier à l'entrée A par le nombre entier à l'entrée B.
+ Si le diviseur est zéro, le nombre est divisé par un à la place.
+ Pour la division signée, le reste est toujours positif.
+ Dividende
+ Diviseur
+ Quotient
+ Reste
+ Décaleur
+ Décal
+ Une composante pour décaler des bits.
+ Décale la valeur d'entrée par un nombre de bits donné par l'entrée "shift".
+ Entrée avec les bits à décaler.
+ Entrée avec le nombre de bits à décaler.
+ Sortie de la valeur décalée.
+ Comparateur
+ Une composante pour comparer des valeurs binaires.
+ Compare les nombres binaires aux entrées A et B et met la sortie correspondante à 1.
+ L'entrée A à comparer.
+ L'entrée B à comparer.
+ La sortie est active si A est égal à B.
+ La sortie est active si A est plus grand que B.
+ La sortie est active si A est plus petit que B.
+ Négation
+ Nég
+ L'entrée du mot à inverser selon le complément 2.
+ Retourne le résultat de l'inversion selon le complément 2.
+ Négation selon le complément 2.
+ Extension de signe
+ ExtSign
+ Augmente la largeur binaire d'une valeur signée en gardant le même signe que la valeur.
+ Si l'entrée est un seul bit, ce bit est répété sur tous les bits de sortie.
+ Valeur d'entrée.
+ La largeur binaire d'entrée doit être plus petite que la largeur binaire de sortie!
+ Valeur d'entrée étendue.
+ La largeur binaire d'entrée doit être plus petite que la largeur binaire de sortie!
+ Compteur de bits
+ Compt bits
+ Retourne le nombre de bits à 1 dans la valeur d'entrée.
+ La valeur d'entrée pour laquelle les bits à 1 sont comptés.
+ Retourne le nombre de bits à 1.
+ Diode à l'alimentation
+ Une diode unidirectionnelle simplifiée, utilisée pour le tirage d'un fil à l'alimentation.
+ Elle est utilisée pour créer un OU câblé.
+ Donc il est nécessaire de connecter une résistance de rappel à la sortie de la diode.
+ Dans la simulation la diode se comporte comme une porte active avec une table de vérité trivalente:
+ si l'entrée est haute, la sortie l'est aussi. Dans tous les autres cas (l'entrée est basse ou Hi-Z), la sortie
+ est dans un état de haute impédance.
+ Donc deux diodes antiparallèles connectées peuvent se garder l'une et l'autre dans un état haut, ce qui n'est
+ pas possible avec de vraies diodes.
+ C'est une diode polarisée idéale: il n'y a pas de sans perte de tension à travers la diode.
+ Si l'entrée est haute alors la sortie l'est aussi. Dans tous les autres cas la sortie est dans état de haute impédance.
+ Si l'entrée est haute alors la sortie l'est aussi. Dans tous les autres cas la sortie est dans état de haute impédance.
+ Diode à la masse
+ Une diode unidirectionnelle simplifiée, utilisée pour le rappel d'un fil à la masse.
+ Elle est utilisée pour créer un ET câblé.
+ Donc il est nécessaire de connecter une résistance de tirage à la sortie de la diode.
+ Si l'entrée est basse, la sortie l'est aussi. Dans tous les autres cas (l'entrée est haute ou Hi-Z), la sortie
+ est dans un état de haute impédance.
+ Donc deux diodes antiparallèles connectées peuvent se garder l'une et l'autre dans un état bas, ce qui n'est
+ pas possible avec de vraies diodes.
+ C'est une diode polarisée idéale: il n'y a pas de sans perte de tension à travers la diode.
+ Si l'entrée est basse alors la sortie l'est aussi. Dans tous les autres cas la sortie est dans état de haute impédance.
+ Si l'entrée est basse alors la sortie l'est aussi. Dans tous les autres cas la sortie est dans état de haute impédance.
+ Interrupteur
+ Une des connexions de l'interrupteur.
+ Interrupteur simple.
+ Il n'y a pas de délai de transmission: un changement est propagé instantanément.
+ Interrupteur bidirectionnel
+ Interrupteur bidirectionnel.
+ Il n'y a pas de délai de transmission: un changement est propagé instantanément.
+ Fusible
+ Un fusible utilisé pour construire une mémoire programmée une seule fois
+ Une des connexions du fusible.
+ Une des connexions du fusible.
+ Relais
+ Un relais est un interrupteur qui peut être contrôlé par une bobine.
+ Si le courant circule dans la bobine, l'interrupteur est ouvert ou fermé.
+ Il n'y a pas de diode antiretour alors le sens du courant n'a pas d'importance.
+ L'interrupteur est actionné si les deux entrées ont des valeurs différentes.
+ Le relais se comporte de façon similaire à une porte XOR.
+ Une des entrées qui contrôle le relais.
+ Une des entrées qui contrôle le relais.
+ Relais bidirectionnel
+ Un relais est un interrupteur qui peut être contrôlé par une bobine.
+ Si le courant circule dans la bobine, l'interrupteur est ouvert ou fermé.
+ Il n'y a pas de diode antiretour alors le sens du courant n'a pas d'importance.
+ L'interrupteur est actionné si les deux entrées ont des valeurs différentes.
+ Le relais se comporte de façon similaire à une porte XOR.
+ Une des entrées qui contrôle le relais.
+ Une des entrées qui contrôle le relais.
+ FET de type P
+ Transistor à effet de champ avec dopage de type P.
+ Le substrat est connecté à l'alimentation et le transistor est simulé sans diode de corps.
+ Grille
+ Source
+ Drain
+ FET de type N
+ Transistor à effet de champ avec dopage de type N.
+ Le substrat est connecté à la masse et le transistor est simulé sans diode de corps.
+ Grille
+ Source
+ Drain
+ FET de type P à grille flottante
+ Transistor à effet de champ avec dopage de type P avec grille flottante (floating gate).
+ Le substrat est connecté à l'alimentation et le transistor est simulé sans diode de corps.
+ S'il y a une charge stockée dans la grille flottante, le FET n'est pas conducteur même si la grille est basse.
+ Grille
+ Source
+ Drain
+ FET de type N à grille flottante
+ Transistor à effet de champ avec dopage de type N avec grille flottante (floating gate).
+ Le substrat est connecté à la masse et le transistor est simulé sans diode de corps.
+ S'il y a une charge stockée dans la grille flottante, le FET n'est pas conducteur même si la grille est haute.
+ Grille
+ Source
+ Drain
+ Porte de transmission
+ Une vraie porte de transmission est construire à partir de seulement deux transistors.
+ Ainsi, elle est souvent utilisée pour économiser des transistors lors de l'implantation sur le silicium.
+ Entrée A
+ Entrée B
+ Entrée de contrôle
+ Entrée de contrôle inversée
+ Test
+ Décrit un test.
+ Dans un test, vous pouvez décrire comment le circuit devrait se comporter. Il est ensuite possible de vérifier
+ automatiquement si le comportement du circuit correspond réellement à cette description. Si ce n'est pas le
+ cas, un message d'erreur est affiché.
+ Minuterie asynchrone
+ Permet la configuration d'une minuterie d'un circuit séquentiel asynchrone comme un
+ pipeline de Muller. Le circuit doit être lancé en mode pas-à-pas et doit être en mesure d'atteindre un état stable
+ au démarrage. Le circuit séquentiel peut alors être lancé interactivement ou avec une porte de réinitialisation.
+ Il n'est pas permis d'utiliser une composante d'horloge ordinaire dans ce mode.
+ Alimentation
+ N'a aucune fonction. S'assure que l'alimentation (VDD) et la masse (GND) sont connectées.
+ Peut être utilisé dans les circuits 74xx pour générer les broches de l'alimentation, qui sont testées
+ pour s'assurer que le câblage est correct.
+ Doit être connecté à l'alimentation (VDD)!
+ Doit être connecté à la masse (GND)!
+ Réinitialisation
+ Sortie de réinitialisation
+ La sortie de cette composante est gardée haute lors de l'initialisation du circuit.
+ Après que le circuit se soit stabilisé, la sortie devient basse.
+ Si la sortie est inversée alors elle se comporte de la façon inverse.
+ Pause
+ Arrête la simulation haute vitesse si un front montant est détecté.
+ Si cette composante est utilisée dans le circuit, le bouton "Exécuter jusqu'à une pause" entre les boutons
+ "Commencer" et "Arrêter" est activé. Ce bouton exécute le circuit jusqu'à ce que cette composante reçoive
+ un front montant. Cet élément peut aussi être utilisé pour déboguer en exécutant un circuit jusqu'à un point
+ d'arrêt. Une instruction d'assembleur BRK (break) peut également être implantée. Cela permet à un programme de
+ s'exécuter jusqu'à la prochaine instruction BRK. Cette fonction peut seulement être utilisée si l'horloge
+ temps réel est désactivée!
+ Arrêt
+ Un front montant à l'entrée arrête la simulation.
+ A le même effet que d'appuyer sur le bouton "Arrêter" dans la barre d'outils.
+ Un front montant arrête la simulation.
+ Externe
+ Une composante qui exécute un processus externe pour calculer la fonction logique.
+ Peut être utilisé pour spécifier le comportement d'une composante avec VHDL ou Verilog.
+ La simulation du comportement en tant que telle doit être faite avec un simulateur externe.
+ À l'heure actuelle, seuls le simulateur de VHDL ghdl et le simulateur de Verilog Icarus Verilog sont pris en charge.
+ Diode
+ Une diode bidirectionnelle simplifiée. Peut être utilisée pour implanter un ET câblé ou un OU câblé.
+ Erreur
+ La broche {0} de la composante {1} n''est pas une entrée ou une sortie
+ Une seule composante d'horloge est nécessaire. Toutes les bascules doivent utiliser ce signal.
+ Le circuit n'a pas d'entrées étiquetées
+ Le circuit n'a pas de sorties étiquetées
+ Aucune pause détectée après {0} cycles au point d''arrêt ''{1}''.
+ Il est possible que le nombre de cycles d''attente dans la composante de pause doive être augmenté.
+ L''expression {0} n''est pas prise en charge.
+ L''opération {0} n''est pas prise en charge.
+ Erreur lors de la création de la table de recherche.
+ Plus qu'une sortie est active sur un fil, causant un court-circuit.
+ Il n'est pas permis de connecter une résistance de rappel et tirage au même réseau.
+ Impossible d''analyser le noeud {0}
+ Contient [var] et [non var]
+ La broche {0} dans la composante {1} existe à deux reprises
+ La composante {0} n''a pas été trouvée
+ Des valeurs {0} exactes sont nécessaires, pas {1}
+ La bascule doit être connectée à l'horloge.
+ Format de fichier invalide
+ La logique a déjà été initialisée
+ Un tunnel {0} n''est pas connecté!
+ Il y a plus qu'une horloge
+ La composante d'horloge n'est pas utilisée!
+ {0} bits sont requis, mais {1} bits ont été trouvés
+ Le réseau de la broche {0} n''a pas été trouvé
+ Aucune horloge trouvée dans la logique
+ Aucune entrée disponible pour être changée
+ Aucune forme trouvée pour la composante {0}
+ Rien de connecté à l''entrée ''{0}'' à la composante ''{1}''. Les circuits ouverts ne sont pas permis.
+ Les sorties n'ont pas toutes le même nombre de bits
+ Si plusieurs sorties sont connectées ensemble, elles doivent toutes être des sorties à trois états.
+ Aucune sortie connectée au fil ({0}). L''état du fil est indéfini.
+ La table est trop petite: un résultat est requis!
+ La sortie {0} n''est pas définie.
+ Aucune étiquette pour la broche {0}
+ La broche {0} est assignée deux fois!
+ La broche {0} n''est pas une entrée!
+ La broche {0} n''est pas une sortie!
+ Aucun = trouvé!
+ Trop d'entrées utilisées!
+ Trop de sorties utilisées!
+ La broche n'est pas présente
+ Une broche sans étiquette a été trouvée.
+ Une horloge sans étiquette a été trouvée. Si une horloge est intégrée, elle doit aussi avoir une étiquette.
+ La broche {0} n''a pas été trouvée à la composante {1}
+ La broche {0} n''a pas été trouvée
+ La forme personnalisée ne définit pas une broche {0}.
+ La broche {0} est inconnue
+ La logique semble osciller.
+ Pour l'analyser, vous pouvez exécuter le circuit en mode pas-à-pas.
+ Le port distant est en cours d'utilisation! Y a-t-il une autre instance de l'application qui fonctionne?
+ Le nombre d'entrées ne correspond pas au nombre de bits du sélecteur.
+ Erreur de syntaxe dans la définition du séparateur {0}.
+ Le nombre de bits du séparateur ne correspond pas
+ Pas tous les bits d'entrée sont définis!
+ Les bits d'entrées sont définis à de multiples reprises!
+ Seulement 64 bits sont permis dans le séparateur!
+ Deux entrées sont requises!
+ Trop de variables (entrées+bascules). {0} variables sont permises, mais {1} ont été trouvées.
+ Trop de variables utilisées dans {0}. {1} variables sont permises, mais {2} ont été trouvées.
+ La variable {0} n''est pas permise dans une source CUPL!
+ La variable {0} n''est pas définie
+ Élément inattendu {0}
+ Il manque une parenthèse de fermeture
+ La valeur {0} à la ligne {1} n''est pas un nombre!
+ {0} valeurs étaient attendues, mais {1} valeurs ont été trouvées à la ligne {2}!
+ Jeton inattendu ({0}) à la ligne {1}.
+ La variable {0} n''a pas été trouvée!
+ Aucun signal d'entrée défini dans le vecteur de test!
+ Aucun signal de sortie défini dans le vecteur de test!
+ Aucune donnée de test trouvée.
+ Il n'est pas permis de connecter une résistance de rappel et tirage au même fil.
+ Impossible d'ouvrir le navigateur
+ Impossible de créer le dossier "{0}"!
+ Il n'est pas permis de connecter seulement des entrées à un interrupteur.
+ Le fichier {0} existe à de multiples reprises sous {1}.
+ Impossible de trouver le fichier {0}.
+ Erreur durant l''exécution de "{0}".
+ Le processus "{0}" ne retourne pas!
+ Le processus a retourné la valeur non nulle {0}: {1}
+ Erreur lors de l'exécution de l'ajusteur externe!
+ Il n'y a aucune équation minimisée!
+ Les équations sont calculées! Veuillez attendre un moment!
+ La variable {0} est utilisée deux fois!
+ Le fichier doit être enregistré!
+ Le circuit {0} s''importe lui-même!
+ Le résultat de la minimisation n'est pas correct!
+ Le nom des variables n'est peut-être pas unique.
+ Trop d'itérations dans une boucle.
+ La diode doit avoir une résistance de tirage à sa sortie!
+ La diode doit avoir une résistance de rappel à sa sortie!
+ Le signal de test {0} n''a pas été trouvé dans le circuit!
+ Seulement {1} bits sont permis, mais {0} bits ont été trouvés!
+ Les bascules de plus d'un bit ne sont pas permises!
+ Les deux entrées de contrôle de la porte de transmission doivent être inversées.
+ Le signal {0} est utilisé deux fois!
+ Erreur lors de l'évaluation des données de test.
+ La composante modèle {0} n''a pas pu être analysée.
+ Erreur de câblage de l''alimentation à {0}.
+ Le numéro de broche {0} n''est pas un entier!
+ Erreur lors de l'exportation en VHDL.
+ Aucun code VHDL disponible pour {0}!
+ Aucun code Verilog disponible pour {0}!
+ Erreur lors de création d'un banc de test!
+ Les valeurs du type {0} ne sont pas permises!
+ Un nom est manquant. Est-ce que toutes les broches ont une étiquette par exemple?
+ Plusieurs sorties sont connectées une à l''autre.
+ Ce type d''interconnexion n''est pas pris en charge pour l''exportation HDL. ({0}, {1}, {2}).
+ réseau sans nom
+ Trop de variables!
+ Expression invalide!
+ La fonction {0} n''a pas été trouvée à la ligne {1}!
+ Le nombre d''arguments de la fonction {0} à la ligne {1} est incorrect ({2} trouvés, {3} attendus)!
+ Valeur invalide {0} dans la fonction {1}!
+ Le nom {0} n''est pas un élément du chemin.
+ Erreur lors du chargement d'une bibliothèque.
+ Le fichier JAR ne contient aucun manifeste!
+ Le manifeste ne contient pas d'entrée Main-Class
+ Impossible de trouver la classe {0}!
+ Impossible de créer une instance de la classe {0}!
+ Il doit y avoir plus de bits à l'entrée qu'à la sortie!
+ Il n'est pas possible de mettre des broches physiques à des valeurs constantes!
+ La chaîne de caractères {0} n''est pas un nombre valide (pos {1})!
+ Le nom "{0}" n''est pas permis!
+ Les espaces blancs ne sont pas permis dans le nom du fichier TT2!
+ La table a trop de colonnes!
+ Erreur lors de l'écriture du fichier ZIP.
+ Seulement une composante d'horloge avec haute fréquence est permise.
+ Le circuit contient des cycles. Il n'est pas possible d'analyser un tel circuit.
+ Les cycles surviennent si la sortie d'une porte se répercute dans une des entrées de la même porte.
+ L'utilisation d'interrupteurs, de FETs ou de relais peut aussi causer des cycles.
+ Si une bascule monostable est utilisée, il doit y avoir exactement une composante horloge!
+ Impossible de créer une composante de type {0}!
+ La ROM définie dans les paramètres n'est pas prise en charge!
+ Le nom "{0}" n''est pas unique!
+ Impossible d'écrire les valeurs au processus externe!
+ Impossible de lire les valeurs du processus externe!
+ Impossible de créer le processus externe!
+ Expiration du délai d''attente pour lire les données du processus externe!
+ {0}
+ Pas assez de données reçues!
+ {0}
+ Le texte reçu contient un caractère invalide: {0}!
+ {1}
+ Le processus a été interrompu de façon inattendue!
+ {0}
+ Impossible d'interrompre le processus!
+ Impossible d''exécuter le processus: {0}
+ L''état de sortie de l''application n''était pas 0, mais {0}:
+ {1}
+ Le code externe peut seulement être exporté si c'est du VHDL!
+ Le code externe peut seulement être exporté si c'est du Verilog!
+ Si une composante externe est utilisée à de multiples reprises, le code doit être identique! Effets: {0}
+ Impossible d''écrire à la sortie standard (stdout):
+ {0}
+ Le simulateur de VHDL ghdl ne semble pas être installé. Installez ghdl (http://ghdl.free.fr/) et réessayez.
+ S'il y a toujours des problèmes, vérifiez le chemin de l'exécutable ghdl dans les paramètres de Digital.
+ Le simulateur de Verilog Icarus ne semble pas être installé. Installez IVerilog (http://iverilog.icarus.com/) et réessayez.
+ S'il y a toujours des problèmes, vérifiez le chemin de l'exécutable IVerilog dans les paramètres de Digital.
+ Erreur lors de l''analyse du circuit: {0}
+ Chaque ROM doit avoir une étiquette unique pour pouvoir être exportée!
+ Chaque LUT doit avoir une étiquette unique pour pouvoir être exportée!
+ Le compte doit avoir au moins deux bits.
+ Les horloges ne peuvent pas être utilisées en mode asynchrone.
+ Erreur lors de l'exportation en Verilog.
+ Aucune mémoire de programme trouvée! La mémoire du programme doit être identifiée comme telle.
+ Erreur lors du chargement de la mémoire du programme.
+ Erreur lors de la lecture du fichier SVG.
+ Le fichier SVG contient des broches qui n'existent pas dans le circuit.
+ Toutes les mémoires dans lesquelles des données sont chargées doivent avoir la même largeur binaire.
+ Si les programmes seront chargés dans plusieurs RAMs, toutes les RAMs doivent avoir
+ des noms différents. L'ordre lexicographique détermine l'ordre des RAMs.
+ Le système MIDI n'est pas disponible.
+ Le canal MIDI {0} n''est pas disponible.
+ L''instrument MIDI {0} n''est pas disponible.
+ Les instruments MIDI ne sont pas disponibles.
+ Une erreur a eu lieu pendant l''exécution des tests "{0}"!
+ HDL inconnu: {0}
+ Erreur d''exécution de la commande {0}
+ Il y a une entrée ou une sortie sans nom!
+ Le nom de signal "{0}" est invalide ou est utilisé à plusieurs reprises!
+ Erreur lors de la substitution des composantes pour l'analyse.
+ Erreur lors de l''évaluation du code générique pour un circuit. Code
+ {1}
+ à la composante: {0}
+ Erreur lors de l'évaluation du code générique.
+ Le mode vidéo n''a pas été détecté ({0})
+ Il n'y a aucun nom de fichier disponible pour le rechargement automatique!
+ Bits d'adressage
+ Nombre de bits utilisés pour l'adresse.
+ Bits de données
+ Le nombre de bits utilisés pour les données.
+ Couleur
+ La couleur de l'élément.
+ Couleur d'arrière-plan
+ La couleur d'arrière-plan du circuit lorsqu'il est intégré dans un autre circuit.
+ Elle n'est pas utilisée pour les boîtiers DIL.
+ Cycles d'attente
+ Si ce nombre de cycles est atteint dans signal de pause, une erreur est affichée.
+ Données
+ Les valeurs stockées dans cet élément.
+ Par défaut
+ Cette valeur est mise lorsque le circuit débute.
+ Pour un démultiplexeur, cette valeur est mise pour les sorties non sélectionnées.
+ Par défaut
+ Cette valeur est mise lorsque le circuit débute. Un "Z" signifie un état de haute impédance.
+ Entrée à trois états
+ Si coché, l'entrée pourra être mise dans un état de haute impédance. Pour une entrée, c'est aussi
+ disponible si "Z" est choisi comme valeur par défaut.
+ Pas de sortie à zéro.
+ Évite la sortie à zéro. Cela est particulièrement pratique pour monter des circuits de relais.
+ Peut seulement être coché si l'état de haute impédance est permis.
+ Description
+ Une courte description de cet élément et son utilisation.
+ Fréquence/Hz
+ La fréquence utilisée pour l'horloge temps réel.
+ Utiliser les formes IEEE 91-1984
+ Utiliser les formes IEEE 91-1984 au lieu des formes rectangulaires.
+ Nombre d'entrées
+ Le nombre d'entrées utilisées. Chaque entrée doit être connectée.
+ Étiquette
+ Le nom de cet élément.
+ Taille
+ La taille de la forme de cet élément dans le circuit.
+ Langue
+ Langue de l'interface. Prend effet seulement après un redémarrage.
+ Nom du réseau
+ Tous les réseaux avec un nom identique sont connectés ensemble.
+ Séparation de l'entrée
+ S'il y a par exemple quatre bits, deux bits et encore deux bits à être utilisés comme entrées,
+ cela peut être configuré avec "4,2,2". Le nombre indique le nombre de bits. Pour plus de facilité,
+ l'astérisque peut être utilisé: 16 bits peuvent ainsi être séparés avec "[Bits]*[Nombre]",
+ par exemple "1*16" donnera 16 bits individuels. Il est également possible de spécifier les bits à utiliser dans
+ n'importe quel ordre. Par exemple, "4-7,0-3" utilisera les bits 4-7 et 0-3. Cette notation permet n'importe quel
+ arrangement de bits. Les entrées doivent être spécifiées complètement et sans ambiguïté.
+ Séparation de la sortie
+ S'il y a par exemple quatre bits, deux bits et encore deux bits à être utilisés comme entrées,
+ cela peut être configuré avec "4,2,2". Le nombre indique le nombre de bits. Pour plus de facilité,
+ l'astérisque peut être utilisé: 16 bits peuvent ainsi être séparés avec "[Bits]*[Nombre]",
+ par exemple "1*16" donnera 16 bits individuels. Il est également possible de spécifier les bits à utiliser dans
+ n'importe quel ordre. Par exemple, "4-7,0-3" utilisera les bits 4-7 et 0-3. Cette notation permet n'importe quel
+ arrangement de bits. Les bits de sortie peuvent être émis plusieurs fois: "0-7,1-6,4-7".
+ Nombre de bits du sélecteur
+ Nombre de bits utilisés pour l'entrée du sélecteur.
+ Opération signée
+ Si coché, l'opération est effectuée avec des valeurs signées (complément 2).
+ Le reste est toujours positif.
+ Si coché, le reste d'une division signée sera toujours positif.
+ Fermé
+ Donne l'état initial de l'interrupteur.
+ Valeur
+ La valeur de la constante.
+ Largeur
+ Largeur du symbole si le circuit est utilisé comme une composante dans un autre circuit.
+ Hauteur
+ Hauteur du symbole si le circuit est utilisé comme une composante dans un autre circuit.
+ Recharger au début
+ Recharger le fichier HEX à chaque fois que le modèle débute.
+ Inverser la position du sélecteur
+ Cette option permet de déplacer l'entrée du sélecteur du côté opposé du plexeur.
+ Format de nombre
+ Le format utilisé pour afficher les nombres.
+ ASCII
+ Binaire
+ Décimal
+ Décimal signé
+ Par défaut
+ Hexadécimal
+ Octal
+ L'entrée de décalage est signée
+ Si coché, l'entrée de décalage est une valeur signée (complément 2).
+ Mode
+ Mode du décaleur
+ Logique
+ Rotation
+ Arithmétique
+ Direction
+ Détermine la direction du décalage.
+ Gauche
+ Droite
+ Nombre maximal d'étapes à afficher
+ Le nombre maximal de valeurs stockées.
+ Si le nombre maximal est atteint, les valeurs plus vieilles disparaissent.
+ Afficher les étapes pas-à-pas
+ Afficher toutes les étapes pas-à-pas dans le graphique.
+ Rotation
+ L'orientation de l'élément dans le circuit.
+ Miroir
+ Reflète la composante dans le circuit.
+ Partir l'horloge temps réel
+ Si coché, l'horloge de temps d'exécution est partie quand le circuit débute.
+ Afficher le graphique de mesures au début de la simulation
+ Lorsque la simulation est débutée, un graphique avec les valeurs mesurées est affiché.
+ Afficher le graphique de mesures en mode pas-à-pas au début de la simulation
+ Lorsque la simulation est débutée, un graphique avec les valeurs mesurées en mode
+ pas-à-pas est affiché. Tous les changements de portes sont inclus dans le graphique.
+ Afficher dans le graphique de mesures
+ Affiche la valeur dans le graphique de mesures
+ Afficher les valeurs de mesures au début de la simulation
+ Lorsque la simulation débute, un tableau avec les valeurs mesurées est affiché.
+ Lignes
+ Le nombre de lignes à afficher.
+ Caractères par ligne
+ Le nombre de caractères affichés dans une seule ligne.
+ Utiliser comme valeur de mesure
+ Si coché, la valeur est une valeur de mesure est s'affiche dans le graphique et le tableau de données.
+ De plus, une étiquette doit être spécifiée afin d'identifier la valeur.
+ Données de test
+ La description du test.
+ Les détails de la syntaxe peuvent être trouvés dans le dialogue d'aide de l'éditeur de données de test.
+ Largeur en pixels
+ La largeur de l'écran en pixels.
+ Hauteur en pixels
+ La hauteur de l'écran en pixels.
+ Mémoire de programme
+ Fait de cette ROM une mémoire de programme. Ainsi, elle devient accessible par un éditeur externe.
+ Pointeur d'instruction
+ Fait de ce registre un pointeur d'instruction (ou compteur ordinal). La valeur de ce registre
+ est retournée à un assembleur externe pour marquer la ligne de code courante durant le débogage.
+ Programmé
+ Si la diode est "sautée" ou "programmée".
+ Pour un FET à grille flottante, la grille flottante est chargée.
+ Il est aussi possible de changer cette option avec la touche [P].
+ Format
+ Format des expressions à l'écran
+ Relais normalement fermé.
+ Si coché, le relais est fermé si l'entrée est basse.
+ Nombre de pôles
+ Nombre de poles disponibles.
+ Connexion commune
+ Si coché, une entrée de cathode ou d'anode commune est aussi simulée.
+ Commun
+ Type de connexion commune.
+ Cathode
+ Anode
+ Éviter le clignotement
+ Il n'est pas possible d'augmenter la fréquence assez pour que le clignomenet disparaisse.
+ Afin de supprimer le clignotent quand même, une "rémanence" peut être activée pour les LEDs avec cette option.
+ Si coché, les LEDs restent allumées, même si une des broches change vers un état de haute impédance.
+ Cela simule une fréquence au-delà de la fréquence critique de fusion du clignotement.
+ Ajusteur ATF15xx
+ Chemin vers l'ajusteur pour le ATF15xx.
+ Entrer un répertoire qui contient les fichiers fit15xx.exe fournis par Microchip (anciennement ATMEL).
+ Numéro de broche
+ Un champ vide signifie que le signal n'est pas assigné à une broche.
+ Lignes
+ Spécifie le nombre de lignes en spécifiant le nombre de bits du mot de la ligne.
+ Bits d'adressage des colonnes
+ Pour adresser des colonnes individuelles. Trois bits donnent huit colonnes.
+ Empêcher la modification
+ Verrouille le circuit. Il est possible de configurer les diodes et les FGF-FETs.
+ Numéro de broche
+ Numéro de cette broche. Utilisé pour la représentation d'un circuit dans un boîtier DIL et lors
+ de l'affectation des broches lors de la programmation d'un CPLD.
+ S'il y a plusieurs bits, tous les numéros de broche peuvent être spécifiés dans une liste séparée par des virgules.
+ Nombre de broches DIL
+ Nombre de broches. Un zéro signifie que le nombre de broches est déterminé automatiquement.
+ Afficher l'arborescence des composantes au démarrage.
+ Si coché, l'arborescence des composantes est affichée au démarrage.
+ Entrées inversées
+ Sélectionner les entrées qui doivent être inversées.
+ Taille de la police des menus [%]
+ Taille des polices utilisées dans le menu en pourcentage de la valeur par défaut.
+ Entrée d'activation
+ Si coché, une entrée d'activation (T) est disponible.
+ Unidirectionnel
+ Les transistors unidirectionnels propagent un signal seulement de la source au drain. Ils sont
+ beaucoup plus rapides à simuler que les transistors bidirectionnels. Dans ce mode, puisqu'il n'y a pas de
+ rétroaction du drain à la source, le transistor ne peut pas court-circuiter les fils connectés lorsqu'il est conducteur.
+ Ainsi, ce mode est nécessaire pour simuler certains circuits CMOS.
+ Actif bas
+ Si coché, la sortie est basse lorsque la composante est active.
+ Bibliothèque
+ Dossier qui contient la bibliothèque avec des sous-circuits prédéfinis.
+ Contient par exemple les composantes de la série 74xx. Vous pouvez aussi ajouter vos propres circuits
+ en les stockant à cet emplacement.
+ Il faut s'assurer que le nom des fichiers dans ce dossier et ses sous-dossiers sont uniques.
+ Afficher la grille
+ Afficher la grille dans la fenêtre principale.
+ Surlignement des fils
+ Si coché, les lignes de fils sont surlignées lorsque la souris est par-dessus.
+ Associer au clavier
+ Le bouton est associé au clavier.
+ Pour utiliser les touches de direction, utilisez UP, DOWN, LEFT ou RIGHT comme étiquette.
+ Bibliothèque Java
+ Un fichier JAR qui contient des composantes additionnelles implantées en Java.
+ Afficher le nombre de fils sur un bus.
+ ATTENTION: La valeur est seulement mise à jour lorsque la simulation débute.
+ Largeur binaire d'entrée
+ Le nombre de bits de sortie doit est plus grand que le nombre de bits d'entrée.
+ Largeur binaire de sortie
+ Le nombre de bits de sortie doit est plus grand que le nombre de bits d'entrée.
+ Taille de police
+ Détermine la taille de la police à utiliser pour ce texte.
+ Durée
+ Temps de délais avec comme unités le temps de propagation équivalent d'une porte logique.
+ Inverser la sortie
+ Si coché la sortie est inversée.
+ Largeur d'impulsion
+ La largeur d'impulsion est mesurée en cycles d'horloge.
+ Étalement
+ Configure l'étalement des entrées et des sorties dans le circuit.
+ Contenu des ROM.
+ Contenu de toutes les ROMs utilisées.
+ Application
+ Définit l'application à utiliser.
+ Générique
+ GHDL
+ IVerilog
+ Entrées
+ Les entrées du processus externe.
+ C'est une liste de noms de signaux séparée par des virgules. Pour chaque nom de signal, un nombre de bits
+ séparé par un deux-points peut être spécifié. Les entrées d'un additionneur 8-bit pourraient ainsi être séparées
+ avec "a:8,b:8,c_in".
+ Sorties
+ Les sorties du processus externe.
+ C'est une liste de noms de signaux séparée par des virgules. Pour chaque nom de signal, un nombre de bits
+ séparé par un deux-points peut être spécifié. Les sorties d'un additionneur 8-bit pourraient ainsi être séparées
+ avec "s:8,c_out".
+ Code du programme
+ Le code du programme à exécuter par une application externe.
+ Options
+ GHDL
+ Chemin du fichier ghdl exécutable. Seulement nécessaire si vous voulez utiliser ghdl pour
+ simuler des composantes définies avec VHDL.
+ Options GHDL
+ Options utilisées pour les étapes de traitement par GHDL.
+ IVerilog
+ Chemin du fichier exécutable d'Icarus Verilog. Seulement nécessaire si vous voulez utiliser
+ IVerilog pour simuler des composantes définies avec Verilog.
+ Valeur maximale
+ Si un zéro est entré, la valeur maximale est utilisée (tous les bits à un).
+ Sortie haute
+ La valeur par défaut de l'interrupteur DIP lorsque la simulation débute.
+ Utiliser les clics de souris macOS.
+ Utiliser Ctrl+Clic au lieu du clic droit.
+ Pas d'infobulles pour les composantes du volet principal.
+ Si coché, aucune infobulle pour les composantes dans le volet principal ne sera affichée.
+ Les infobulles peuvent être dérangeantes, surtout dans une présentation.
+ Afficher le dialogue pour renommer automatiquement les tunnels.
+ Si coché, un dialogue pour renommer automatiquement les tunnels du même nom sera affiché après
+ qu'un tunnel ait été renommé.
+ ATMISP
+ Chemin du fichier exécutable ATMISP.exe. Si coché, le programme ATMISP sera exécuté automatiquement!
+ Forme personnalisée
+ Importation d'un fichier SVG
+ Précharger le mémoire de programme au démarrage.
+ Lors de la simulation d'un processeur qui utilise une composante de RAM comme mémoire de programme,
+ il est difficile de lancer le processeur parce que le contenu de la RAM est toujours initialisé avec des
+ zéros au début de la simulation. Cette option permet de charger les données dans la mémoire de programme au
+ démarrage. La mémoire de programme dans le circuit doit être identifiée comme telle.
+ Fichier de programme
+ Fichier qui devrait être chargé dans la mémoire de programme au début de la simulation.
+ Largeur
+ Largeur en unités de grille
+ Hauteur
+ Hauteur en unités de grille
+ Texte en dedans
+ Place le texte à l'intérieur du rectangle.
+ Texte en bas
+ Place le texte au bas du rectangle.
+ Text à droite
+ Place le texte à droite du rectangle.
+ Forme large
+ Utilise une forme plus large pour visualiser la porte.
+ Forme
+ La forme à utiliser pour la représentation du circuit lorsque celui-ci est intégré.
+ Dans le mode "Simple", les entrées sont affichées à gauche et les sorties à droite dans un rectangle simple.
+ Avec "Disposition", la position des entrées et des sorties ainsi que leur orientation dans le circuit détermine
+ la position des broches. Avec "Boîtier DIL", un boîtier DIL est utilisé pour afficher le circuit. Les numéros
+ de broches des entrées et des sorties déterminent la position des broches sur le boîtier.
+ Par défaut
+ Simple
+ Boîtier DIL
+ Disposition
+ Personnalisée
+ Orientation
+ Position de la coordonnée relativement au texte.
+ Bas à gauche
+ Bas au centre
+ Bas à droite
+ Milieu à droite
+ Haut à droite
+ Haut au centre
+ Haut à gauche
+ Milieu à gauche
+ Milieu au centre
+ Canal MIDI
+ Sélectionne le canal MIDI à utiliser.
+ Instrument MIDI
+ L'instrument MIDI à utiliser
+ Permettre le changement de programme
+ Ajoute une nouvelle entrée PC (program change). Si cette entrée est haute,
+ la valeur à l'entrée N est utilisée pour changer le programme (l'instrument).
+ Activée
+ Active ou désactive cette composante.
+ Configuration de la chaîne d'outils
+ Sert à configurer l'intégration d'une chaîne d'outils.
+ Permet d'exécuter des outils externes, par exemple pour programmer un FPGA ou autre.
+ Paramétrisation générique
+ Énoncés utilisés pour générifier un circuit.
+ Circuit générique
+ Permet de créer un circuit générique.
+ Afficher le tutoriel au démarrage.
+ Active le tutoriel.
+ Interrupteur se comporte comme une entrée
+ Si le modèle est analysé, l'interrupteur se comporte comme une entrée, où "ouverte" correspond à '0' et "fermée" à '1'.
+ Paramètres d'exportation SVG
+ Texte en notation LaTeX
+ Le texte est inséré en notation LaTeX. Inkscape est requis pour un traitement ultérieur.
+ Étiquettes de broches en mode math.
+ Pour les étiquettes de broches, utiliser le mode math même s'elles ne contiennent aucun indice.
+ Cacher les tests
+ Les tests ne sont pas exportés.
+ Formes non remplies
+ Les polygones ne sont pas remplis.
+ Petites entrées et sorties
+ Les entrées et les sorties sont représentées comme de petits cercles.
+ Omettre les marqueurs de broches
+ Les marqueurs de broches bleus et rouges sur les symboles sont omis.
+ Constraste élevé
+ Les fils et le texte des broches sont affichés en noir.
+ Monochrome
+ Seulement des nuances de gris sont utilisées.
+ Lignes minces
+ Si coché, les lignes sont dessinées un peu plus minces.
+ Utiliser la touche égal
+ Utiliser la touche égal au lieu de la touche plus.
+ Cela est toujours utile si le caractère plus n'est pas une touche primaire, mais une affectation secondaire
+ de la touche égal, par exemple sur les claviers américains et français.
+ Aligner sur la grille
+ Si coché, la composante reste alignée sur la grille.
+ Séparateur de broche
+ Utilisé par le type de forme "Disposition". Établit la distance avec la broche précédente.
+ Thème de couleur
+ Normal
+ Foncé
+ Deutéranopie
+ Personnalisé
+ Préréglages
+ Couleurs personnalisées
+ Arrière-plan
+ Avant-plan
+ Fil
+ Fil HAUT
+ Fil BAS
+ Valeur au fil
+ Sortie
+ Fil HI-Z
+ Erreur
+ OK
+ Broches
+ Grille
+ Test
+ Désactivé
+ Asynchrone
+ Surligné
+ Fil inséré.
+ Insertion du presse-papier
+ Valeur ''{0}'' de la composante ''{1}'' modifiée
+ Attributs de la composante ''{0}'' modifiée.
+ Fil supprimé.
+ Composante ''{0}'' déplacée ou pivotée.
+ Fil déplacé.
+ Sélection supprimée.
+ Composante ''{0}'' insérée.
+ Composante ''{0}'' supprimée.
+ Fil inséré.
+ Sélection déplacée.
+ Annuler: {0}
+ Rétablir: {0}
+ Attributs du circuit modifiés.
+ Mesures réordonnées.
+ Attributs des composantes sélectionnées modifiées.
+ Séparation d'un fil en deux fils.
+ Logique
+ Arithmétique
+ Bascules
+ E/S
+ Mémoire
+ Plexeurs
+ Câblage
+ Interrupteurs
+ Affichages
+ Mécanique
+ Périphériques
+ Divers
+ Plus
+ RAM
+ EEPROM
+ Interface de ligne de commande
+ L''argument non optionnel {0} est manquant.
+ La valeur {0} n''est pas un booléen.
+ La valeur {0} n''est pas un nombre.
+ L''argument {0} n''est pas défini.
+ Il n'y a pas assez d'arguments.
+ Il y a trop d'arguments.
+ Type invalide.
+ La commande {0} n''a pas de sous-commande {1}.
+ Options:
+ Le premier nom de fichier spécifie le nom du circuit à tester.
+ Si un second nom de fichier est spécifié, les tests sont exécutés à partir de ce fichier.
+ Sinon, les tests sont exécutés à partir du premier fichier.
+ Nom du fichier à être testé.
+ Nom du fichier avec les tests.
+ Permet l'omission d'entrées dans le circuit qui sont définies dans le test.
+ Cela peut être utile s'il y a plusieurs solutions qui peuvent dépendre d'entrées différentes.
+ Les tests ont échoué.
+ Une erreur s'est produite lors de l'exécution des tests.
+ Peut être utilisé pour créer un fichier SVG à partir d'un circuit.
+ Le nom de fichier du circuit.
+ Le nom du fichier SVG à créer.
+ Utiliser les symboles IEEE.
+ Erreur lors de la création du fichier SVG!
+ Créer un fichier CSV qui contient les statistiques du circuit.
+ Toutes les composantes sont listées dans le fichier CSV.
+ Nom de fichier du circuit.
+ Nom du fichier CSV à créer.
+ Si cette option est manque, la table de vérité est écrite à la sortie standard.
+ Erreur lors de la création du fichier de statistiques!
+ Fenêtre
+ À propos
+ Analyse
+ Analyse le circuit actuel
+ Couper
+ Copier
+ Personnalisé
+ Bibliothèque
+ Supprimer la composante
+ Supprime la composante ou le groupe de composantes sélectionnées
+ Édition
+ Paramètres spécifiques au circuit
+ Les paramètres spécifiques au circuit affectent le comportement du circuit présentement ouvert.
+ Par exemple, la forme qui représente le circuit quand il est intégré dans d'autres circuits.
+ Ces paramètres sont stockés avec le circuit.
+ Paramètres
+ Les paramètres globaux du simulateur spécifient, entre autres, la langue, la forme des symboles à utiliser,
+ ou les chemins des outils externes.
+ Arrêter la simulation
+ Arrête la simulation et permet d'éditer le circuit.
+ Composantes
+ Exporter
+ Exporter en PNG (large)
+ Exporter en PNG (petit)
+ Exporter en SVG
+ Exporter en GIF animé
+ Exécuter jusqu'à une pause
+ Exécute le circuit jusqu'à qu'une pause est détectée sur une composante BRK.
+ Fichier
+ Aide
+ Mettre à jour
+ Met à jour le menu des composantes.
+ Ajuster à la fenêtre
+ Mode pas-à-pas
+ Lance le circuit en mode pas-à-pas
+ Nouveau
+ Crée un nouveau circuit vide.
+ Nouveau circuit intégré
+ Ouvre une nouvelle fenêtre pour créer un circuit intégré, qui peut ensuite être utilisé dans ce circuit.
+ Ouvrir
+ Ouvrir récent
+ Ouvrir récent dans une nouvelle fenêtre
+ Ouvrir dans une nouvelle fenêtre
+ Ouvre un circuit dans une nouvelle fenêtre
+ Ordonner les entrées
+ Ordonne les entrées pour l'utilisation comme circuit intégré
+ Ordonner les valeurs de mesure
+ Ordonne les valeurs de mesure dans l'affichage graphique et le tableau
+ Ordonner les sorties
+ Ordonne les sorties pour l'utilisation comme circuit intégré
+ Coller
+ Pivoter
+ Simulation
+ Lancer la simulation
+ Lance la simulation du circuit.
+ Enregistrer
+ Enregistrer sous
+ Enregistrer les données
+ Enregistre les données dans un fichier CSV
+ Test de vitesse
+ Effectue un test de vitesse pour calculer la fréquence d'horloge maximale.
+ Avancer d'un pas
+ Calcule le résultat d'un seul pas
+ Exécuter jusqu'à une pause en mode pas-à-pas
+ Exécute tous les pas du mode pas-à-pas jusqu'à qu'une composante de pause reçoive un front montant.
+ S'il n'y a pas de composante de pause, le reste de pas sont effectués.
+ Synthèse
+ Génère les expressions booléennes minimales décrites par une table de vérité.
+ {0} variables
+ Créer
+ Crée un nouveau fichier source CUPL contenant le circuit défini.
+ Crée un fichier contenant un circuit similaire au format Berkeley Logic Interchange (BLIF).
+ Par la suite, l'ajusteur d'Atmel peut être lancé pour créer le fichier JEDEC.
+ Circuit
+ Crée un circuit qui reproduit la table de vérité.
+ Circuit avec des bascules JK
+ Crée un circuit qui reproduit la table de vérité. Utilise des bascules JK.
+ Circuit avec LUTs
+ Crée un circuit qui reproduit la table de vérité. Utilise des tables de recherche pour créer l'expression.
+ Circuit avec portes Non-Et
+ Circuit avec portes Non-Et à deux entrées
+ Utilise seulement des portes Non-Et à deux entrées.
+ Crée un circuit qui reproduit la table de vérité avec seulement des portes Non-Et.
+ Circuit avec portes Non-Ou
+ Circuit avec portes Non-Ou à deux entrées
+ Utilise seulement des portes Non-Ou à deux entrées
+ Crée un circuit qui reproduit la table de vérité avec seulement des portes Non-Ou.
+ Circuit avec portes à deux entrées
+ Crée un circuit avec seulement des portes à deux entrées
+ Circuit avec portes à trois entrées
+ Crée un circuit avec des portes a trois entrées maximum
+ Périphérique
+ Crée un fichier JEDEC pour le périphérique
+ Exporter en LaTeX
+ Exporter en texte brut
+ Exporter en test
+ Crée une description de test qui peut être utilisée dans un test.
+ Le test est seulement fonctionnel si le circuit est purement combinatoire!
+ Exporter en HEX
+ Le fichier HEX peut être chargé dans une ROM ou une LUT.
+ Nouveau
+ Combinatoire
+ Séquentiel
+ Séquentiel bidirectionnel
+ Réordonner/supprimer des variables d'entrées
+ Réordonner/supprimer des colonnes de sortie
+ Ajouter une colonne de sortie
+ Ajoute une nouvelle colonne de résultat à la table.
+ Ajouter une variable d'entrée
+ Ajoute une nouvelle variable d'entrée à la table.
+ Mettre les X à 0
+ Mettre les cas indéfinis à 0.
+ Mettre les X à 1
+ Mettre les cas indéfinis à 1.
+ Créer les expressions J/K
+ Tout mettre à X
+ Mettre toutes les valeurs comme indéfinies
+ Tout mettre à 0
+ Mettre toutes les valeurs à 0.
+ Tout mettre à 1
+ Mettre toutes les valeurs à 1.
+ Inverser tous les bits
+ Un "1" devient un "0" et vice versa. Les cas indéfinis ne changent pas.
+ Afficher le dialogue des résultats
+ Affiche le dialog des résultats une autre fois s'il a été fermé manuellement.
+ Effacer
+ Efface le contenu du terminal.
+ Affichage
+ Zoom avant
+ Zoom arrière
+ Expression
+ Crée un circuit à partir d'une expression
+ Exécuter les tests
+ Exécute tous les tests du circuit
+ Fixer les entrées
+ Utilise les valeurs actuelles des entrées comme valeurs par défaut.
+ Réinitialise toutes les diodes et les FGFETs
+ Réinitialise toutes les diodes (fusibles) et les FGFETS à l'état "non programmé". L'état de configuration
+ du fusible est perdu!
+ Programmer la diode
+ Composantes
+ Affiche une liste des composantes disponibles.
+ Dialogue d'aide
+ Affiche le dialogue d'aide qui décrit le circuit actuel.
+ Mémoire
+ Affiche le contenu des composantes de mémoire
+ Coller dans une nouvelle fenêtre
+ Le contenu du presse-papier est collé dans une nouvelle fenêtre.
+ Arborescence des composantes
+ Affiche l'arborescence des composantes disponibles sur le côté gauche.
+ Fonctions 74xx spéciales
+ Ajouter un préfixe E/S
+ Un préfixe est ajouté pour toutes les entrées et sorties sélectionnées.
+ Sert à simplifier le doublage des circuits à l'intérieur d'un circuit 74xx.
+ Supprimer le préfixe E/S
+ Le premier caractère des étiquettes des entrées et des sorties est supprimé.
+ Sert à simplifier le doublage des circuits à l'intérieur d'un circuit 74xx.
+ Assistant de numéros de broche
+ Assistant pour appliquer les numéros de broches aux entrées et aux sorties.
+ Supprimer les numéros de broche
+ Supprime tous les numéros de broche dans le circuit
+ Annuler
+ Annule la dernière modification
+ Rétablir
+ Réapplique la dernière modification annulée.
+ Afficher le graphique
+ Affiche les données comme un graphique.
+ Affiche le tableau
+ Affiche les données comme un tableau.
+ Ajouter une alimentation
+ Ajoute une alimentation au circuit.
+ Exporter en VHDL
+ Exporte le circuit en VHDL
+ Exporter en Verilog
+ Exporte le circuit en Verilog
+ Table-K
+ Affiche une représentation en table de Karnaugh de la table!
+ Documentation
+ Ouvrir {0}
+ Afficher le tableau des mesures
+ Affiche un tableau avec les valeurs mesurées dans une fenêtre séparée.
+ Afficher le graphique des mesures
+ Affiche un graphique avec les valeurs mesurées dans une fenêtre séparée.
+ Exporter en fichier ZIP
+ Exporte le fichier comme un fichier ZIP.
+ Le fichier ZIP contient ainsi tous les fichiers nécessaires pour l'opération du circuit.
+ Étiqueter les entrées et les sorties
+ Met une étiquette à toutes les entrées et toutes les sorties qui n'en ont pas.
+ Commencer le tutoriel
+ Lance le tutoriel pour débutants
+ Statistiques du circuit
+ Affiche une liste des composantes utilisées.
+ Nombre
+ Composante
+ Entrées
+ Bits
+ Bits d'addr.
+ Erreur lors de l'ouverture du fichier PDF!
+ <h1>Digital</h1>Un simulateur simple pour les circuits électroniques.
+ Écrit par H. Neemann de 2016-2020.
+
+ Les icônes ont été prises du <a href="http://tango.freedesktop.org">projet Tango Desktop</a>.
+
+ Visiter le projet sur <a href="https://github.com/hneemann/[[name]]">GitHub</a>.
+ Sur GitHub vous pouvez aussi <a href="https://github.com/hneemann/[[name]]/releases/latest">télécharger</a> la dernière version.
+
+ Vous pouvez aussi y poser <a href="https://github.com/hneemann/[[name]]/issues/new?body=version:%20[[version]]&labels=bug">une question au sujet d'un problème</a>
+ ou suggérer une <a href="https://github.com/hneemann/[[name]]/issues/new?labels=enhancement">amélioration</a>.
+ {0} noeuds
+ Erreur lors de l'analyse du circuit
+ Couleur
+ Erreur lors du calcul d'un pas
+ Erreur lors de création du circuit
+ Erreur durant la simplification
+ Erreur durant la création de la configuration matérielle.
+ Erreur lors de l'édition de la valeur d'un attribut.
+ Erreur lors de l''importation du circuit {0}!
+ Erreur lors de la mise à jour de la bibliothèque de composantes!!
+ Erreur lors de la lecture d'un fichier
+ La commande {0} est inconnue!
+ Erreur lors de l'écriture d'un fichier
+ La fréquence maximale est {0} kHz
+ La forme {0} est manquante
+ Affectation des broches
+ Broche {0}: {1}
+ Un redémarrage est requis pour que les changements fassent effet!
+ Entrez une expression:
+ Erreur lors de l'exécution des tests:
+ Résultat de test
+ {0} passés
+ {0} échoués
+ (Trop d'entrées!)
+ Tous les tests ont été exécutés, mais aucun résultat n'est affiché.
+ L'évaluation du résultat est tout de même correcte!
+ A: {0} / T: {1}
+ Erreur lors de la création de l'aide!
+ Le presse-papier ne contient aucune donnée importable!
+ Sélectionnez un dossier vide!
+ Message de l'ajusteur externe
+ Exécution de l'ajusteur externe
+ Circuit courant
+ Le nom de fichier sélectionné n'est pas importable à partir du projet en cours!
+ Le nom de fichier n'est pas unique!
+ Tous les fichiers dans le dossier courant et ses sous-dossiers doivent avoir des noms uniques. Cela s'applique
+ aussi au dossier de la bibliothèque. Si votre dossier de travail a un fichier 7400.dig, vous ne pouvez ni utiliser
+ ce fichier ni celui de la bibliothèque, parce que ce nom de fichier n'est plus unique.
+ Il y a plusieurs fichiers avec des noms identiques qui ne peuvent pas être assignés. Les fichiers affectés sont:
+ et {0} de plus.
+ Le fichier n'a pas encore été importé.
+ Le fichier {0} existe déjà. Voulez-vous remplacer le fichier?
+ L''édition de ce circuit est désactivée. Vous pouvez désactiver le verrouillage avec
+ "{0} -> {1} -> {2}".
+ Cependant, en mode verrouillage, il est toujours possible de copier des composantes ou configurer des diodes et
+ des FGFETs avec la touche [P]
+ Erreur durant le test de vitesse!
+ Broche {0}
+ Assistant de numérotation
+ Sélectionner la broche {0}:
+ Images écrites: {0}
+ Erreur lors de l'écriture du fichier GIF!
+ Terminer
+ Le fichier GIF a été créé.
+ Exportation en GIF
+ causé par
+ Entrées à inverser
+ aucun
+ Impossible de déterminer le nom des broches.
+ A eu lieu dans le fichier {0}.
+ Les composantes affectées sont: {0}.
+ Signal {0}
+ Aucun numéro de broche assigné aux broches {0}!
+ Les broches libres sont automatiquement assignées. Ainsi, dans la plupart des cas, le circuit ne peut
+ pas être utilisé sur du vrai matériel!
+ Vous pouvez seulement exporter un fichier sans erreurs!
+ Aucune table de Karnaugh disponible!
+ Les données ne seront plus mises à jour!
+ Modifier cette valeur
+ Un des champs contient une valeur invalide!
+ Création du fichier CHN.
+ Ce tableau est très grand, l'exportation pourrait prendre un moment.
+ Commencer l'exportation quand même?
+ Pour créer une description matérielle, le circuit doit d'abord être créé et analysé.
+ Une table de vérité seule ne peut pas être utilisée pour générer une description matérielle.
+ pas de données
+ Impossible de fermer le processus externe!
+ Résultat de la vérification:
+ Vérifier
+ Exécute l'application pour voir si le code entré est correct.
+ Si ce n'est pas le cas, le message d'erreur de l'application externe est affiché.
+ Si possible, les définitions des entrées et des sorties sont aussi adaptées au code en cours.
+ Les définitions des entrées et des sorties n'ont pas pu être créées automatiquement.
+ Veuillez vérifier les paramètres!
+ Le fichier exécutable "{0}" n''a pas été trouvé!
+ Entrez du texte!
+ Exécuter ATMISP
+ Exécute le programme externe ATMISP. Il doit avoir été installé précédemment.
+ Erreur lors de l'exécution d'ATMISP!
+ Le chemin vers l'exécutable ATMISP.exe est-il spécifié correctement dans les paramètres?
+ ATMISP est toujours en exécution!
+ Lorsque ce dialogue sera fermé, ATMISP sera interrompu!
+ Assurez-vous que le processus de flash est complet avant de fermer ce dialogue!
+ Exécuter tous les tests
+ Exécute tous les tests dans le répertoire courant.
+ {0} lignes de test passées
+ Fichier testé
+ Table de vérité
+ Erreur lors de l'importation du fichier SVG.
+ Erreur lors de la création du modèle SVG.
+ Les statistiques n'ont pas pu être créées.
+ Erreur lors de la lecture de la configuration de chaîne d''outils {0}
+ La commande "{0}" a été lancée! Le traitement pourrait durer quelque temps!
+ La commande "{0}" a été complétée!
+ Renommer le réseau
+ Il y a {0} tunnels de plus avec le nom de réseau ''{1}''.
+ Voulez-vous renommer tous les {0} à ''{2}''.
+ Voulez-vous vraiment abandonner les changements au champ "{0}"?
+ Copier le texte
+ Copie le texte dans le presse-papier.
+ Exportable en VHDL/Verilog.
+ OK
+ 0°
+ 180°
+ 270°
+ 90°
+ Pause après {0} demi-cycles au point d''arrêt ''{1}''
+ Supprime l'item sélectionné
+ Déplace l'item vers le bas
+ Déplace l'item vers le haut
+ Toutes les solutions possibles
+ Données de tests {0}
+ Données
+ Confirmer la fermeture!
+ Mesures
+ Mesures (pas d'horloge complet)
+ Mesures (pas-à-pas)
+ Enregistrer les modifications?
+ État changé!
+ Table
+ Exporter
+ Sélectionner
+ Entrée {0}
+ Table de Karnaugh
+ ROMs incluses
+ Aide
+ Nom à utiliser dans les circuits génériques: {0}
+ Contenu de la ROM centrale
+ <html>
+ <h3>Motivation</h3>
+ Quand un circuit qui contient une composante de ROM est intégré de multiple fois, le contenu de la ROM
+ est normalement utilisé pour chaque instance de ce circuit. Dans des certaines circonstances toutefois,
+ il peut être désirable pour un tel circuit d'être intégré de multiples fois,
+ mais avec un contenu différent de la ROM pour chaque instance.<br/>
+ Ce problème a lieu par exemple si une ROM 74xx est utilisée plusieurs fois, mais avec des contenus
+ en mémoire différents.<br/>
+ <h3>Fonction</h3>
+ Donc ici, le contenu de chaque ROM du circuit peut être défini.
+ Quand le modèle de la simulation est généré, chaque ROM est d'abord initialisée avec le contenu qu'elle stocke
+ elle-même. Ensuite, si un contenu alternatif est défini ici, la ROM correspondante utilise plutôt ce contenu.
+ <h3>Utilisation</h3>
+ Il devrait être noté que chaque ROM nécessite un nom unique pour être identifiée.
+ Pour ce faire, utilisez l'astérisque ('*') pour étiqueter la ROM. L'astérisque est ensuite remplacé par le
+ chemin complet construit à partir des noms des circuits intégrés.
+ Si un circuit contient une seule composante ROM, il est suffisant d'utiliser seulement l'astérisque
+ pour l'identifier.
+ Tous les circuits intégrés doivent être nommés pour qu'un nom unique soit formé pour chaque composante de ROM.
+ </html>
+ <html>
+ <h1>Nouvelle version {0} disponible</h1>
+ <p>Une nouvelle version du simulateur est disponible.</p>
+ <p>Vous pouvez voir les changements et les améliorations dans les
+ <a href="https://github.com/hneemann/[[name]]/releases/latest">notes de mise à jour</a></p>.
+ <p>Vous pouvez aussi <a href="https://github.com/hneemann/[[name]]/releases/latest">télécharger</a>
+ la nouvelle version.</p>
+ </html>
+ Expressions
+ Pour définir une expression, vous pouvez utiliser la plupart des notations courantes:
+
+ ET: "&", "&&", "*", "∧"
+ OU: "|", "||", "+", "∨", "#"
+ XOR: "^", "⊻"
+ NON: "!", "~", "¬"
+
+ Comme d'habitude, le ET à la priorité sur le OU et le XOR.
+
+ Plusieurs expressions peuvent être séparées par "," ou ";".
+ Si vous voulez nommer les expressions, vous pouvez utiliser la
+ commande let: "let U=A+B, let V=A*B".
+ Vecteurs de test
+ <html>
+ <head><style>pre { background-color: #E0E0E0;}</style></head>
+ <body>
+<p>La première ligne doit contenu le nom des entrées et des sorties.
+Les lignes suivantes contiennent les valeurs attendues.
+Un 'X' représente un cas indéfini et un 'Z' représente un état de haute impédance.
+Si un 'C' est utilisé, toutes les valeurs sont mises, ensuite un cycle d'horloge est effectué, puis les
+valeurs sont comparées. C'est donc plus facile de tester la logique séquentielle.
+Une ligne qui commence par un dièse ('#') est un commentaire.</p>
+
+<p>Ainsi, un test pour un compteur de 2 bits pourrait ressembler à ceci:</p>
+
+<pre>
+C Q1 Q0
+0 0 0
+C 0 1
+C 1 0
+C 1 1
+C 0 0
+</pre>
+
+<p>Les tests sont exécutés en allant dans Simulation->Exécuter les tests.</p>
+<p>
+Pour rendre plus facile la création de beaucoup de vecteurs de tests, il y a l'énoncé 'repeat(n)':
+si une ligne commence par 'repeat([n])', [n] lignes de test sont générées. La
+variable 'n' peut être utilisée pour générer les données de test. Avec 'repeat(16)',
+16 lignes de test sont créées, où n va de 0 à 15. S'il y a des plusieurs entrées à 1 bit,
+et celles-ci doivent être mises ensemble à une valeur binaire, cela peut être fait avec l'énoncé
+'bits([bits], [valeur])'. Celui-ci crée [bits] bits à partir de la valeur [valeur].</p>
+
+<p>L'example suivant est teste un additionneur 4 bits:</p>
+
+<pre>
+ C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
+repeat(256) 0 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15))
+repeat(256) 1 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15)+1)
+</pre>
+
+<p>Les signaux d'entrée sont la retenue (C_i-1) et les huit entrées A_3-A_0 et B_3-B_0.
+Les 4 bits d'entrée sont générés avec l'instruction 'bits'. Les résultats (C_i, S_3-S_0) sont également générés
+avec l'instruction 'bits'.
+Cela se produit une fois avec C_i-1 = 0 et sur la prochaine ligne avec C_i-1 = 1.
+De cette façon, 512 lignes de test sont générées qui permettent de couvrir toutes les configurations d'entrée.</p>
+<p>Si plusieurs lignes doivent être répétées, or si des boucles imbriquées sont nécessaires, l'énoncé loop
+peut être utilisé. L'exemple précédant peut ainsi être implanté de la façon suivante:</p>
+
+<pre>
+ C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
+loop(a,16)
+ loop(b,16)
+ 0 bits(4,a) bits(4,b) bits(5,a+b)
+ 1 bits(4,a) bits(4,b) bits(5,a+b+1)
+ end loop
+end loop
+</pre>
+
+<p>Dans certaines circonstances, il peut être nécessaire de pouvoir agir après l'état initial
+du circuit. De cette manière, les signaux fournis plus tard dans le circuit peuvent être utilisé dans le test.
+Par exemple, si un compteur qui débute dans un état indéfini doit être testé,
+il peut être amené à un état défini:</p>
+
+<pre>C Q_3 Q_2 Q_1 Q_0
+
+# compteur d'horloge jusqu'à 1111
+while(!(Q_3 & Q_2 & Q_1 & Q_0))
+C x x x x
+end while
+
+# débute l'exécution du test
+repeat(16) C bits(4,n)
+</pre>
+
+<p>Dans certains tests, il peut être utile de générer des nombres aléatoires.
+Ceux-ci peuvent être créés avec la fonction 'random([n])'. Le nombre généré est plus grand ou égal à
+zéro et plus petit que [n] (exclus). Si l'on considère le cas d'un multiplicateur 16 bits par exemple,
+un test complet ne peut pas être effectué car il nécessiterait 2^32 combinaisons.
+Un test de régression qui multiplie 100000 nombres aléatoires pourrait ressembler à ceci:</p>
+
+<pre>
+ A B Y
+loop(i,100000)
+ let a = random(1<<16);
+ let b = random(1<<16);
+ (a) (b) (a*b)
+end loop
+</pre>
+
+<p>Une entrée qui permet une haute impédance comme valeur peut aussi être utilisée comme sortie dans un test.
+Dans ce cas, le nom du signal suivi de "_out" peut être utilisé pour lire et vérifier la valeur courante.
+Pour cela, l'entrée correspondante doit être mise à haute impédance ('Z').</p>
+
+<pre>OE CLK D D_out
+0 0 0 0
+0 C 1 1
+1 0 z 1
+0 C 0 0
+1 0 z 0
+</pre>
+
+<p>Le circuit pour ce test n'a qu'une seule entrée 'D', qui peut prendre un état de haute impédance.
+Alors, le signal 'D_out' est aussi disponible pour vérifier la valeur dans ce cas.</p>
+
+</body></html>
+ Automate fini
+ Aucun mouvement
+ Transitions
+ Transitions+États
+ mettre {0}
+ Automate fini
+ Ouvre un dialogue pour éditer l'automate fini.
+ Créer
+ Table états-transitions
+ Créer un compteur
+ {0} états
+ Aide pour utiliser l'éditeur FSM.
+ Numéro d'état
+ Le nombre qui représente cet état.
+ État initial
+ Si coché, cet état est l'état initial.
+ Sortie
+ Définit les valeurs de sorties.
+ Avec des affectations comme "A=1, B=0", des sorties peuvent être établies.
+ Avec des instructions comme "A=101", des sorties à plusieurs bits peuvent être établies.
+ Les sorties qui ne sont pas définies ici sont mises à zéro.
+ Pour les transitions, les sorties non spécifiées restent inchangées
+ Condition
+ Une expression booléenne.
+ Rayon
+ Rayon du cercle dans le diagramme.
+ La FSM n''est pas déterministe: {0}
+ Le numéro d''état {0} est utilisé deux fois.
+ Il n'y a pas d'état initial (état numéro zéro).
+ L''état ''{0}'' n''a pas été trouvé!
+ Mauvaise affectation à la sortie (''{0}'')!
+ Erreur dans la condition ''{0}''!
+ Erreur lors du chargement du fichier!
+ Erreur lors du stockage du fichier!
+ Transition
+ État
+ Nouvel état
+ Impossible de créer la table états-transitions.
+ Aide de l'éditeur FSM
+ <html><head></head>
+<body>
+ <h3>Opérations avec la souris</h3>
+ <dl>
+ <dt>Créer un état:</dt>
+ <dd>Clic droit dans un espace vide.</dd>
+ <dt>Créer une transition:</dt>
+ <dd>Clic droit sur l'état de départ et glisser vers l'état final.</dd>
+ <dt>Supprimer un état ou une transition:</dt>
+ <dd>Déplacer la souris au-dessus de l'objet et appuyer sur la touch [Suppr].</dd>
+ <dt>Déplacer un état ou une transition:</dt>
+ <dd>Garder le bouton gauche enfoncé et glisser.</dd>
+ <dt>Éditer un état ou une transition:</dt>
+ <dd>Clic droit sur l'état ou la transition.</dd>
+ </dl>
+ <h3>Fonction d'aide à la disposition</h3>
+ <dl>
+ <dt>Aucun mouvement:</dt>
+ <dd>L'aide à la disposition est désactivée.</dd>
+ <dt>Transitions:</dt>
+ <dd>L'aide à la disposition va bouger les flèches de transitions pour éviter les chevauchements.</dd>
+ <dt>Transitions+États</dt>
+ <dd>L'aide à la disposition va bouger à la fois les états et les transitions pour aider à créer une disposition balancée.</dd>
+ </dl>
+ <h3>Interprétation des transitions</h3>
+ Pour simplifier la génération d'un automate déterministe, les transitions inconditionnelles sont traitées d'une manière spéciale:
+ un transition inconditionnelle est exécutée seulement si aucune autre transition ne satisfait la condition de transition.
+ Ainsi il peut avoir une transition inconditionnelle et une transition conditionnelle qui débute dans le même état.
+ Une transition inconditionnelle détermine ainsi dans quelle état l'automate change si aucune autre condition de
+ transition n'est remplie.
+ S'il n'y pas de transition inconditionnelle à partir d'un état, l'automate restera dans cet état si aucune autre
+ condition de transition n'est respectée.
+</body></html>
+ Le graphique de mesures
+ <html><body>
+ <h3>Qu'est-ce qui peut être vu dans le graphique?</h3>
+ Contrairement à un vrai analyseur de logique, l'axe des X du graphique de mesure n'affiche pas le temps.
+ À la place, un compteur est affiché qui compte le nombre de changements d'état dans le circuit.
+ Lorsqu'il y a un changement dans le circuit, le compteur est incrémenté et le nouvel état est affiché.<br/>
+ Vous pouvez aussi le voir comme un analyseur de logique classique, qui, à des fins d'optimisation, n'enregistre aucune donnée
+ si rien n'a changé dans le circuit.
+ Cependant, cela veut aussi dire qu'il n'est pas possible de voir sur le graphique si peu ou beaucoup de temps
+ s'est écoulé entre deux changements d'état dans le circuit.<br/>
+ Ce comportement est causé par la nature de la simulation: la simulation du circuit ne connaît pas le
+ concept du temps. Un changement est fait dans le circuit, et le changement d'état du circuit est calculé, jusqu'à
+ ce que le circuit se soit stabilisé une fois de plus. Puis, le prochain changement est fait, l'effet duquel est aussi calculé,
+ et ainsi de suite. Ces changements sont comptés et la valeur du compte est affiché sur l'axe des X du graphique.<br/>
+ Entre autres, cela veut aussi dire que le circuit ne peut pas être surcadencé (overclocké), puisque les effets du front
+ descendant de l'horloge ne sont pas calculés jusqu'à tant que le circuit se soit stabilisé après le dernier front montant.
+ </body></html>
+ Tutoriel
+ Ce court tutoriel vous amenera à créer un premier circuit simple:
+
+ D'abord, insérez une entrée dans le circuit. Vous trouvez l'entrée dans le menu Composantes▸E/S
+ Maintenant, ajoutez une deuxième entrée au circuit. Vous pouvez aussi cliquer sur l'entrée
+ qui est apparue dans la barre d'outils.
+
+ Il vaut mieux placer la deuxième entrée légèrement plus bas que la première.
+ Vous pouvez bouger le circuit en tenant le bouton droit de la souris.
+ En cliquant sur les composantes, vous pouvez les déplacer.
+ Ensuite, une porte "Ou Exclusif", aussi appelée "XOR", doit être insérée.
+ Vous pouvez trouver cette porte dans le menu Composantes▸Logique.
+ Placez cette composante à une certaine distance à droite des entrées.
+ La dernière composante à insérer est une sortie.
+ Placez-la encore une fois à une certaine distance à droite de la porte "Ou Exclusif".
+ Afin de compléter le circuit, des fils de connexion doivent être dessinés.
+
+ Cliquez sur le point rouge à la première entrée et connectez-le sur une des entrées de la porte "Ou Exclusif"
+ en cliquant cette fois sur le point bleu.
+ N'enfoncez pas le bouton de la souris!
+ Connectez le point rouge de la deuxième entrée au deuxième point bleu de la porte
+ "Ou Exclusif" et le point rouge de la porte "Ou Exclusif" au point bleu de la sortie.
+
+ Pendant que vous dessinez, vous pouvez accrocher le fil en cliquant quelque part sur la grille.
+ Un clic droit annule le dessin d'un fil (Ctrl+Clic sur macOS).
+ Votre circuit est maintenant fonctionnel.
+ Pour commencer la simulation, vous pouvez cliquer sur le bouton Play dans la barre d'outils.
+ Si vous déplacez la souris sur la barre d'outils, des infobulles apparaîtront.
+ La simulation est maintenant active. Changer l'état des entrées en cliquant sur celles-ci.
+ Pour arrêter la simulation, cliquez sur le bouton Arrêt dans la barre d'outils.
+ Pour compléter, les entrées et les sorties devraient être étiquetées.
+
+ Faites un clic droit sur une entrée pour ouvrir un dialogue. Sur macOS le Ctrl+Clic est utilisé.
+ Dans ce dialogue, un nom peut être donné à l'entrée.
+ Étiquetez toutes les entrées et sorties.
+ Les entrées et les sorties devraient toujours porter un nom unique.
+ Ignorer le tutoriel
+
diff --git a/src/main/resources/lang/lang_fr_ref.xml b/src/main/resources/lang/lang_fr_ref.xml
new file mode 100644
index 000000000..db794fd9b
--- /dev/null
+++ b/src/main/resources/lang/lang_fr_ref.xml
@@ -0,0 +1,2018 @@
+
+
+ Address
+ Table of Contents
+ General
+ Revision
+ Date
+ The following describes the available settings of the simulator.
+ maximum
+ Attributes
+ Open Circuit
+ Included circuit:
+ Opens the circuit in a new window.
+ Help
+ Shows a short description of this element.
+ Hex
+ Decimal
+ Ascii
+ HighZ
+ Octal
+ Binary
+ Basic
+ Advanced
+ Discard Changes
+ Edit
+ Continue editing
+ Load
+ Reload
+ Reload last hex file
+ Save
+ Save as HEX file.
+ Create
+ Create a circuit in a separate window
+ Edit detached
+ Opens the dialog as a non modal dialog
+ Browser
+ Opens help text in the browser. Allows to print the text.
+ Clear
+ All values are set to zero!
+ Transitions
+ All possible transitions are added as test cases. Is used to create test cases to test the simulator itself.
+ New Name
+ Save anyway
+ Overwrite
+ Apply
+ Edits the content of the selected ROM/EEPROM
+ Removes the stored data for the selected ROM. The content which is stored in the ROM directly is used instead.
+ Template
+ Creates an SVG template which can then be edited with Inkscape.
+ Import
+ Import an SVG file. To create a suitable SVG file, it is easiest to first create
+ a SVG template and then edit it.
+ Warning
+ Cancel
+ Digital
+ Expression
+ Inputs
+ Outputs
+ Attributes
+ The {0}. input value for the logic operation.
+ Returns the result of the logic operation.
+ And
+ Binary AND gate. Returns high only if all inputs are also set high.
+ It is also possible to use buses with several bits as inputs and output. In this case, a bitwise AND is executed.
+ This means that the lowest bits of all inputs are connected with AND and is output as the lowest bit at the output.
+ The same happens with bit 1, bit 2 and so on.
+ NAnd
+ A combination of AND and NOT.
+ Returns 0 only if all inputs are set to 1. If one of the inputs is set to 0 the output is set to 1.
+ It is also possible to use buses with several bits per input. In this case, the operation is applied to each
+ bit of the inputs.
+ Or
+ Binary OR gate. Returns a 1 if one of the inputs is set to 1.
+ If all inputs are set to 0 the output is also set to 0.
+ It is also possible to use buses with several bits as inputs and output. In this case, a bitwise OR is executed.
+ This means that the lowest bits of all inputs are connected with OR and is output as the lowest bit at the output.
+ The same happens with bit 1, bit 2 and so on.
+ NOr
+ A combination of OR and NOT.
+ Returns a 0 if one of the inputs is set to 1. If all inputs are set to 0 the output is also set to 1.
+ It is also possible to use buses with several bits per input. In this case, the operation is applied to each
+ bit of the inputs.
+ XOr
+ If two inputs are used, the output is 0 if both input bits are equal.
+ Otherwise the output in set to 1.
+ If more than two inputs are used, it behaves like cascaded XOR gates ( A XOR B XOR C = (A XOR B) XOR C ).
+ It is also possible to use buses with several bits per input. In this case, the operation is applied to each
+ bit of the inputs.
+ XNOr
+ A combination of XOR and NOT. The inputs are combined with the XOR operation.
+ The result of this operation than is inverted.
+ It is also possible to use buses with several bits per input. In this case, the operation is applied to each
+ bit of the inputs.
+ Not
+ Inverts the input value. A 1 becomes a 0 and a 0 becomes 1.
+ It is also possible to use a bus with several bits per input. In this case, the operation is applied to each
+ bit of the inputs.
+ The input of the NOT gate.
+ The inverted input value.
+ Lookup Table
+ LUT
+ Gets the output value from a stored table.
+ So this gate can emulate every combinatorial gate.
+ Input {0}. This input in combination with all other inputs defines the
+ address of the stored value to be returned.
+ Returns the stored value at the address set via the inputs.
+ Delay
+ Delays the signal by on propagation delay time.
+ Delays a signal for an adjustable number of gate delays.
+ All other components in Digital have a gate delay of on propagation delay time.
+ This component can be used to realize any necessary propagation delay.
+ Input of the signal to be delayed.
+ The input signal delayed by one gate delay time.
+ Output
+ Can be used to display an output signal in a circuit.
+ This element is also used to connect a circuit to an embedding circuit.
+ In this case the connection is bidirectional.
+ Is also used to assign an pin number, if code for a CPLD or FPGA is generated.
+ This value is used for the output connection.
+ LED
+ A LED can be used to visualize an output value. Accepts a single bit.
+ Lights up if the input is set to 1.
+ LED Input. LED lights up if the input is set to 1.
+ RGB-LED
+ An RGB LED whose color can be controlled via three inputs.
+ At each of the three inputs, a color channel is connected.
+ The red color channel.
+ The green color channel.
+ The blue color channel.
+ Input
+ Can be used to interactively manipulate an input signal in a circuit with the
+ mouse. This element is also used to connect a circuit to an embedding circuit.
+ In this case the connection is bidirectional.
+ Is also used to assign an pin number, if code for a CPLD or FPGA is generated.
+ Gives the value which is connected to this input.
+ DIP Switch
+ Simple DIP switch that can output either high or low.
+ The output value of the switch.
+ Clock Input
+ A clock signal. Its possible to control it by a real-time clock.
+ Depending on the complexity of the circuit, the clock frequency achieved may be less than the selected value.
+ If the frequency is greater than 50Hz, the graphic representation of the circuit will no longer be updated at
+ every clock cycle so that the wire colors will no longer be updated.
+ If the real-time clock is not activated, the clock can be controlled by mouse clicks.
+ Is also used to assign an pin number, if code for a CPLD or FPGA is generated.
+ Switches between 0 and 1 with the selected clock frequency.
+ Button
+ A simple push button which goes back to its original state when it is released.
+ The output signal of the button.
+ Button with LED
+ A simple push button which goes back to its original state when it is released.
+ The push button has an LED which can be switched via an input signal.
+ The output signal of the button.
+ Input for controlling the LED.
+ Text
+ Shows a text in the circuit.
+ Does not affect the simulation.
+ The text can be changed in the attribute dialog.
+ Rectangle
+ Shows a rectangle in the circuit.
+ Does not affect the simulation. If a minus sign is used as the heading, the heading is omitted.
+ Probe
+ A measurement value which can be shown in the data graph or measurement table.
+ This component can be used to easily observe values from embedded circuits.
+ Does not affect the simulation.
+ The measurement value.
+ Light Bulb
+ Light bulb with two connections. If a current flows, the bulb lights up!
+ The direction of the current does not matter. The lamp lights when the inputs have different values.
+ The bulb behaves similar to an XOr gate.
+ Connection
+ Connection
+ LED with two connections.
+ LED with connections for the cathode and the anode. The LED lights up,
+ if the anode is connected to high and the cathode is connected to low.
+ The anode connection of the LED.
+ The cathode connection of the LED.
+ Seven-Segment Display
+ Seven Segment Display, every segment has its own control input.
+ This input controls the upper, horizontal line.
+ This input controls the upper, right, vertical line.
+ This input controls the lower, right, vertical line.
+ This input controls the lower horizontal line.
+ This input controls the lower, left, vertical line.
+ This input controls the upper, left, vertical line.
+ This input controls the middle, horizontal line.
+ This input controls the decimal point.
+ Common cathode. To turn on the LEDs, this input needs to be low.
+ Common anode. To turn on the LEDs, this input needs to be high.
+ Seven-Segment-Hex Display
+ Seven Segment Display with a 4 bit hex input
+ The value at this input is visualized at the display.
+ This input controls the decimal point.
+ 16-Segment Display
+ The LED input has 16 bits which control the segments. The second input controls the decimal point.
+ 16-bit bus for driving the LEDs.
+ This input controls the decimal point.
+ LED-Matrix
+ A matrix of LEDs. The LEDs are shown in a separate window.
+ The LEDs of a column of the display are controlled by a data word. At another input, the current column is
+ selected. So a multiplexed display is realized.
+ The LEDs are able to light up indefinitely in the simulation to prevent the display from flickering.
+ The row state of the LEDs of a column.
+ Each bit in this data word represents the state of a row of the current column.
+ The number of the current column whose state is currently visible at the other input.
+ Data Graph
+ Shows a data plot inside of the circuit panel.
+ You can plot complete clock cycles or single gate changes.
+ Does not affect the simulation.
+ Rotary Encoder
+ Rotary knob with rotary encoder. Used to detect rotational movements.
+ encoder signal A
+ encoder signal B
+ Keyboard
+ A keyboard that can be used to enter text.
+ This component buffers the input, which can then be read out.
+ A separate window is opened for the text input.
+ Clock. A rising edge removes the oldest character from the buffer.
+ If high the output D is active and one character is output.
+ It also enables the clock input.
+ The last typed character, or zero if no character is available.
+ Output is the 16 bit Java char value.
+ This output indicates that characters are available.
+ It can be used to trigger an interrupt.
+ Terminal
+ You can write ASCII characters to this terminal.
+ The terminal opens its own window to visualize the output.
+ Clock. A rising edge writes the value at the input to the terminal window.
+ The data to write to the terminal
+ A high at this input enables the clock input.
+ VGA Monitor
+ Analyzes the incoming video signals and displays the corresponding graphic.
+ Since the simulation cannot run in real time, the pixel clock is required in addition to the video signals.
+ The red color component
+ The green color component
+ The blue color component
+ The horizontal synchronization signal
+ The vertical synchronization signal
+ The pixel clock
+ MIDI
+ Uses the MIDI system to play notes.
+ Note
+ Volume
+ If set, this translates to pressing a keyboard key (key down event),
+ if not set, this translates to releasing the key (key up event).
+ Enables the component
+ If high, the value at N is used to change the program (instrument).
+ Clock
+ Stepper Motor, unipolar
+ Unipolar stepper motor with two limit position switches.
+ Full step drive, half step drive and wave drive are supported.
+ Limit position switch 0, becomes 1 when the motor angle is 0°.
+ Limit position switch 1, becomes 1 when the motor angle is 180°.
+ Phase 0
+ Phase 1
+ Phase 2
+ Phase 3
+ Common center coil connection
+ Stepper Motor, bipolar
+ Bipolar stepper motor with two limit position switches.
+ Full step drive, half step drive and wave drive are supported.
+ Limit position switch 0, becomes 1 when the motor angle is 0°.
+ Limit position switch 1, becomes 1 when the motor angle is 180°.
+ Coil A, positive
+ Coil A, negative
+ Coil B, positive
+ Coil B, negative
+ Ground
+ A connection to ground. Output is always zero.
+ Output always returns 0.
+ Supply voltage
+ A connection to the supply voltage. Output is always one.
+ This output always returns 1.
+ Constant value
+ A component which returns a given value as a simple constant value. The value can be set in the attribute dialog.
+ Returns the given value as a constant.
+ Tunnel
+ Connects components without a wire. All tunnel elements, which have the same net name,
+ are connected together. Works only locally, so it is not possible to connect different circuits.
+ Unnamed tunnels are ignored silently.
+ The connection to the tunnel.
+ Splitter/Merger
+ Splits or creates a wire bundle or a data bus with more than one bit.
+ With a bus it is e.g. possible to generate 16-bit connections without having to route 16 individual wires.
+ All 16 connections can be merged into one wire.
+ The splitter has a direction, meaning it can only transmit signals in one direction.
+ The input bits {0}.
+ The input bit {0}.
+ The output bits {0}.
+ The output bit {0}.
+ Bidirectional Splitter
+ Can be used for data buses and simplifies especially the construction of
+ memory modules in a DIL package, as the implementation of the data bus is simplified.
+ When set, the value at the common data terminal D is output to the bit
+ outputs D[i], if not, the bits D[i] are output to the common output D.
+ The common data connection.
+ The data bit {0} of the bus splitter.
+ Pull-Up Resistor
+ A "weak high".
+ If a net is in a HighZ state, this resistor pulls the net to high.
+ In any other case this component has no effect.
+ Pull-Down Resistor
+ A "weak low".
+ If the net is in a HighZ state, this resistor pulls the net to ground.
+ In any other case this component has no effect.
+ Driver
+ A driver can be used to connect a signal value to another wire.
+ The driver is controlled by the sel input.
+ If the sel input is low, the output is in high z state.
+ If the sel input is high, the output is set to the input value.
+ The input value of the driver.
+ If the sel input is 1 the input is given to this output.
+ If the sel input is 0, this output is in high z state.
+ Pin to control the driver.
+ If its value is 1 the input is set to the output.
+ If the value is 0, the output is in high z state.
+ Driver, inverted select
+ A driver can be used to connect a data word to another line.
+ The driver is controlled by the sel input.
+ If the sel input is high, the output is in high z state.
+ If the sel input is low, the output is set to the input value.
+ The input value of the driver.
+ Pin to control the driver.
+ If its value is 0 the input is given to the output.
+ If the value is 1, the output is in high z state.
+ If the sel input is 0 the input is given to this output.
+ If the sel input is 1, this output is in high z state.
+ Pin Control
+ Control logic for a bi-directional pin.
+ This component is necessary only in the context of VHDL or Verilog generation, in order to create a
+ bi-directional HDL port!
+ If you don't want to use a bi-directional IO-port on an FPGA, don't use this component!
+ The PinControl component cannot be used in an embedded circuit! It is only allowed at the top level circuit!
+ The data to be output.
+ Activates the output.
+ The data to be read.
+ The connector for the actual pin. Only a single output should be connected
+ here.
+ Multiplexer
+ A component which uses the value of the sel pin to decide which input value is
+ set to the output.
+ The {0}. data input of the multiplexer.
+ The value of the selected input.
+ This input is used to select the data input which is output.
+ Demultiplexer
+ A component that can output the input value to one of the outputs.
+ The other outputs are set to the default value.
+ This pin selects the output to use.
+ The value of this input is given to the selected data output.
+ Data output {0}.
+ Decoder
+ One selectable output pin is 1, all other outputs are set to 0.
+ Output {0}. This output is 1 if selected by the sel input.
+ This input selects the enabled output.
+ The selected output is set to 1. All other outputs are set to 0.
+ Bit Selector
+ Selects a single bit from a data bus.
+ The input bus
+ This input selects the bit
+ The selected bit.
+ Priority Encoder
+ Priority
+ If one of the inputs is set, its number is output.
+ If several inputs are set at the same time, the highest number is output.
+ Number of the set input.
+ If this output is set, at least one of the inputs is set.
+ The {0}. input of the priority encoder.
+ RS-Flip-flop
+ RS
+ A component to store a single bit.
+ Provides the functions "set" and "reset" to set or reset the stored bit.
+ If both inputs are switched to one, both outputs also output a one.
+ If both inputs switch back to zero at the same time, the final state is random.
+ The set input.
+ The reset input.
+ Returns the stored value.
+ Returns the inverted stored value.
+ RS-Flip-flop, clocked
+ RS
+ A component to store a single bit.
+ Provides the functions "set" and "reset" to set or reset the stored bit.
+ If both inputs (S, R) are set at the rising edge of the clock, the final state is random.
+ The set input.
+ The clock input. A rising edge initiates a state transition.
+ The reset input.
+ Returns the stored value.
+ Returns the inverted stored value.
+ JK-Flip-flop
+ JK
+ Has the possibility to store (J=K=0), set (J=1, K=0), reset (J=0, K=1) or toggle (J=K=1) the stored value.
+ A change of state takes place only at a rising edge at the clock input C.
+ The set input of the flip-flop.
+ The clock input. A rising edge initiates a state change.
+ The reset input of the flip-flop.
+ Returns the stored value.
+ Returns the inverted stored value.
+ D-Flip-flop
+ D
+ A component used to store a value.
+ The value on pin D is stored on a rising edge of the clock pin C.
+ The bit width can be selected, which allows to store multiple bits.
+ Input of the bit to be stored.
+ Clock pin to store a value.
+ The value on input D is stored on a rising edge of this pin.
+ Returns the stored value.
+ Returns the inverted stored value.
+ T-Flip-Flop
+ T
+ Stores a single bit. Toggles the state on a rising edge at input C.
+ Enables the toggle function.
+ Clock input. A rising edge toggles the output, if input T is set to 1.
+ Returns the stored value.
+ Returns the inverted stored value.
+ JK-Flip-flop, asynchronous
+ JK-AS
+ Has the possibility to store (J=K=0), set (J=1, K=0), reset (J=0, K=1) or toggle (J=K=1) the stored value.
+ A change of state takes place only at a rising edge at the clock input C.
+ There are two additional inputs which set or reset the state immediately without a clock signal.
+ The set input of the flip-flop.
+ The Clock input. A rising edge initiates a state change.
+ The reset input of the flip-flop.
+ Returns the stored value.
+ Returns the inverted stored value.
+ asynchronous set. A high value at this input sets the flip-flop.
+ asynchronous clear. A high value at this input clears the flip-flop.
+ D-Flip-flop, asynchronous
+ D-AS
+ A component used to store a value.
+ The value on pin D is stored on a rising edge of the clock pin C.
+ There are two additional inputs which set or reset the state immediately without a clock signal.
+ The bit width can be selected, which allows to store multiple bits.
+ Input of the bit to be stored.
+ Control pin to store a bit. The bit on input D is stored on a rising edge of this pin.
+ Returns the stored value.
+ Returns the inverted stored value.
+ asynchronous set. If set to one, all stored bits are set to one.
+ asynchronous clear. If set to one, all stored bits are set to zero.
+ Monoflop
+ Mono
+ The monoflop is set at a rising edge at the clock input.
+ After a configurable delay time, the monoflop will be cleared automatically.
+ The monoflop is retriggerable. It can only be used if there is exactly one clock component present in the circuit.
+ This clock component is used as time base to measure the time delay.
+ Reset Input. A high value clears the monoflop.
+ The Clock input. A rising edge sets the monoflop.
+ output
+ inverted output
+ Register
+ Reg
+ A component to store values. The bit width of the data word can be selected.
+ Unlike a D flip-flop, the register provides an input which enables the clock.
+ Input pin of the data word to be stored.
+ Clock input. A rising edge stores the value at the D pin.
+ Enable pin. Storing a value works only if this pin is set high.
+ Returns the stored value.
+ ROM
+ A non-volatile memory component.
+ The stored data can be edited in the attributes dialog.
+ This pin defines the address of data word to be output.
+ The selected data word if the sel input is high.
+ If the input is high, the output is activated. If it is low, the data output is in high Z state.
+ RAM, separated Ports
+ RAM
+ A RAM module with separate inputs for storing and output for reading the stored data.
+ The address to read from or write to.
+ Clock input
+ The data to be stored in the RAM.
+ The data output pin
+ If this input is high the output is activated and the data is visible at the output.
+ If this input is high and when the clock becomes high, the the data is stored.
+ Block-RAM, separated ports
+ RAM
+ A RAM module with separate inputs for storing and output for reading the
+ stored data. This RAM only updates its output on a rising edge of the clock input.
+ This allows the usage of Block RAM on an FPGA.
+ The address to read from or write to.
+ Clock input
+ The data to be stored in the RAM.
+ The data output pin
+ If this input is high and when the clock becomes high, the the data is stored.
+ EEPROM, separated Ports
+ EEPROM
+ A EEPROM module with separate inputs for storing and output for reading the stored data.
+ The address to read from or write to.
+ Clock input
+ The data to be stored in the EEPROM.
+ The data output pin
+ If this input is high the output is activated and the data is visible at the output.
+ If this input is high and when the clock becomes high, the the data is stored.
+ RAM, bidirectional Port
+ RAM
+ A RAM module with a bidirectional pin for reading and writing the data.
+ The address to read and write.
+ Clock
+ The bidirectional data connection.
+ If this input is high the output is activated and the data is visible at the output.
+ If this input is high when the clock becomes high, the the data is stored.
+ RAM, Chip Select
+ RAM
+ A RAM module with a bidirectional connection for reading and writing the data.
+ If the CS input is low, the component is disabled.
+ This allows to build a larger RAM from some smaller RAMs and a address decoder.
+ The write cycle works as follows: By setting CS to high, the component is selected.
+ A rising edge at WE latches the address, and the following falling edge at WE stores the data.
+ The address to read and write.
+ If set to high the data is written to the RAM.
+ The bidirectional data connection.
+ If this input is high, this RAM is enabled. Otherwise the output is always in high Z state.
+ If this input is high, the stored value is output.
+ EEPROM
+ A EEPROM module with a bidirectional connection for reading and writing the data.
+ If the CS input is low, the component is disabled.
+ The data content is stored like in a ROM. It is thus preserved when the simulation is terminated and restarted.
+ The write cycle works as follows: By setting CS to high, the component is selected.
+ A rising edge at WE latches the address, and the following falling edge at WE stores the data.
+ The address to read and write.
+ If set to high the data is written to the EEPROM.
+ The bidirectional data connection.
+ If this input is high, this EEPROM is enabled. Otherwise the output is always in high Z state.
+ If this input is high, the stored value is output.
+ Graphic RAM
+ Gr-RAM
+ Used to show a bitmap graphic. This element behaves like a RAM. In addition it
+ shows its content on a graphic screen. Every pixel is represented by a memory address. The value stored defines
+ the color of the pixel, using a fixed color palette. There are two screen buffers implemented to support page
+ flipping. The input B selects which buffer is shown. Thus, the total memory size is dx * dy * 2 words.
+ The palette used is structured as follows: The indices 0-9 correspond to the colors white, black, red, green,
+ blue, yellow, cyan, magenta, orange and pink. The indices 32-63 map gray values and the indices 64-127
+ represent 64 color values each with two bits per color channel.
+ This results in a simple palette that can be addressed with only 7-bit.
+ If the architecture supports a 16-bit index, from Index 0x8000, a high-color mode with 5 bits per color channel
+ can be used, which enables 32768 colors.
+ The address to read and write.
+ If this input is high when the clock becomes high, the the data is stored.
+ Clock
+ If this input is high the output is activated and the data is visible at the output.
+ Selects the screen buffer to show.
+ The bidirectional data connection.
+ RAM, Dual Port
+ RAM
+ RAM with one port that allows to write to and read from the RAM, and a second
+ read only port.
+ This second port can be used to give some graphic logic access to the memory contents. In this way, a processor
+ can write to the RAM, and a graphics logic can simultaneously read from the RAM.
+ Output Port 1
+ Output Port 2
+ The address at which port 1 is read or written.
+ The address used to read via port 2.
+ Clock
+ The data to be stored in the RAM.
+ If this input is high the output is activated and the data is visible at the output 1D.
+ If this input is high and when the clock becomes high, the the data is stored.
+ Register File
+ Register
+ Memory with one port that allows to write and two ports that allow to read from
+ the memory simultaneously. Can be used to implement processor registers.
+ Two registers can be read simultaneously and a third can be written.
+ Output Port a
+ Output Port b
+ The register which is visible at port a.
+ The register which is visible at port b.
+ The register into which the data is written.
+ If this input is high and when the clock becomes high, the the data is stored.
+ Clock
+ The data to be stored in the register Rw.
+ Counter
+ Counter
+ A simple counter component. The clock input increases the counter.
+ Can be reset back to 0 with the clr input.
+ The number of bits can be set in the attribute dialog.
+ The clock input. A rising edge increases the counter.
+ Synchronous reset of the counter if set to 1.
+ Overflow output. This pin is set to 1 if the counter is on its maximal value
+ and the en input is set to 1.
+ Returns the counted value.
+ If set to 1 the counter is enabled!
+ Counter with preset
+ A counter whose value can be set. In addition, a maximum value and a counting direction can be specified.
+ Counter
+ Returns the counted value.
+ Overflow output. It is set to 1 if the 'en' input is set to 1 and if the
+ counter reaches its maximum value when counting up, or has reached 0 when counting down.
+ The clock input. A rising edge increases the counter.
+ Synchronous reset of the counter if set to 1.
+ If set to 1 the counter is enabled!
+ Specifies the counting direction. A 0 means upwards.
+ If set, the value at input 'in' is stored in the counter at the next clock signal.
+ This data word is stored in the counter when ld is set.
+ Adder
+ Add
+ A component for simple add calculations.
+ Adds the two integer values from input a and input b (a+b).
+ The result will be incremented by one if the carry input is set.
+ First input to add.
+ Second input to add.
+ The result of the addition
+ Carry input, if set the result is incremented by one.
+ Carry output. If set there was an overflow.
+ Subtract
+ Sub
+ A component for simple subtractions.
+ Subtracts binary numbers on input a and input b (a-b).
+ If the carry input is set to 1 the result is decremented by 1.
+ Carry input, if set the result is decremented by one.
+ Input a for subtraction.
+ Input b for subtraction.
+ Output returns the result of the subtraction.
+ Output returns 1 if an overflow occurred.
+ Multiply
+ Mul
+ A component for multiplication.
+ Multiplies the integer numbers on input pin a and input pin b.
+ Input a for multiplication.
+ Input b for multiplication.
+ Output for the result of the multiplication.
+ Division
+ Div
+ A component for division.
+ Divides the integer applied to input a by the integer applied to input b.
+ If the divisor is zero, it is divided by one instead.
+ In signed division, the remainder is always positive.
+ dividend
+ divisor
+ quotient
+ remainder
+ Barrel shifter
+ shift
+ A component for bit shifting.
+ Shifts the input value by the number of bits given by the shift input.
+ Input with bits to be shifted.
+ Input with shift width.
+ Output with shifted value.
+ Comparator
+ A component for comparing bit values.
+ Compares the binary numbers on input pin a and input pin b and sets the corresponding outputs.
+ Input a to compare.
+ Input b to compare.
+ Output is 1 if input a equals input b
+ Output is 1 if input a is greater then input b
+ Output is 1 if input a is less then input b
+ Negation
+ Neg
+ Input of the data word to be negated in 2th complement
+ Returns the result of the negation in 2th complement.
+ Negation in the 2th complement
+ Sign extender
+ SignEx
+ Increases the bit width of a signed value keeping the values sign.
+ If the input is a single bit, this bit will be output on all output bits.
+ Input value.
+ The input bit width must be smaller than the output bit width!
+ Extended input value.
+ The input bit width must be smaller than the output bit width!
+ Bit counter
+ Bit count
+ Returns the number of 1-bits in the input value.
+ The input which 1-bits are counted.
+ Outputs the number of 1-bits.
+ Diode to VDD
+ A simplified unidirectional diode, used to pull a wire to VDD.
+ It is used to implement a wired OR.
+ So it is necessary to connect a pull down resistor to the diodes output.
+ In the simulation the diode behaves like an active gate with a trivalent truth table:
+ Is the input high, also the output is high. In all other cases (input is low or high z) the output is in high z state.
+ So two anti parallel connected diodes can keep each other in high state, which is not possible with real diodes.
+ This is an ideal diode: There is no voltage drop across a forward-biased diode.
+ If the input is high also the output is high. In all other cases the output is in high z state.
+ If the input is high also the output is high. In all other cases the output is in high z state.
+ Diode to Ground
+ A simplified unidirectional diode, used to pull a wire to ground. It is used to implement a wired AND.
+ So it is necessary to connect a pull up resistor to the diodes output.
+ Is the input low, also the output is low. In the other cases (input is high or high z) the output is in high z state.
+ So two anti parallel connected diodes can keep each other in low state, which is not possible with real diodes.
+ So this is a ideal diode: There is no voltage drop across a forward-biased diode.
+ If the input is low also the output is low. In all other cases the output is in high z state.
+ If the input is low also the output is low. In all other cases the output is in high z state.
+ Switch
+ One of the connections of the switch.
+ Simple switch.
+ There is no gate delay: A signal change is propagated immediately.
+ Double Throw Switch
+ Double Throw Switch.
+ There is no gate delay: A signal change is propagated immediately.
+ Fuse
+ A fuse used to build a one time programmable memory.
+ One of the connections of the fuse.
+ One of the connections of the fuse.
+ Relay
+ A relay is a switch which can be controlled by a coil.
+ If a current flows through the coil, the switch is closed or opened.
+ There is no flyback diode so the current direction does not matter.
+ The switch is actuated if the inputs have different values.
+ The relay behaves similar to an XOr gate.
+ One of the inputs to control the relay.
+ One of the inputs to control the relay.
+ Double Throw Relay
+ A relay is a switch which can be controlled by a coil.
+ If a current flows through the coil, the switch is closed or opened.
+ There is no flyback diode so the current direction does not matter.
+ The switch is actuated if the inputs have different values.
+ The relay behaves similar to an XOr gate.
+ On of the inputs to control the relay.
+ On of the inputs to control the relay.
+ P-Channel FET
+ P-Channel Field Effect Transistor.
+ The bulk is connected to the pos. voltage rail and the transistor is simulated without a body diode.
+ Gate
+ Source
+ Drain
+ N-Channel FET
+ N-Channel Field Effect Transistor.
+ The bulk is connected to ground and the transistor is simulated without a body diode.
+ Gate
+ Source
+ Drain
+ P-Channel floating gate FET
+ P-Channel Floating Gate Field Effect Transistor.
+ The bulk is connected to ground and the transistor is simulated without a body diode.
+ If there is a charge stored in the floating gate, the fet isn't conducting even if the gate is low.
+ Gate
+ Source
+ Drain
+ N-Channel floating gate FET
+ N-Channel Floating Gate Field Effect Transistor.
+ The bulk is connected to ground and the transistor is simulated without a body diode.
+ If there is a charge stored in the floating gate, the fet isn't conducting even if the gate is high.
+ Gate
+ Source
+ Drain
+ Transmission-Gate
+ A real transmission-gate is build from only two transistors.
+ Therefore, it is often used to save transistors during implementation on silicon.
+ input A
+ input B
+ control input.
+ inverted control input
+ Test case
+ Describes a test case.
+ In a test case you can describe how a circuit should behave. It can then be automatically checked whether the
+ behavior of the circuit actually corresponds to this description. If this is not the case, an
+ error message is shown.
+ Asynchronous Timing
+ Allows configuration of the timing of an asynchronous sequential circuit such as a
+ Muller-pipeline. The circuit must be started in single gate step mode and must be able to reach a stable state
+ at startup. The sequential circuit can then be started interactively or with a reset gate.
+ It is not allowed to use a regular clock component in this mode.
+ Power
+ Has no function. Makes sure that VDD and GND are connected.
+ Can be used in 74xx circuits to generate the pins for the voltage supply, which are tested for correct wiring.
+ Must be connected to VDD!
+ Must be connected to GND!
+ Reset
+ Reset Output.
+ The output of this component is held high during the initialisation of the circuit.
+ After the circuit has stabilized the output goes to low.
+ If the output is inverted it behaves the opposite way.
+ Break
+ Stops the fast simulation clocking if a rising edge is detected.
+ If this component is used in the circuit, the "Run To Break" button between "Start"
+ and "Stop" is enabled. This button clocks the circuit until a rising edge on the input of this component is
+ detected. This element can be used for debugging by clocking the circuit to any breakpoint.
+ Also an assembler command BRK can be implemented. This allows to execute a program up to the next BRK command.
+ This function can only be used if the real-time clock is deactivated!
+ Stop
+ A rising edge at the input stops the simulation.
+ Has the same effect as pressing the Stop button in the toolbar.
+ A rising edge stops the simulation.
+ External
+ Component to execute an external process to calculate the logic function.
+ Is used to specify the behaviour of a component by VHDL or Verilog.
+ The actual simulation of the behavior must be done with an external simulator.
+ At present only the VHDL simulator ghdl and the verilog simulator Icarus Verilog are supported.
+ Diode
+ Simplified bidirectional diode. It is used to implement a wired AND or a wired OR..
+ This is a ideal diode: There is no voltage drop across a forward-biased diode.
+ Error
+ Pin {0} in component {1} is not a input or output
+ A single clock component is necessary. All flip-flops must use this clock signal.
+ The circuit has no labeled inputs
+ The circuit has no labeled outputs
+ No break detected after {0} cycles at break point ''{1}''.
+ Possibly the number of timeout cycles in the break component should be increased.
+ Expression {0} not supported
+ Operation {0} not supported
+ Error creating the lookup table.
+ More than one output is active on a wire, causing a short circuit.
+ It is not allowed to connect a pull-up and pull-down resistor to the same net.
+ Cannot analyse Node {0}
+ Contains [var] and [not var]
+ Pin {0} in component {1} exists twice
+ Component {0} not found
+ Exact {0} valoas necessary, not {1}
+ Flip-flop needs to be connected to the clock.
+ Invalid file format
+ Logic is already initialized
+ A tunnel {0} is not connected!
+ There is more than one clock
+ The clock component is not used!
+ There are {0} bits needed, but {1} bits found
+ Net of pin {0} not found
+ No clock found in logic
+ No inputs available to set
+ No shape found for component {0}
+ Nothing connected to input ''{0}'' at component ''{1}''. Open inputs are not allowed.
+ Not all connected outputs have the same bit count
+ If multiple outputs are connected together, all of them have to be three-state outputs.
+ No output connected to a wire ({0}). The state of the wire is undefined.
+ Table to small: One result is required!
+ Output {0} not defined
+ No label for pin {0}
+ Pin {0} assigned twice!
+ Pin {0} is not an input!
+ Pin {0} is not an output!
+ No = found!
+ To many inputs used!
+ To many outputs used!
+ Pin not present
+ Found a pin without a label.
+ Found a clock without a label. If a clock is embedded also the clock needs a label.
+ Pin {0} not found at component {1}
+ Pin {0} not found
+ The custom shape does not define a pin {0}
+ Pin {0} unknown
+ Logic seems to oscillate.
+ To analyse you can run the circuit in single gate step mode.
+ The remote port is in use! Is there an other instance running?
+ Number of inputs does not match selector bit count
+ Syntax error in splitter definition {0}
+ Bit count of splitter is not matching
+ Not all input bits are defined!
+ Input bits are defined several times!
+ Only 64 bits allowed in splitter!
+ Two inputs are required!
+ To many variables (inputs+flip-flops), allowed are {0} but {1} are found.
+ To many variables used in {0},
+ allowed are {1} variables but {2} are found.
+ Variable {0} is not allowed in CUPL source!
+ Variable {0} not defined
+ Unexpected Token {0}
+ Missing closed parenthesis
+ Value {0} in line {1} is not a number!
+ Expected {0} but found {1} values in line {2}!
+ Unexpected token ({0}) in line {1}.
+ Variable {0} not found!
+ No input signals defined in test vector!
+ No output signals defined in test vector!
+ No test data found.
+ It's not allowed to connect a pull up and a pull down resistor to a single wire.
+ Could not open the browser.
+ Could not create folder "{0}"!
+ It is not allowed to connect only inputs to a switch.
+ The file {0} exists multiple times below {1}.
+ Could not find the file {0}.
+ Error during execution of "{0}".
+ The process "{0}" does not return!
+ The process returns the non zero value {0}: {1}
+ Error starting the external fitter!
+ There are no minimized equations!
+ Equations are calculated! Please wait a moment!
+ The variable {0} is used twice!
+ The file needs to be saved!
+ The circuit {0} imports itself!
+ The result of the minimization is not correct!
+ The names of the variables may not be unique.
+ To many iterations in a loop.
+ Diode needs a pull up resistor at its output!
+ Diode needs a pull down resistor at its output!
+ Test signal {0} not found in the circuit!
+ Only {1} bits allowed, but {0} bits found!
+ Flip-flops with more than one bit are not allowed!
+ The two control inputs of a transmission gate must be inverted!
+ Signal {0} is used twice!
+ Error parsing the test data.
+ The model component {0} can not be analysed.
+ Error in wiring of power supply at {0}.
+ The pin number {0} is not an integer!
+ Error during export to VHDL.
+ No VHDL code for {0} available!
+ No Verilog code for {0} available!
+ Error creating a test bench!
+ Values of type {0} are not allowed!
+ A name is missing. Have e.g. all pins a label set?
+ Several outputs are connected to each other.
+ This type of interconnection is not supported for HDL export. ({0}, {1}, {2}).
+ unnamed net
+ To many variables!
+ Invalid expression!
+ Function {0} not found in line {1}!
+ Number of arguments in function {0} in line {1} not correct (found {2}, expected {3})!
+ Invalid value {0} in function {1}!
+ The name {0} is not a path element.
+ Error during loading of a library.
+ The JAR file contains no manifest!
+ The manifeste does not contain a Main-Class entry!
+ Could not find the class {0}!
+ Could not create an instance of the class {0}!
+ There must be more input bits than output bits!
+ It is not possible to set physical pins to constant values!
+ The string {0} is not a valid number (pos {1})!
+ The name "{0}" is not allowed!
+ No white space is allowed in the name of the TT2 file!
+ The table has too many columns!
+ Error writing the zip file.
+ Only one clock component with high frequency is allowed.
+ The circuit contains cycles. It's not possible to analyze such a circuit.
+ Cycles arise if an output of a gate is fed back to one of the inputs of the same gate.
+ The use of switches, FETs or relays also causes cycles.
+ If a monoflop is used, there must be exactly one clock component!
+ Could not create a component of type {0}!
+ ROM's defined in the settings are not supported!
+ The name "{0}" is not unique!
+ Could not write values to the external process!
+ Could not read values from the external process!
+ Could not create the external process!
+ Timeout reading data from external process!
+ {0}
+ Not enough data received!
+ {0}
+ The received text contains an invalid character: {0}!
+ {1}
+ The process has terminated unexpected!
+ {0}
+ Could not terminate the process!
+ Could not start process: {0}
+ Application exit status was not 0 but {0}:
+ {1}
+ External code can only be exported if it is VHDL!
+ External code can only be exported if it is Verilog!
+ If an external component is used multiple times, the code must be identical! Effects: {0}
+ Could not write to stdOut:
+ {0}
+ The VHDL simulator ghdl does not seem to be installed. Install ghdl (http://ghdl.free.fr/) and try again.
+ If there are still problems, check the path to the ghdl executable in the Digital settings.
+ The Verilog simulator Icarus does not seem to be installed. Install iverilog (http://iverilog.icarus.com/) and try again.
+ If there are still problems, check the path to the iverilog executable in the Digital settings.
+ Error analysing the circuit: {0}
+ Every ROM needs a unique label to be exported!
+ Every LUT needs a unique label to be exported!
+ The counter needs at least two bits.
+ Clock elements can not be used in asynchronous mode.
+ Error during export to Verilog.
+ No program memory found! The program memory needs to be flagged as such.
+ Error loading the program memory.
+ Error while reading the SVG file.
+ The SVG file contains pins that do not exist in the circuit.
+ All memories into which data are to be loaded require the same bit width.
+ If programs are to be loaded into several RAMs, all RAMs must have
+ different names. The lexical order then determines the order of the RAMs.
+ The MIDI-System is not available.
+ The MIDI channel {0} is not available.
+ The MIDI instrument {0} is not available.
+ The MIDI instruments are not available.
+ During the execution of the tests "{0}" an error has occurred!
+ HDL not known: {0}
+ Error starting the command {0}
+ There is a unnamed input or output!
+ The signal name "{0}" is invalid or used multiple times!
+ Error when substituting components for the analysis.
+ Error in the evaluation of the generic code of the circuit. Code
+ {1}
+ at Component: {0}
+ Error while parsing generics code.
+ Video mode was not detected ({0})
+ There is no file name available for the automatic reload!
+ Address Bits
+ Number of address bits used.
+ Data Bits
+ Number of data bits used.
+ Color
+ The Color of the element.
+ Background color
+ Background color of the circuit when it is embedded in another circuit. Is not used for DIL packages.
+ Timeout cycles
+ If this amount of cycles is reached without a break signal, an error is created.
+ Data
+ The values stored in this element.
+ Default
+ This value is set if the circuit is started.
+ At the demultiplexer, this value is set for the non-selected outputs.
+ Default
+ This value is set if the circuit is started. A "Z" means high-z state.
+ Is three-state input
+ If set the input is allowed to be in high-z state. At the input component this is
+ also allowed if high-z ("Z") is set as the default value.
+ No zero output.
+ Avoids zero output. This is especially helpful when setting up relay circuits.
+ Can only be activated if a high-z output is allowed.
+ Description
+ A short description of this element and its usage.
+ Frequency/Hz
+ The real time frequency used for the real time clock
+ Use IEEE 91-1984 shapes
+ Use IEEE 91-1984 shapes instead of rectangular shapes
+ Number of Inputs
+ The Number of Inputs used. Every input needs to be connected.
+ Label
+ The name of this element.
+ Size
+ The size of the shape in the circuit.
+ Language
+ Language of the GUI. Will only take effect after a restart.
+ Net name
+ All nets with identical name are connected together.
+ Input Splitting
+ If e.g. four bits, two bits and two further bits are to be used as inputs,
+ this can be configured with "4,2,2". The number indicates the number of bits. For convenience, the asterisk
+ can be used: 16 bits can be configured with "[Bits]*[Number]" as "1*16".
+ It is also possible to specify the bits to be used directly and in any order.
+ For example, "4-7,0-3" configures bits 4-7 and 0-3. This notation allows any bit arrangement.
+ The input bits must be specified completely and unambiguously.
+ Output splitting
+ If e.g. four bits, two bits and two further bits are to be used as outputs,
+ this can be configured with "4,2,2". The number indicates the number of bits. For convenience, the asterisk
+ can be used: 16 bits can be configured with "[Bits]*[Number]" as "1*16".
+ It is also possible to specify the bits to be used directly and in any order.
+ For example, "4-7,0-3" configures bits 4-7 and 0-3. This notation allows any bit arrangement.
+ Output bits can also be output several times: "0-7,1-6,4-7".
+ Number of Selector Bits
+ Number of bits used for the selector input.
+ Signed Operation
+ If selected the operation is performed with signed (2th complement) values.
+ Remainder always positive
+ If set, the remainder of a signed division is always positive.
+ Closed
+ Sets the initial state of the switch.
+ Value
+ The value of the constant.
+ Width
+ Width of symbol if this circuit is used as an component in an other circuit.
+ Height
+ Height of symbol if this circuit is used as an component in an other circuit.
+ Reload at model start
+ Reloads the hex file every time the model is started.
+ Flip selector position
+ This option allows you to move te selector pin to the opposite side of the plexer.
+ Number Format
+ The format used to show the numbers.
+ ascii
+ bin
+ decimal
+ signed decimal
+ default
+ hex
+ octal
+ shift input has sign
+ shift input data has two complement format
+ Mode
+ Mode of barrel shifter
+ Logical
+ Rotate
+ Arithmetic
+ Direction
+ Set direction.
+ left
+ right
+ Max number of steps to show
+ The maximal number of values stored.
+ If the maximum number is reached, the oldest values are discarded.
+ Show single gate steps
+ Shows all single step steps in the graphic.
+ Rotation
+ The orientation of the Element in the circuit.
+ Mirror
+ Mirrors the component in the circuit.
+ Start real time clock
+ If enabled the runtime clock is started when the circuit is started
+ Show measurement graph at simulation start
+ When the simulation is started, a graph with the measured values is shown.
+ Show measurement graph in single gate step mode at simulation start
+ When the simulation is started, a graph with the measured values in the
+ gate step mode is shown. All gate changes are included in the graph.
+ Show in Measurement Graph
+ Shows the value in the measurement graph.
+ Show measurement values at simulation start
+ When the simulation is started, a table with the measured values is shown.
+ Lines
+ The number of lines to show.
+ Characters per line
+ The number of characters shown in a single line.
+ Use as measurement value
+ Is set the value is a measurement value and appears in the graph and data table.
+ In addition, a label must be specified that can serve as identification of the value.
+ Test data
+ The description of the test case.
+ Details of the syntax can be found in the help dialog of the test data editor.
+ Width in pixels
+ The screen width in pixels.
+ Height in pixels
+ The screen height in pixels.
+ Program Memory
+ Makes this ROM to program memory. So it can be accessed by an external IDE.
+ Program Counter
+ Makes this register a program counter. The value of this register is returned
+ to the external assembler IDE to mark the current line of code during debugging.
+ Programmed
+ If set a diode is "blown" or "programmed".
+ At a floating gate FET the floating gate is charged.
+ You can change this setting with the key 'p'.
+ Format
+ Screen format of expressions.
+ Relay is normally closed.
+ If set the relay is closed if the input is low.
+ Pole count
+ Number of poles available.
+ Common Connection
+ If selected, a common cathode or anode input is also simulated.
+ Common
+ Kind of common connection.
+ Cathode
+ Anode
+ Avoid Flicker
+ It is not possible to increase the frequency so much that the flickering
+ disappears.
+ In order to suppress the flickering nevertheless, a "afterglow" can be switched on for the LEDs with this
+ option.
+ If enabled, the LEDs remain on, even if one of the pins changes to high-z.
+ This simulates a frequency above the critical flicker fusion frequency.
+ ATF15xx Fitter
+ Path to the fitter for the ATF15xx.
+ Enter the directory which contains the fit15xx.exe files provided by Microchip (former ATMEL).
+ Pin number
+ An empty field means this signal is not assigned to a pin.
+ Rows
+ Specifies the number of rows by specifying the number of bits of the row word.
+ Address bits of columns
+ Addresses the individual columns. Three bits means eight columns.
+ Modification locked
+ The circuit is locked. It is possible to configure diodes and FGF-FETs.
+ Pin number
+ Number of this pin. Used for the representation of a circuit as a DIL package and
+ the pin assignment when programming a CPLD.
+ If there are several bits, all pin numbers can be specified as a comma-separated list.
+ Number of DIL pins
+ Number of pins. A zero means that the number of pins is determined automatically.
+ Component tree view is visible at startup.
+ If set, the component tree view is enabled at startup.
+ inverted Inputs
+ You can select the inputs that are to be inverted.
+ Menus Font Size [%]
+ Size of the fonts used in the menu in percent of the default size.
+ Enable Input
+ If set an enable input (T) is available.
+ Unidirectional
+ Unidirectional transistors propagate a signal only from source to drain. They are
+ much faster to simulate than bidirectional transistors. Since there is no feedback from drain to source, in this
+ mode, the transistor can not short the connected wires when it is conducting. Thus, this mode is necessary to
+ simulate certain CMOS circuits.
+ Active Low
+ If selected the output is low if the component is active.
+ Library
+ Folder which contains the library with predefined sub circuits.
+ Contains, for example, the components of the 74xx series. You also can add your own circuits by storing
+ them at this location.
+ It must be ensured that the names of all files in this folder and all subfolders are unique.
+ Show Grid
+ Shows a grid in the main window.
+ Wire tool tips
+ If set, lines are highlighted when the mouse hovers over them.
+ Map to keyboard
+ Button is mapped to the keyboard.
+ To use the cursor keys use UP, DOWN, LEFT or RIGHT as label.
+ Java library
+ A jar file containing additional components implemented in java.
+ Shows the number of wires on a bus.
+ CAUTION: The value is only updated when the simulation starts.
+ Input Bit Width
+ The number of output bits must be greater than the number of input bits.
+ Output Bit Width
+ The number of output bits must be greater than the number of input bits.
+ Font Size
+ Sets the font size to use for this text.
+ Duration
+ Delay time in units of the common gate propagation delay.
+ inverted output
+ If selected the output is inverted.
+ Pulse Width
+ The puls width is measured in clock cycles.
+ Spreading
+ Configures the spread of the inputs and outputs in the circuit.
+ Content of ROM's
+ Content of all used ROM's
+ Application
+ Defines which application to use.
+ Generic
+ GHDL
+ IVerilog
+ Inputs
+ The inputs of the external process.
+ It is a comma-separated list of signal names. For each signal name, with a colon separated, a number of bits
+ can be specified. The inputs of an 8-bit adder could thus be described as "a:8,b:8,c_in".
+ Outputs
+ The outputs of the external process.
+ It is a comma-separated list of signal names. For each signal name, with a colon separated, a number of bits
+ can be specified. The outputs of an 8-bit adder could thus be described as "s:8,c_out".
+ Programcode
+ The programm code to be executed by the external application.
+ Options
+ GHDL
+ Path to the executable ghdl file. Only necessary if you want to use ghdl to simulate
+ components defined with vhdl.
+ GHDL Options
+ Options that are used for all processing steps by GHDL.
+ IVerilog
+ Path to the Icarus verilog installation folder. Only necessary if you want to use
+ iverilog to simulate
+ components defined with verilog.
+ Maximum Value
+ If a zero is entered, the maximum possible value is used (all bits are one).
+ Output is High
+ The default output value of the DIP switch when the simulation starts.
+ Use macOS mouse clicks.
+ Uses CTRL-click instead of right-click.
+ No tool tips for components on the main panel.
+ If set, no tool tips for the components on the main panel are displayed.
+ Especially in a presentation, these tool tips can be very annoying.
+ Show dialog for automatic renaming of tunnels.
+ If set, a dialog for automatically renaming all tunnels of the same name is displayed after a
+ tunnel has been renamed.
+ ATMISP
+ Path to the executable file ATMISP.exe. If set, the ATMISP software can be started automatically!
+ Custom Shape
+ Import of a SVG-file
+ Preload program memory at startup.
+ When simulating a processor that uses a RAM device as the program memory,
+ it is difficult to start this processor because the RAM contents are always initialized with zeros at the start
+ of the simulation. This setting allows loading data into the program memory at startup.
+ The program memory in the simulation must be marked as such.
+ Program file
+ File which should be loaded into the program memory at the start of the
+ simulation.
+ Width
+ Width in grid units
+ Height
+ Height in grid units
+ Text Inside
+ Place text inside the rectangle.
+ Text at the bottom
+ Place text at the bottom of the rectangle.
+ Text on the right
+ Place text to the right of the rectangle.
+ Wide Shape
+ Uses a wider shape to visualize the gate.
+ Shape
+ The shape to be used for the representation of the circuit in an embedding circuit.
+ In the "Simple" mode, the inputs are displayed on the left and the outputs on the right side of a simple rectangle.
+ With "Layout", the position of the inputs and outputs and their orientation in the circuit determines
+ the position of the pins. Here are also pins at the top or bottom possible.
+ When selecting "DIL-Chip", a DIL housing is used to display the circuit. The pin numbers of the inputs and outputs
+ determine the position of the pins in this case.
+ Default
+ Simple
+ DIL-Chip
+ Layout
+ User defined
+ Orientation
+ Position of the coordinate relative to the text.
+ left bottom
+ center bottom
+ right bottom
+ right center
+ right top
+ center top
+ left top
+ left center
+ center center
+ MIDI channel
+ Selects the MIDI channel to use.
+ MIDI instrument
+ The MIDI instrument to use.
+ Allow program change
+ Adds a new input PC. If this input is set to high,
+ the value at input N is used to change the program (instrument).
+ Enabled
+ Enables or disables this component.
+ Toolchain Configuration
+ Used to configurate an integration of a toolchain.
+ Allows the start of external tools, e.g. to program an FPGA or similar.
+ Generic Parameterization
+ Statements used to generify a circuit.
+ Circuit is generic
+ Allows to create a generic circuit.
+ Show Tutorial at Startup
+ Enables the tutorial.
+ Switch behaves like an input
+ If the model is analyzed, the switch behaves like an input, where "open" corresponds to '0' and "closed" to '1'.
+ SVG Export Settings
+ Text in LaTeX notation
+ Text is inserted in LaTeX notation. Inkscape is required for further processing.
+ Pin-Labels in Math Mode
+ For pin labels, use math mode even if no indexes are contained.
+ Hide Test Cases
+ The test cases are not exported.
+ Shapes not filled
+ Polygons are not filled.
+ Small Inputs and Outputs
+ Inputs and outputs are represented as small circles.
+ Leave out Pin Marker
+ The blue and red pin markers on the symbols are omitted.
+ High Contrast
+ The wires and the text of the pins are displayed in black.
+ Monochrome
+ Only gray colors are used.
+ Thin Lines
+ If set, the lines are drawn slightly thinner.
+ Use Equals-Key
+ Use the equal key instead of the plus key.
+ This is always useful if the plus character is not a primary key, but the second assignment of the
+ equals character, e.g. for an American or French keyboard layout.
+ Snap To Grid
+ If set, the component is aligned with the grid.
+ Pin Separator
+ Used by the layout shape type. Sets the distance to the previous pin.
+ Color-Scheme
+ Normal
+ Dark
+ red/green colorblind
+ User Defined
+ Preset
+ User Defined Colors
+ Background
+ Foreground
+ Wire
+ Wire HIGH
+ Wire LOW
+ Value at the wire
+ Output
+ Wire HIGH-Z
+ Error
+ Ok
+ Pins
+ Grid
+ Test case
+ Disabled
+ Asynchronous
+ Highlighted
+ Inserted wire.
+ Insert from clipboard.
+ Value ''{0}'' in component ''{1}'' modified.
+ Attributes of component ''{0}'' modified.
+ Wire deleted.
+ Component ''{0}'' moved or rotated.
+ Wire moved.
+ Selection deleted.
+ Component ''{0}'' inserted.
+ Component ''{0}'' deleted.
+ Wire inserted.
+ Selection moved.
+ Undo: {0}
+ Redo: {0}
+ Modified circuit attributes.
+ Ordered measurements.
+ Modified attributes of selected components.
+ Splits a single wire into two wires.
+ Logic
+ Arithmetic
+ Flip-Flops
+ IO
+ Memory
+ Plexers
+ Wires
+ Switches
+ Displays
+ Mechanical
+ Peripherals
+ Misc.
+ more
+ RAM
+ EEPROM
+ Command Line Interface
+ The non-optional argument {0} is missing.
+ The value {0} is not a boolean.
+ The value {0} is not a number.
+ The argument {0} is not defined.
+ There are not enough arguments.
+ There are too many arguments.
+ Invalid type.
+ The command {0} has no sub-command {1}.
+ Options:
+ The first file name specifies the circuit to be tested.
+ If a second file name is specified, the test cases are executed from this file.
+ If no second file name is specified, the tests are executed from the first file.
+ Name of the file to be tested.
+ Name of a file with test cases.
+ Allows the lack of inputs in the circuit which are
+ defined in the test case. This can be useful if there are several possible solutions which may
+ depend on different inputs.
+ Tests have failed.
+ An error has occurred during the execution of the tests.
+ Can be used to create an SVG file from a circuit.
+ The file name of the circuit.
+ The name of the SVG file to be written.
+ Use of the IEEE symbols.
+ Error while creating the SVG file!
+ Creates a CSV file which contains the circuit statistics.
+ All components used are listed in the CSV file.
+ File name of the circuit.
+ Name of the csv file to be created.
+ If this option is missing, the table is written to stdout.
+ Error while creating the stats file!
+ Windows
+ About
+ Analysis
+ Analyses the actual circuit
+ Cut
+ Copy
+ Custom
+ Library
+ Delete components
+ Delete selected single component or group of components.
+ Edit
+ Circuit specific settings
+ The circuit specific settings affect the behavior of the
+ currently open circuit.
+ Thus, e.g. the shape that represents the circuit when it is embedded in other circuits.
+ These settings are stored together with the circuit.
+ Settings
+ The global settings of the simulator specify, among other
+ things, the language, the symbol form to be used or the paths of external tools.
+ Stop Simulation
+ Stops the simulation and allows to edits the circuit.
+ Components
+ Export
+ Export PNG large
+ Export PNG small
+ Export SVG
+ Export Animated GIF
+ Run to Break
+ Runs the circuit until a break is detected by a BRK component.
+ File
+ Help
+ Update
+ Updates the components menu.
+ Fit to window
+ Single gate stepping
+ Runs the circuit in single gate step mode
+ New
+ Creates a new, empty circuit.
+ New embedded Circuit
+ Opens a new window to create a new embedded circuit, which than can be used in this circuit.
+ Open
+ Open Recent
+ Open Recent in New Window
+ Open in New Window
+ Opens a circuit in a new window
+ Order Inputs
+ Order the inputs for the usage as a embedded circuit
+ Order measurement values
+ Orders the measurement values in the graphical and table view
+ Order Outputs
+ Order the outputs for the usage as a embedded circuit.
+ Paste
+ Rotate
+ Simulation
+ Start of Simulation
+ Starts the simulation of the circuit.
+ Save
+ Save As
+ Save Data
+ Save data as CSV file
+ Speed Test
+ Performs a speed test by calculating the max. clock frequency.
+ Gate Step
+ Calculates a single gate step
+ Run To Break in Single Gate Mode
+ Executes all single gate steps until a rising edge is detected on a break component.
+ If there is no break component, the remaining single gate steps are executed.
+ Synthesis
+ Generates the minimal bool expressions described by a truth table.
+ {0} variables
+ Create
+ Creates a CUPL source file containing the define circuit.
+ Creates a file containing the circuit similar to the Berkeley Logic Interchange Format (BLIF).
+ After that the Atmel fitter is started to create the JEDEC file.
+ Circuit
+ Creates a circuit which reproduces the truth table.
+ Circuit with JK flip-flops
+ Creates a circuit which reproduces the truth table. Uses JK flip-flops.
+ Circuit with LUTs
+ Creates a circuit which reproduces the truth table. Uses lookup tables to create the expressions.
+ Circuit with NAnd gates
+ Circuit with NAnd gates with two inputs
+ Use only NAnd gates with two inputs.
+ Creates a circuit which reproduces the truth table only with NAnd gates.
+ Circuit with NOr gates
+ Circuit with NOr gates with two inputs
+ Use only NOr gates with two inputs.
+ Creates a circuit which reproduces the truth table only with NOr gates.
+ Circuit with two input gates
+ create circuit, use only gates with two inputs
+ Circuit with three input gates
+ create circuit, use only gates with a maximum of three inputs
+ Device
+ Creates a JEDEC file for the device
+ Export LaTeX
+ Export Plain Text
+ Export Test Case
+ Creates a test case description that can be used in a test
+ case.
+ The test case is only functional if the circuit is
+ purely combinatorial!
+ Export HEX
+ You can load the HEX file to a ROM or a LUT.
+ New
+ Combinatorial
+ Sequential
+ Sequential bidirectional
+ Reorder/Delete Input Variables
+ Reorder/Delete Output Columns
+ Add Output Column
+ Adds a new result column to the table.
+ Add Input Variable
+ Adds a new input variable to the table.
+ Set X to 0
+ Sets the Don't Cares to 0.
+ Set X to 1
+ Sets the Don't Cares to 1.
+ Create J/K Expressions
+ Set all to X
+ Set all values to "don't care".
+ Set all to 0
+ Set all values to zero.
+ Set all to 1
+ Set all values to one.
+ Invert all bits
+ A "1" becomes a "0" and vice versa. Don't cares remain unchanged.
+ Show results dialog
+ Shows the results dialog again if it was closed manually.
+ Delete
+ Delete the terminals content.
+ View
+ Zoom In
+ Zoom Out
+ Expression
+ Create a circuit from an expression.
+ Run Tests
+ Runs all test cases in the circuit
+ Set Inputs
+ Use actual input values as new default values.
+ Reset all diodes and FGFETs
+ Resets all diodes (fuses) and FGFETs to the "not programed" state. The actual fuse configuration is lost!
+ Program diode
+ Components
+ Shows a list of all available components.
+ Help Dialog
+ Shows the help dialog describing the actual circuit.
+ Memory
+ Shows the content of memory components.
+ Paste in new window
+ The content of the clip board is pasted in a new window.
+ Component Tree View
+ Shows a tree view of available components at the left side.
+ Special 74xx Functions
+ Add IO-Prefix
+ A prefix is added to all selected inputs and outputs.
+ Is used to simplify the doubling of circuits within a 74xx circuit.
+ Remove IO-Prefix
+ The first character from the inputs and outputs labels are removed.
+ Is used to simplify the doubling of circuits within a 74xx circuit.
+ Pin Wizard
+ Wizard to apply pin numbers to the inputs and outputs.
+ Remove Pin Numbers
+ Remove all pin numbers in the circuit
+ Undo
+ Revert last modification
+ Redo
+ Apply last reverted modification again.
+ Show graph
+ Show the data as a Graph.
+ Show table
+ Shows values as a table.
+ Add power supply
+ Adds a power supply to the circuit.
+ Export to VHDL
+ Exports the circuit to VHDL
+ Export to Verilog
+ Exports the circuit to Verilog
+ K-Map
+ Shows a K-map representation of the Table!
+ Documentation
+ Open {0}
+ Show measurement value table
+ Show table with the measured values in a separate window.
+ Show measurement graph
+ Shows a graph with the measured values in a separate window.
+ Export to ZIP file
+ Exports the circuit as a ZIP file.
+ The ZIP file thus contains all the files that are necessary for the operation of the circuit.
+ Label Inputs and Outputs
+ Set a label to all inputs and outputs without a label.
+ Start Tutorial
+ Starts the beginner tutorial.
+ Circuit Statistics
+ Shows a list of used components.
+ Number
+ Component
+ Inputs
+ Bits
+ Addr. Bits
+ Error opening a PDF file!
+ <h1>Digital</h1>A simple simulator for digital circuits.
+ Written by H. Neemann in 2016-2020.
+
+ The icons are taken from the <a href="http://tango.freedesktop.org">Tango Desktop Project</a>.
+
+ Visit the project at <a href="https://github.com/hneemann/[[name]]">GitHub</a>.
+ At Github you can also <a href="https://github.com/hneemann/[[name]]/releases/latest">download</a> the latest release.
+
+ There you also can file an <a href="https://github.com/hneemann/[[name]]/issues/new?body=version:%20[[version]]&labels=bug">issue</a> or suggest
+ an <a href="https://github.com/hneemann/[[name]]/issues/new?labels=enhancement">enhancement</a>.
+ {0} nodes
+ Error analysing the circuit
+ Color
+ Error calculating a step
+ Error creating the circuit
+ Error during simplification
+ Error during creation of hardware configuration.
+ Error editing a attribute value
+ Error importing the circuit {0}!
+ Error updating the component library!!
+ Error reading a file
+ Command {0} unknown!
+ Error writing a file
+ The maximum frequency is {0} kHz
+ Shape {0} is missing
+ Pin assignment
+ Pin {0}: {1}
+ A restart is required for the changes to take effect!
+ Enter an expression:
+ Error running the tests:
+ Test result
+ {0} passed
+ {0} failed
+ (To many entries!)
+ All test cases are executed, but not all results are shown.
+ The evaluation of the test result is nevertheless correct!
+ E: {0} / F: {1}
+ Error creating the help!
+ The clipboard contains no importable data!
+ Select an empty folder!
+ Message from the external fitter
+ Execution of external fitter
+ Actual Circuit
+ The selected file name is not importable from the actual project!
+ The file name is not unique!
+ All files in the working directory and all subdirectories must have unique file names. This also applies to the
+ library folder. If your work directory has a 7400.dig file, you can not use this file or the 7400.dig file from
+ the library.
+ If there is a 7400.dig file in your working directory, you can not use this file or the 7400.dig file from the
+ library, because this file name can no longer be uniquely assigned.
+ There are several files with identical file names, which can not be
+ uniquely assigned! Affected are:
+ and {0} more.
+ The file has not yet been imported.
+ The file {0} already exists! Do you want to overwrite the file?
+ The editing of the circuit is disabled. You can remove the lock at
+ "{0} -> {1} -> {2}".
+ However, copying of components and the configuration of diodes and FGFETs with the [P] key is also possible in the locked mode.
+ Error during speed test!
+ Pin {0}
+ Numbering Wizard
+ Select pin {0}:
+ Written frames: {0}
+ Error writing to GIF file!
+ Ready
+ The GIF file is finalized and closed.
+ GIF Export
+ caused by
+ Inputs to invert
+ none
+ Could not determine the names of the pins.
+ Occurred in file {0}.
+ Affected are: {0}.
+ Signal {0}
+ No pin numbers assigned to the pins {0}!
+ Free pins are automatically assigned. The circuit can therefore not be used on real hardware in most cases!
+ You can only export a circuit without errors!
+ No KV map available!
+ Data will not be updated anymore!
+ Modify this Value
+ One of the fields contains a invalid value!
+ Creation of CHN file.
+ The table is very large, the export may take a while.
+ Start export anyway?
+ To create a hardware description, a circuit must first be created and analyzed.
+ A standalone truth table can not be used to generate a hardware description.
+ no data
+ Could not close external process!
+ Check Result:
+ Check
+ Starts the application to check if the entered code is correct.
+ If this is not the case, the error message of the external application is displayed.
+ If possible, the input and output definitions are also adapted to the current code.
+ Input and output definitions could not be created automatically.
+ Please check the settings!
+ Executable file "{0}" not found!
+ Enter Text!
+ Start ATMISP
+ Starts the external program ATMISP. This must have been previously installed.
+ Error while starting ATMISP!
+ Is the correct path to the executable ATMISP.exe specified in the settings?
+ ATMISP is still running!
+ When this dialog is closed, ATMISP is terminated!
+ Make sure the flash process is complete before closing this dialog!
+ Run all Tests
+ Executes all tests in the current folder.
+ {0} test rows passed
+ File Tested
+ Truth Table
+ Error while importing the SVG file.
+ Error creating the SVG template.
+ Statistics could not be created.
+ Error while reading the toolchain configuration {0}
+ Command "{0}" has been started! Processing may take some time!
+ The command "{0}" has been completed!
+ Rename Net
+ There are {0} more tunnels with the net name ''{1}''.
+ Do you want to rename all {0} to ''{2}''?
+ Do you really want to discard the changes in the "{0}" field?
+ Clipboard
+ Copies the text to the clipboard.
+ Exportable to VHDL/Verilog.
+ OK
+ 0°
+ 180°
+ 270°
+ 90°
+ Break after {0} half cycles at break point ''{1}''.
+ Deletes the selected item
+ Move the item down
+ Move the item up
+ All possible solutions
+ Testdata {0}
+ Data
+ Confirm Exit!
+ Measurements
+ Measurements full clock step
+ Measurements single gate step
+ Save Changes?
+ State Changed!
+ Table
+ Export
+ Select
+ Input {0}
+ Karnaugh Map
+ Included ROMs
+ Help
+ Name to use in generic circuits: {0}
+ Central ROM Content
+ <html>
+ <h3>Motivation</h3>
+ When a circuit containing a ROM component is embedded multiple times, the contents of the ROM
+ is normally used for each instance of that circuit. Under certain circumstances,
+ however, it may be desirable for such a circuit to be embedded multiple times,
+ but different ROM contents are used for each instance.<br/>
+ This problem occurs e.g. if a 74xx ROM is used multiple times but with different
+ memory contents.<br/>
+ <h3>Function</h3>
+ At this location, therefore, contents can be defined for all ROM's in the circuit.
+ When the simulation model is generated, every ROM is initialized with the contents stored
+ directly in the respective ROM. Then it is checked whether an alternative content is
+ defined here. If this is the case, the content defined here is loaded into the corresponding ROM.
+ <h3>Usage</h3>
+ It should be noted that each ROM requires a unique name used to identify the ROM.
+ To do this, use the asterisk ('*') in the label of the ROM. The asterisk is then replaced by the complete
+ path constructed from the names of the embedded circuits.
+ If a circuit contains only one ROM component, it is sufficient to use only the asterisk as a label for it.
+ All embedded circuits must be named so that a unique name can be formed for each ROM component.
+ </html>
+ <html>
+ <h1>New Version {0} Available</h1>
+ <p>There is a new release of the simulator available.</p>
+ <p>In the <a href="https://github.com/hneemann/[[name]]/releases/latest">release notes</a>
+ you can find the changes and improvements.</p>
+ <p>Here you can <a href="https://github.com/hneemann/[[name]]/releases/latest">download</a> the new release.</p>
+ </html>
+ Expressions
+ To define an expression you can use all most common notations:
+
+ And: "&", "&&", "*", "∧"
+ Or: "|", "||", "+", "∨", "#"
+ XOr: "^", "⊻"
+ Not: "!", "~", "¬"
+
+ As usual AND precedes OR and XOr.
+
+ Multiple expressions can be separated by "," or ";".
+ If you want to name the expressions you can use the
+ let-command: "let U=A+B, let V=A*B".
+ Test vectors
+ <html>
+ <head><style>pre { background-color: #E0E0E0;}</style></head>
+ <body>
+<p>The first line has to contain the names of inputs and outputs.
+A 'X' represents a don't care, and a 'Z' represents a high Z value.
+If a 'C' is used, at first all other values are set, after that a clock cycle is performed and than the
+values are compared. So it's easier to test sequential logic.
+A line which starts with a number sign ('#') is a comment.</p>
+
+<p>So a test for a 2-bit counter could look like this:</p>
+
+<pre>
+C Q1 Q0
+0 0 0
+C 0 1
+C 1 0
+C 1 1
+C 0 0
+</pre>
+
+<p>The tests are executed by Run->Run Tests.</p>
+<p>
+To make it easier to create a lot of test vectors there is the 'repeat([n])' statement:
+If a line begins with 'repeat([n])', [n] test lines are generated. The
+Variable 'n' can be used to generate the test data. With 'repeat(16)'
+16 lines are created, where n goes from 0 to 15. If there are multiple bit inputs,
+and these are to be set together to a binary value, this can be done with the
+'bits([bits], [value])' statement. This is used to create [bits] bits of the value [value].</p>
+
+<p>The following is an example that tests a 4-bit adder:</p>
+
+<pre>
+ C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
+repeat(256) 0 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15))
+repeat(256) 1 bits(4,n>>4) bits(4,n) bits(5,(n>>4)+(n&15)+1)
+</pre>
+
+<p>The input signals are the carry-in (C_i-1) and the eight input bits A_3-A_0 and B_3-B_0.
+The 4 input bits are generated with the 'bits' instruction. The result (C_i, S_3-S_0) is also generated
+by a 'bits' instruction.
+This happens once with C_i-1 = 0 and in the next line with C_i-1 = 1.
+In this way, 512 test rows are generated which cover all possible input configurations.</p>
+<p>If multiple rows are to be repeated, or if nested loops are required, the loop
+statement can be used. The above example could also be implemented as follows:</p>
+
+<pre>
+ C_i-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C_i S_3 S_2 S_1 S_0
+loop(a,16)
+ loop(b,16)
+ 0 bits(4,a) bits(4,b) bits(5,a+b)
+ 1 bits(4,a) bits(4,b) bits(5,a+b+1)
+ end loop
+end loop
+</pre>
+
+<p>Under certain circumstances it may be necessary to be able to react to the initial
+state of the circuit. Therefore the signals provided in the circuit can be used within
+the test case. For example, if a counter that starts in an undefined state is to be
+tested, it can be clocked to a defined state:</p>
+
+<pre>C Q_3 Q_2 Q_1 Q_0
+
+# clock counter to 1111
+while(!(Q_3 & Q_2 & Q_1 & Q_0))
+C x x x x
+end while
+
+# start the test execution
+repeat(16) C bits(4,n)
+</pre>
+
+<p>It may be helpful to generate random numbers in test cases.
+These can be created with the function 'random([n])'. The generated number is greater
+than or equal to zero and less than [n]. Considering a 16-bit multiplier as an example,
+a full test can not be performed since it would have 2^32 input combinations.
+A regression test that multiplies 100000 random numbers might look like this:</p>
+
+<pre>
+ A B Y
+loop(i,100000)
+ let a = random(1<<16);
+ let b = random(1<<16);
+ (a) (b) (a*b)
+end loop
+</pre>
+
+<p>An input that allows high impedance as a value can also be used as a test output.
+In this case, the signal name can be used with a trailing "_out" to read back and check the current value.
+For this, the corresponding input must be set to high impedance ('Z').</p>
+
+<pre>OE CLK D D_out
+0 0 0 0
+0 C 1 1
+1 0 z 1
+0 C 0 0
+1 0 z 0
+</pre>
+
+<p>The circuit for this test has only one input 'D', but which can be high impedance state.
+Therefore, the signal 'D_out' is also available to check the value in this case.</p>
+
+</body></html>
+ Finite State Machine
+ no movement
+ Transitions
+ Transitions+States
+ set {0}
+ Finite State Machine
+ Opens a Dialog to Edit a Finite State Machine.
+ Create
+ State Transition Table
+ Create Counter
+ {0} States
+ Help for operating the FSM editor.
+ State Number
+ The number which represents this state.
+ Initial State
+ If set, this state is the initial state.
+ Outputs
+ Defines the output values.
+ With simple assignments like "A=1, B=0" outputs can be set.
+ With instructions like "A=101", multi-bit outputs can be set.
+ Outputs that are not defined here are set to zero in states.
+ For transitions, unspecified outputs remain unchanged.
+ Condition
+ A boolean expression.
+ Radius
+ Radius of the circle in the diagram.
+ The FSM is not deterministic: {0}
+ State Number {0} used twice.
+ There is no initial state (state number zero).
+ State ''{0}'' not found!
+ Wrong assignment to output (''{0}'')!
+ Error in condition ''{0}''!
+ Error loading a file!
+ Error storing a file!
+ Transition
+ State
+ New State
+ Can not create state transition table.
+ Help FSM Editor
+ <html><head></head>
+<body>
+ <h3>Mouse Operation</h3>
+ <dl>
+ <dt>Create a state:</dt>
+ <dd>Right mouse click on a free area.</dd>
+ <dt>Creating a transition:</dt>
+ <dd>Right mouse button down on the start state and dragging to the destination state.</dd>
+ <dt>Delete a state or a transition:</dt>
+ <dd>Move the mouse over the object and press the [Del] button.</dd>
+ <dt>Moving a state or transition:</dt>
+ <dd>Left mouse button down and dragging.</dd>
+ <dt>Editing a state or a transition:</dt>
+ <dd>Right mouse click on the state or the transition.</dd>
+ </dl>
+ <h3>Layout Help Function</h3>
+ <dl>
+ <dt>no movement:</dt>
+ <dd>The layout help function is disabled.</dd>
+ <dt>Transitions:</dt>
+ <dd>The layout help function moves the transition arrows to avoid overlaps.</dd>
+ <dt>Transitions+States</dt>
+ <dd>The layout help function moves both states and transitions to help create a well-balanced layout.</dd>
+ </dl>
+ <h3>Interpretation of Transitions</h3>
+ To simplify the generation of a deterministic automata, unconditional transitions are treated in a special way:
+ an unconditional transition is only executed if no other transition satisfies the transition condition.
+ So there can be an unconditional transition and conditional transitions that start in the same state.
+ An unconditional transition thus determines to which state the state machine is shifted if no other transition
+ condition is met.
+ If there is no unconditional transition from a state, the state machine will stay in this state if no other
+ transition condition is met.
+</body></html>
+ The measurement graph
+ <html><body>
+ <h3>What can be seen in the graph?</h3>
+ Unlike a real logic analyzer, the X-axis of the measurement graph does not show the time.
+ Instead a counter is displayed which counts the changes of state in the circuit.
+ Whenever there is a change in the circuit, the counter is incremented and the new state is displayed.<br/>
+ You can also think of it as a classic logic analyzer, which does not save any data for optimization
+ if nothing has changed in the circuit.
+ However, this also means that it is not possible to read from the graph whether a lot or little time has
+ passed between two changes in the circuit.<br/>
+ This behavior is caused by the nature of the simulation: The simulation of the circuit does not know the
+ concept of time. A change is made to the circuit, and the change in the circuit state is calculated, until
+ the circuit has stabilized again. Then the next change is made, the effect of which is also is calculated
+ and so on. These changes are counted and the counter value is displayed on the X-axis of the graph.<br/>
+ Among other things, this also means that a circuit cannot be overclocked, since the effects of the falling
+ edge of the clock are not calculated until the circuit has stabilized after the previous rising edge.
+ </body></html>
+ Tutorial
+ In the following a short tutorial leads you to the first, simple circuit:
+
+ First, insert an input into the circuit. You will find the input in the menu Components▸IO.
+ Now add a second input to the circuit. You can also click on the input
+ in the toolbar.
+
+ It is best to place the second input slightly below the first input.
+ You can move the circuit by holding down the right mouse button.
+ By clicking on components you can move them.
+ Next, an "Exclusive Or" gate is to be inserted.
+ You can find this gate in the menu Components▸Logic.
+ Place this component with some distance to the right of the inputs.
+ The last component to be inserted is an output.
+ Place it with some distance to the right of the "Exclusive Or" gate.
+ In order to complete the circuit, connecting wires must be drawn.
+
+ Click on the red dot at the first input and connect it to an input of the "Exclusive Or" gate,
+ by clicking on a blue dot of the "Exclusive Or" gate afterwards.
+ Do NOT drag with mouse button down!
+ Connect the red dot of the second input to the second blue dot of the
+ "Exclusive Or" gate and the red dot of the "Exclusive Or" gate to the blue dot of the output.
+
+ While drawing, you can pin the wire by clicking somewhere on the canvas.
+ Right-click cancels the drawing of the wire (control-click on MacOS).
+ Your first circuit is now functional.
+ To start the simulation, you can click on the Play button in the toolbar.
+ If you move the mouse over the toolbar, tool tips are shown.
+ The simulation is now active. Switch the inputs by clicking on them.
+ To stop the simulation, click on the Stop button in the toolbar.
+ For completeness, the inputs and outputs should be labeled.
+
+ Right-click on an input to open a dialog. On MacOS control-click is used.
+ Here the input can be given a name.
+ Label all inputs and outputs.
+ Inputs and outputs should always be uniquely named.
+ Skip Tutorial
+