Les bases : opérateurs logiques, logique combinatoire et séquentielle

 

1. Opérateurs logiques

1.1. Fonctions NON-ET (NAND) et NON-OU (NOR)

  1. Rappeler la table de vérité de ces fonctions.
  2. Ecrire les équations associées.

1.2. Lois de De Morgan

  1. Dresser la table de vérité de \(\overline{a+b}\) et celle de \(\overline{a}.\overline{b}\). Conclure.
  2. Idem pour \(\overline{a.b}\) et \(\overline{a}+\overline{b}\).

1.3. Fonctions universelles

  1. A partir de fonctions NON-OU (NOR) à 2 entrées, réaliser les fonctions suivantes :
    1. NON
    2. OUI
    3. NON ET
    4. NON OU
  2. Idem avec des fonctions NON-ET (NAND) à 2 entrées.

2.  Logique combinatoire

afficheur7segments

2.1. Décodeur BCD vers 7 segments

On utilise un afficheur disposant de 7 segments à LED pour afficher une information binaire codé décimal (des chiffres de 0 à 9).

L'information initiale est fournie sous la forme d'un mot de 4 bits \(E\) constitué des bits \(E_{3},E_{2},E_{1},E_{0}\) où \(E_{3}\) et \(E_{0}\) sont respectivement des bits de poids fort et de poids faible de \(E\).
On désigne les signaux alimentant les segments par \(A,B,C,D,E,F,G\).

  1. Donner la table de vérité du système pour afficher la valeur de l'entier non signé stocké dans E sur 4 bits.
  2. Ecrire les équations des différentes sorties.
  3. Les simplifier en utilisant des tableaux de Karnaugh.
    Note : on choisira la valeur qui nous arrangera pour les cases des tableaux de Karnaugh non complétées par la table de vérité.

2.2. Conversions gray-binaire et binaire-gray

Il s'agit d'étudier les conversions permettant de passer du code Gray (code binaire réfléchi) au code binaire et réciproquement.

  1. Réaliser l'étude sur 4 bits (\(b_{0},b_{1},b_{2},b_{3}\) pour les informations binaires et \(g_{0}\) à \(g_{3}\) pour le code gray).
  2. Proposer une réalisation à base de portes logiques élémentaires (ET, OU, NON ...).
  3. Généraliser.

Note : On utilisera des tableaux de Karnaugh pour les simplifications éventuelles.

2.3. Addition binaire

2.3.1. Additionneur 1 bit1 bit full-adder

Dans un premier temps, il s'agit d'étendre le demi-additionneur 1 bit vu en cours en ajoutant une retenue à l'entrée. On parle alors d'additionneur complet (full adder).On utilise les notations proposées sur la figure ci-contre.

  1. Dresser la table vérité \((c_{in_i},a_i,b_i)\) comme vecteur d'entrée et \((c_i,c_{out_i})\) comme vecteur de sortie.
  2. Déterminer les équations \(c_i\) et \(c_{out_i}\) en fonction des entrées \(c_{in_i},a_i,b_i\).
  3. Dessiner le schéma électronique de cet additionneur 1 bit complet.

2.3.2. Additionneur 4 bits

  1. En utilisant des additionneurs 1 bit, proposer le schéma d'un additioneur 4 bits.
  2. Si on considère que chaque niveau de porte logique impose un temps de calcul d'une durée \(\Delta T\), indiquer le temps de calcul de l'additionneur 4 bits ainsi constitué.
    Note : les équations de l'additionneur 1 bit complet seront calculées en utilisant des portes NON, des portes ET à N entrées (N aussi grand que nécessaire) et des portes OU à N entrées, chacune de ces portes nécessitant un temps de calcul (ou temps de propagation) valant 1 $\Delta T$.
  3. Proposer une autre approche pour abaisser ce temps de calcul et donner le temps de calcul correspondant.
  4. Le calcul des équations se fait maintenant avec des LUT de FPGA similaires à ceux apparaissant dans les Cyclone II Altera. Ceux-ci disposent de 4 entrées générales + 1 entrée de retenue et une sortie combinatoire + 1 sortie spécifique pour la retenue. La dernière approche proposée peut-elle être exploitée avec ces FPGA ?

2.4.  Multiplicateur 4 bits

L'objectif de cet exercice est de réaliser un système combinatoire assurant la multiplication de deux mots de 4 bits non signés notés \(a=a_{3}a_{2}a_{1}a_{0}\) et \(b=b_{3}b_{2}b_{1}b_{0}\).

  1. Combien de bits sont nécessaires pour expliciter le résultat de la multiplication de a par b ?
  2. Pour comprendre le fonctionnement d'un tel circuit, poser la multiplication de \(a=1101_2\) par \(b=0110_2\).
  3. Quelle est la fonction logique permettant de réaliser une multiplication de 1 bit x 1 bit ?
  4. En déduire le schéma d'un multiplicateur de 4 bits x 1 bit.
  5. Combien d'additionneur 4 bits complets faut-il pour réaliser le processus d'addition présent de le calcul de la multiplication posée ?
  6. Dessiner le schéma complet du multiplicateur 4 bits x 4 bits en utilisant des multiplicateurs 4 bits x 1 bit et des additionneurs complets.
  7. Estimer le temps de calcul d'une multiplication réalisée de cette façon en nombre de \(\Delta T\).

3. Logique séquentielle

3.1. Verrou D

La figure ci-dessous représente un verrou de type D. Il est construit sur la base d'une bascule RS.

Verrou D      Chronogramme

  1. Dresser la table de vérité de la bascule RS placée à la sortie de la structure (entrées \(\overline{S_1},\overline{R_1}\), sortie \(Q\)).
  2. Dresser la table de vérité de l'étage d'entrée (entrées \(D,C\), sorties \(\overline{R_1},\overline{S_1}\)).
  3. En déduire l'évolution de la sortie \(Q\) en réponse aux chronogrammes fournis ci-dessus.
  4. Conclure quant aux rôles respectifs des entrées \(D\) et \(C\).

3.2.  Multiplicateur 16 bits

On a précédemment étudié la multiplication de deux quartets (mots de 4 bits). Dans certaines situations, réaliser un multiplicateur 16 bits x 16 bits peut s'avérer trop lourdes en terme de nombre de portes logiques consommées. On préfère alors utiliser un processus séquentiel exploitant des multiplicateurs 16 bits x 1 bit et un additionneur 32 bits unique.

  1. Expliquer quel peut être le fonctionnement d'un tel circuit.
  2. Elaborer une machine à état permettant d'implémenter cette approche.