1.8 KiB
title | subject | export | kernelspec | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Logique combinatoire | Cours |
|
|
Vocabulaire
:::{prf:definition} Variable logique :nonumber: true Une variable logique est une variable qui ne peut prendre que deux valeurs, dites états logiques : 0 et 1. :::
:::{prf:definition} Table de vérité :nonumber: true Une table de vérité permet de renseigner les états logiques des sorties du système en fonction de ses entrées (exemple : @tab:verite). :::
:::{csv-table} Table de vérité 🏷️ tab:verite :header-rows: 1 a,b,S 0,0,1 0,1,0 1,0,0 1,1,1 :::
:::{prf:definition} Chronogramme :nonumber: true Un chronogramme permet de représenter l'évolution des états logiques d'un système en fonction du temps (exemple : @fig:chronogramme). :::
::::{figure} 🏷️ fig:chronogramme :::{code-cell} python :tag: [remove-input] import matplotlib.pyplot as plt import numpy as np
rng = np.random.default_rng(25)
fig, [ax_a, ax_b, ax] = plt.subplots(3, figsize=(10, 4), sharex=True, sharey=True) ax.set(xlim=(0, 16), xticks=np.arange(0, 16), ylim=(-0.5, 1.5), yticks=(0, 1)) ax.set(xlabel="Temps (s)", ylabel="Signal logique")
a = rng.integers(2, size=16) b = rng.integers(2, size=16) S = np.equal(a, b)
ax_a.stairs(a, lw=3, baseline=None) ax_a.set_ylabel("a")
ax_b.stairs(b, lw=3, baseline=None) ax_b.set_ylabel("b")
ax.stairs(S, lw=3, baseline=None) ax.set_ylabel("S"); :::
Chronogramme ::::
Fonctions logiques
Une fonction logique donne un résultat en fonction des valeurs d'entrée.
Les fonctions logiques usuelles sont ET (a\cdot{}b
), OU (a+b
), NON (\bar a
) et OU exclusif (XOR, a\oplus{}b
). Les symboles et tables de vérité sont donnés sur la page Wikipédia des fonctions logiques.