Bonjour,
lors de la conception logique d’un circuit, je me suis retrouvé face à ce cas de figure : un évènement se passe à la condition nécessaire A d’un ou certains états d’un registre R1 (c’est-à-dire A := (R1=x0) ou (R1=x1) ou…) . Il prend un coup d’horloge. Sur ce même coup d’horloge, cet évènement change l’état de R1 tel que la condition A devient fausse (n’est plus remplie).
Ce système est-il stable et donne-t-il un résultat déterminé, ou préfère-t-on en pratique l’éviter et utiliser deux coups d’horloge ; par exemple en ajoutant une autre variable d’état (par exemple un registre R2), et en posant A1:= R1 est élément [un ensemble E1 de valeurs] et A2 := R2 est élément [un autre ensemble E2]. On aurait alors au premier coup d’horloge, à la condition A1, on écrit une des valeurs de E2 dans R2, et au deuxième coup d’horloge, à la condition A2, qui est donc automatiquement remplie, on change la valeur de R1 (ceci ayant un intérêt uniquement si la nouvelle valeur de R1 n’est pas dans E1 (ce qui était justement le problème originel)). E2 est surtout un singleton (et R2 une bascule d’un bit).
J’ai l’impression d’ailleurs que le serpent se mord la queue, parce qu’il faudrait changer la valeur de R2 avant le troisième coup d’horloge.
Merci beaucoup !