Logique combinatoire vs séquentielle : les différences expliquées
En logique combinatoire, la sortie ne dépend que des entrées présentes : les mêmes entrées donnent toujours la même sortie. En logique séquentielle, la sortie dépend aussi de l'état mémorisé, c'est-à-dire de l'historique des entrées passées. Les circuits séquentiels ajoutent des éléments de mémorisation comme des bascules et sont généralement commandés par une horloge. Les systèmes numériques réels alternent les deux : la logique combinatoire calcule entre des registres qui conservent l'état.
| Critère | Logique combinatoire | Logique séquentielle |
|---|---|---|
| La sortie dépend de | Des entrées présentes uniquement | Des entrées présentes et de l'état mémorisé (historique) |
| Éléments de mémorisation | Aucun | Bascules ou latchs |
| Horloge | Inutile | Généralement cadencée (conception synchrone) |
| Rétroaction | Aucune : une boucle de rétroaction serait une erreur de conception | Rétroaction via les éléments d'état |
| Exemples | Additionneurs, multiplexeurs, décodeurs, encodeurs, comparateurs | Registres, compteurs, registres à décalage, machines à états |
| Contraintes temporelles | Temps de propagation, et glitches (aléas) pendant le changement des entrées | Temps de setup et de hold, période d'horloge et décalage d'horloge (skew) |
| Outils de conception | Tables de vérité, algèbre de Boole, tableaux de Karnaugh | Tables d'états et diagrammes d'états |
| En Verilog | Affectations continues ou blocs always qui affectent chaque sortie dans chaque branche | Blocs always cadencés (sur le front d'horloge) |
Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.