« Électronique numérique : logique/Assemblage de fonctions » : différence entre les versions

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
mAucun résumé des modifications
Ligne 3 :
=== Assemblage des fonctions élémentaires ===
 
À partir des [[w:Fonction_logique#Repr.C3.A9sentation_graphique|fonctions logiques élémentaires]] présentées au [[%C3%89lectronique_num%C3%A9rique_:_logique/Fonctions_logiques_%C3%A9l%C3%A9mentaires|TD 1]] et [[w:Alg%C3%A8bre_de_Boole_(logique)#Fonctions_logiques|encore ici]], il est possible d'en construire de plus complexes, ayant par exemple 3 variables d'entrées...par association. Une question vient alors à l'esprit : comment trouver la table de vérité correspondante ? Prenons un exemple simple pour commencer. Soit le schéma ci-dessous, comment trouver sa table de vérité ?
 
[[Image:Td2fig1.png]]
Ligne 41 :
Cet exemple nous montre que "y" peut être écrit sous deux formes différentes : une simple à partir du schéma et une plus complexe à partir de la table de vérité. Un schéma ne donnera pas toujours une équation simple, mais la table de vérité par contre donnera toujours une [[w:Forme_normale_disjonctive|forme disjonctive canonique]] (pas simplifiée).
 
Il est facile de montrer que plusieurs schémas différents peuvent donner une même table de vérité. On peut donc avoir plusieurs équations logiques pour une même fonction et plusieurs schémas pour la réaliser. Le but de la logique est en général de trier un peu ces équations et de trouver quelles sont celles qui ont un intérêt pour des réalisations simples des circuits.
 
==== Exercice 1 ====
Ligne 48 :
[[Image:Td2fig2.png]]
 
=== Retour sur le langage VHDL ===
 
Pour écrire unUn programme [[w:VHDL qui décrit un schéma, on commence par décrire les portes élémentaires. Un programme |VHDL]] comporte une partie entité et une partie architecture [[w:VHDL |VHDL]].
<source lang="VHDL">
<pre><nowiki>
-- Commentaire VHDL
-- voici l'entité
ENTITY et IS
PORT(a,b : IN BIT;
y : OUT BIT);
END et;
-- voici l'architecture
--VHDL
ARCHITECTURE truc OF et IS
BEGIN
-- equation logique
y<=a AND b;
END truc;
</source>
</nowiki></pre>
Toute équation logique peut être transcrite en VHDL par ce principe. Les opérateurs logiques VHDL sont AND (ET), OR (OU), XOR (OU Exclusif), NOT (NON) sans aucune priorité. Le programme VHDL correspondant au schéma du début de ce chapitre pourra donc s'écrire :
 
<source lang="VHDL">
-- voici l'entité
ENTITY et IS
PORT(a,b,c : IN BIT;
y : OUT BIT);
END et;
-- voici l'architecture
ARCHITECTURE truc OF et IS
BEGIN
-- equation logique
y<= c OR (a AND b); -- parenthèses OBLIGATOIRES !!!
END truc;
</source>
Pour écrire un programme VHDL qui décrit un schéma, on commence par décrire les portes élémentaires.
On suppose que les portes élémentaires du TD1 s'appellent oui, inverseur, et, et_non, ou, ou_non, ouex.
A partir de ces fonctions élémentaires on peut décrire un schéma (description structurelle) de la façon suivante :