Délais sur les portes logiques

À titre d’exemple du niveau de sophistication de l’algorithme de Logisim, considérons le circuit suivant.

#########

Ce circuit "évidemment" génère toujours 0. Mais dans la réalité les sorties des portes ne réagissent pas instantanément à leurs entrées, et elles ne le font pas non plus dans Logisim. Par conséquent, lorsque l'entrée de ce circuit passe de 0 à 1, le retard introduit par la porte NOT fait que la porte ET verra brièvement deux entrées 1 et émettra brièvement 1. Vous ne le verrez pas à l'écran. Mais l'effet est observable lorsque nous utilisons la sortie de la porte AND comme entrée de l'horloge d'une bascule D.

#########

La bascule D changera à chaque impulsion de la sortie de la porte AND soit quand l'entrée du circuit passe de 0 à 1. Le déroulement détaillé peut aussi s'observer grâce au mode pas-à-pas de la simulation.

Chaque composant est associé à un délai. Les composants plus sophistiqués intégrés dans Logisim ont tendance à avoir des retards plus importants, mais ces retards sont quelque peu arbitraires et peuvent ne pas refléter la réalité.

#########
Logisim world

#########
Real world

D'un point de vue technique, il est relativement facile de gérer ce niveau de sophistication dans un seul circuit. Traiter les retards de porte entre les sous-circuits est cependant un peu plus complexe. Logisim tente de résoudre ce problème correctement en plaçant toutes les valeurs de propagation des composants primitifs dans un seul planning, quel que soit le sous-circuit dans lequel se trouve le composant.

Avec la fenêtre des options de projet, onglet simulation, vous pouvez configurer Logisim pour ajouter un délai aléatoire occasionnel à la propagation d'un composant. Ceci est destiné à simuler les inégalités des circuits réels. En particulier, un verrou R-S utilisant deux portes NOR va osciller sans ce caractère aléatoire, car les deux portes traiteront leurs entrées en séquence. Ce caractère aléatoire est désactivé par défaut.

Notez que je m'empêche de dire que Logisim traite toujours correctement les délais des portes. Mais au moins, il essaye.

Suite : Erreurs oscillatoires.