Vous êtes sur la page 1sur 39

Structure machine

MAHSEUR Mohammed
Circuits combinatoires 2015/2016
I Premier chapitre : les circuits combinatoires
Un circuit combinatoire est un circuit dont les nouvelles sorties sont obtenues en fonction des nouvelles
entrées seulement.
I.1 Le multiplexeur :
C’est un circuit à 2n entrées et une sortie choisie parmi les 2n entrées, le choix de l’entrée qui sort est fait
par n lignes de sélection.
I.1.1 Multiplexeur 1 parmi 2
C’est un multiplexeur à 2 entrées (e0 et e1) et une ligne de sélection (s0) (et une sortie bien sûr)

𝑆 = 𝑠̅0 𝑒0 + 𝑠0 𝑒1
Donc son logigramme est le suivant :

I.1.2 Multiplexeur 1 parmi 4


C’est un multiplexeur à 4 entrées (e0, e1, e2 et e3) et deux lignes de sélection (s0 et s1)

Question : donnez le schéma d’un multiplexeur 1 parmi 8 et 1 parmi 16 et 1 parmi 32


Exercice : réaliser un MUX 1 parmi 4 en utilisant des MUX 1 parmi 2
Réponse :

1
Circuits combinatoires 2015/2016

Applications du multiplexeur
 La conversion parallèle-série. Imaginons une instruction codée sur huit bits qui arrive en
parallèle sur les huit lignes d’un multiplexeur. Si on lâche séquentiellement les nombres de 000 à
111 sur les trois lignes de sélection, les huit bits passent dans la ligne de sortie S l’un après
l’autre. C’est notamment intéressant lorsqu’il s’agit de passer des informations de l’ordinateur
vers une ligne téléphonique.
 Matérialisation des devers circuits logiques.
Exercice : soit F(a,b,c,d) une fonction qui teste la parité d’un nombre binaire sur quatre bits :abcd tel
que F=1 si le nombre de bits à 1 est impaire et égale à zéro sinon.
 Réaliser cette fonction à l’aide d’un MUX 1 parmi 16.
 Réaliser cette fonction à l’aide d’un MUX 1 parmi 8 et un inverseur.
a b c D F S
0 0 0 0 0 e0=0
0 0 0 1 1 e1=1
0 0 1 0 1 e2=1
0 0 1 1 0 e3=0
0 1 0 0 1 e4=1
0 1 0 1 0 e5=0
0 1 1 0 0 e6=0
0 1 1 1 1 e7=1
1 0 0 0 1 e8=1
1 0 0 1 0 e9=0
1 0 1 0 0 e10=0
1 0 1 1 1 e11=1
1 1 0 0 0 e12=0
1 1 0 1 1 e13=1
1 1 1 0 1 e14=1
1 1 1 1 0 e15=0
Avec un MUX 161
On considère que a,b,c et d sont les lignes de sélection du multiplexeur 1 parmi 16 donc il faut que les
entrées e0….e15 soient équivalents aux valeurs de F.

2
Circuits combinatoires 2015/2016

Avec un MUX 81


On considère que a,b et c sont les lignes de sélection du multiplexeur 1 parmi 8, donc il faut que les
entrées e0….e7 soient équivalents aux valeurs de F en fonction de d
a b c d F S
0 0 0 0 0 e0=d
0 0 0 1 1
0 0 1 0 1
e1=𝑑̅
0 0 1 1 0
0 1 0 0 1
e2=𝑑̅
0 1 0 1 0
0 1 1 0 0
e3=d
0 1 1 1 1
1 0 0 0 1
e4=𝑑̅
1 0 0 1 0
1 0 1 0 0
e5=d
1 0 1 1 1
1 1 0 0 0
e6=d
1 1 0 1 1
1 1 1 0 1
e7=𝑑̅
1 1 1 1 0

3
Circuits combinatoires 2015/2016
I.2 Le démultiplexeur
C’est un circuit à une entrée E et 2n sorties tel que l’entrée E est dirigée vers une sortie parmi les 2n
sorties, le choix de la ligne de sortie s’effectue selon la valeur des n lignes de sélection.
I.2.1 Démultiplexeur 1 vers 2
C’est un démultiplexeur à 2 sorties (S0 et S1) et une ligne de commande (a0) (et une entrée bien sûr E)

A0 E S1 S0
0 0 - 0
0 1 - 1
1 0 0 -
1 1 1 -
Donc
𝑆0 = ̅̅̅𝐸
𝑎0 Et 𝑆1 = 𝑎0 𝐸, Son logigramme est :
Exercice : donner le schéma des DEMUX 1 vers 4 et 1 vers 8 et 1 vers 16 et 1 vers 32
Applications du démultiplexeur
 La conversion série- parallèle. Imaginons une instruction codée sur huit bits qui arrive en série
sur une ligne d’entrée d’un démultiplexeur. Si on lâche séquentiellement les nombres de 000 à
111 sur les trois lignes de sélection, les huit bits passent dans les lignes de sortie de s0 jusqu'à s7.
C’est notamment intéressant lorsqu’il s’agit de passer des informations d’une ligne téléphonique
vers l’ordinateur.
 Matérialisation des devers circuits logiques
Exercice : réaliser la fonction de parité (exercice précèdent avec un DEMUX 1 vers 16 et avec un
minimum de portes logiques.
Solution :
a b c d F Les sorties
0 0 0 0 0 s0E
0 0 0 1 1 s1E
0 0 1 0 1 s2E
0 0 1 1 0 s3E
0 1 0 0 1 s4E
0 1 0 1 0 s5E
0 1 1 0 0 s6E
0 1 1 1 1 s7E
1 0 0 0 1 s8E
1 0 0 1 0 s9E
1 0 1 0 0 s10E
1 0 1 1 1 s11E
1 1 0 0 0 s12E
1 1 0 1 1 s13E
1 1 1 0 1 s14E
1 1 1 1 0 s15E
Si on met E=1 alors F égale à la somme des sorties a 1

4
Circuits combinatoires 2015/2016
I.3 Le codeur (encodeur)
C’est un circuit à 2n entrées et n sorties, il génère un code binaire équivalent au numéro d’une entrée
activée.
Exemple : Encodeur 42

e3 e2 e1 e0 S1 S0
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 1
0 0 1 1 0 1
0 1 0 0 1 0
0 1 0 1 1 0
0 1 1 0 1 0
0 1 1 1 1 0
1 0 0 0 1 1
1 0 0 1 1 1
1 0 1 0 1 1
1 0 1 1 1 1
1 1 0 0 1 1
1 1 0 1 1 1
1 1 1 0 1 1
1 1 1 1 1 1
Après simplification on obtient :
𝑆1 = 𝑒2 + 𝑒3 𝑒𝑡 𝑆0 = 𝑒3 + 𝑒̅2 𝑒1

Applications du codeur
 Claviers des calculatrices ; télécommandes où il transforme une touche appuyée du clavier en
code binaire équivalent (code ASCII en cas de clavier d’ordinateur).
 Matérialisation des devers circuits logiques.
I.4 Le décodeur
C’est un circuit à n entrées et 2n sorties, il active la sortie
qui porte le numéro équivalent au nombre binaire entré
et tandis que les autres sorties sont inactives (restent à
zéro)
L’entrée V active ou désactive le décodeur
Exemple : décodeur 24

5
Circuits combinatoires 2015/2016
V e1 e0 S3 S2 S1 S0
0 x x 0 0 0 0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0

𝑆0 = 𝑉𝑒̅1 𝑒̅0 𝑒𝑡 𝑆1 = 𝑉𝑒̅1 𝑒0 𝑒𝑡 𝑆2 =


𝑉𝑒1 𝑒̅0 𝑒𝑡 𝑆3 = 𝑉𝑒1 𝑒0

Exercice : réaliser un décodeur 38 à l’aide d’un DEMUX 18


Solution :

Applications d’un décodeur


 Permet de sélectionner l’opération à exécuter dans l’UAL.

6
Circuits combinatoires 2015/2016
 Ou dans n’importe quelle machine.
Exemple : machine à laver automatique

I.5 Le comparateur
C’est un circuit qui permet de faire la comparaison entre deux nombres binaires, il a comme sorties :
Fe (A=B), Fi(A<B) et Fs(A>B)

I.5.1 Comparateur à un bit


Table de vérité
A B Fi Fe Fs
0 0 1
0 1 1
1 0 1
1 1 1
̅
𝐹𝑖 = 𝐴𝐵 𝑒𝑡 𝐹𝑠 = 𝐴𝐵̅ 𝑒𝑡 𝐹𝑒 = 𝐴̅𝐵̅ + 𝐴𝐵 = ̅̅̅̅̅̅̅̅
𝐴 ⊕ 𝐵 = ̅̅̅̅̅̅̅̅̅̅
𝐹𝑠 + 𝐹𝑖

Exercice : réaliser un comparateur à deux bits par :


1. Des portes logiques
2. Des comparateurs à un bit et des portes logiques
Réponse 2
Soit A=a1a0 et B=b1b0
Il faut utiliser deux comparateurs à un bit et faire la comparaison entre a1 et b1 d’une part et entre a0 et
b0 d’autre part.
7
Circuits combinatoires 2015/2016
A=B si (a1=b1) et (a0=b0)
A<B si (a1<b1) ou [(a1=b1) et (a0<b0)]
A>B si (a1>b1) ou [(a1=b1)et (a0>b0)]

I.6 L’additionneur
C’est un circuit qui calcule la somme de deux nombres binaires et retourne un résultat binaire.
I.6.1 Demi-additionneur
C’est un circuit qui fait la somme de deux nombres binaires sur un bit chacun et retourne deux sorties :
S : résultat de l’addition.
R : retenue de l’addition.
A B R S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

𝑅 = 𝐴𝐵 𝑒𝑡 𝑆 = 𝐴 ⊕ 𝐵

I.6.2 Additionneur complet à un bit


Lorsqu’on fait la somme binaire on additionne successivement des couples de deux bits équivalents
ainsi que la retenue du couple précèdent, donc un additionneur complet fait l’addition de trois bits

8
Circuits combinatoires 2015/2016
I.6.3 Additionneur à N Bits

9
Introduction à l’architecture des ordinateurs 2015/2016

II Deuxième chapitre : introduction à l’architecture des


ordinateurs
Le mot ordinateur a été créé en 1955 pour désigner une machine capable
d’exécuter n’importe quel algorithme fournit sous forme de programme sur
n’importe quelle donnée discrète fournit, dans la limite de ses capacités en
espace mémoire et en vitesse de calcul. Il se distingue d’une machine à
calculer par sa capacité à enchainer plusieurs opérations complexes en
suivant des instructions paramétrables

II.1 Composants d’un ordinateur


Un ordinateur est constitué de :
1. Une unité centrale (UC) ou microprocesseur.
2. Des mémoires, parmi lesquelles on distingue :
 La mémoire ROM (Read Only Memory) : mémoire à accès en lecture
seule, ensemble de bits dont l’état est fixé une fois pour toute lors de
la construction de l’ordinateur, elle sert à stocker des informations
permanentes (procédures de démarrage).
 La mémoire RAM : ou mémoire vive (Random Acces memory) mémoire
à accès direct : ensemble de bits modifiables où sont stockées les
données sur lesquelles travail l’ordinateur.
3. Des périphériques d’entrée et/ou de sortie : Écran, Imprimante, Baffles,
Webcam, Souris, Clavier, Manette de jeu, Mémoire externe, scanner, ….
4. Des bus pour relier les trois précédents.
Ces composants peuvent être schématisés par :

Unité
Périphériques Centrale Périphériques de
d’entrée + sortie
Mémoires

II.2 Architecture de Von Neumann


L’organisation matérielle des ordinateurs usuels suit une architecture dite de
Von Neumann, son originalité est de stocker les données et les instructions dans
la même mémoire, Dans celle-ci :
 La RAM : sert à stocker les données et les programmes.
 Unité de commande donne les ordres et synchronise l’exécution des
opérations dans l’unité de traitement du processeur central.

Unité centrale
Instructions
Horloge Unité de commande
Mémoire
Ordres Données centrale RAM
Unité de traitement /résultats

9
Introduction à l’architecture des ordinateurs 2015/2016

II.2.1 La mémoire vive RAM


Elle est composée d’une suit de mots mémoire qui sont adresse Mot mémoire
des suites de bits de taille fixe, chaque mot mémoire est 0000 1 octet 1 octet
identifié par son adresse qui est un code binaire. 0001
Exemple: RAM de 16 mots de deux octets chacun avec 0010
des adresses de 0 à 15 codées sur quatre bits. 0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

II.2.2 L’unité de commande


Elle est composée de deux registres :
 Le compteur ordinal (CO) : stocke l’adresse de l’instruction à exécuter, sa taille est identique à
celle d’une adresse mémoire.
 Le registre d’instruction (RI) : stocke l’instruction en cours d’exécution, sa taille est égale à celle
d’un mot mémoire.

CO (4bits)

RI (16 bits)

Le RI code l’instruction en cours comme suit :

Code opération Adresse donnée 1 Adresse donnée 2 Adresse résultat

Exemple : en supposant que les opérations de base sont codées 0000 pour l’addition, 0001 pour la
multiplication, 0010 pour la soustraction et 0011 pour la division, « 0011 1001 0011 0001 » est
l’instruction effectuant la division entre le mot mémoire d’adresse 9 avec celui d’adresse 3 et stockant le
résultat dans le mot d’adresse 1.

10
Introduction à l’architecture des ordinateurs 2015/2016

II.2.3 L’unité de traitement


Elle exécute des opérations de base et est composée de :
 Trois registres : deux servant à stocker les données donnée1
et donnée2 ainsi que le résultat de l’opération arithmétique,
leur taille est celle d’un mot mémoire.
 L’unité arithmétique et logique (UAL) capable, quand on lui
fournit le code d’une opération arithmétique de prendre les
contenus des deux premiers registres et de remplir le
troisième par le résultat.
II.3 L’unité centrale en œuvre
Exécuter un programme revient à exécuter ces instructions une par
une en commençant par mise de sa première instruction dans le CO, l’exécution d’une instruction
élémentaire se fait suivant un cycle de trois phases :
 Phase1 : l’instruction courante dont l’adresse est stockée dans le CO est recopiée dans le RI en
transitant par le bus « instruction ».
 Phase2 : cette instruction courante est décodée à destination de l’UAL, ainsi que le bus
« Ordres » transfère le code de l’opération et le bus « données/résultats » transfère dans les
registres donnée1 et donnée2 le contenu des mots mémoires associés.
 Phase3 : l’UAL exécute l’opération en mettant à jour son registre « résultats » et transfère le
résultat dans la mémoire centrale en utilisant le bus « données/résultats ».
Par ailleurs le CO est automatiquement incrémenté, un nouveau cycle peut commencer alors pour la
nouvelle instruction.
Exemple
 État initial

11
Introduction à l’architecture des ordinateurs 2015/2016

 Phase1

 Phase2

 Phase3

12
Les circuits séquentiels 2015/2016

III Troisième chapitre : Les circuits séquentiels


III.1 Définitions
III.1.1 Circuit séquentiel
Un circuit séquentiel est un circuit dont les sorites dépendent non
seulement de l’état des entrées mais aussi de l’état antérieur de
certaines sorties (notion de mémorisation). C’est un circuit dont le
temps intervient dans la définition des sorties.
III.1.2 Horloge
Composant passant régulièrement et indéfiniment d’un niveau haut (1) à un niveau bas (0) par la génération
simultanée des impulsions des signaux électriques.

T= la durée d’une période ; Fréquence=1/T (Hertz)


III.1.3 Logique asynchrone
Les changements d’état des composants ne dépendent que du temps de réaction des composants et du temps
de propagation des signaux.
III.1.4 Logique synchrone
Les signaux périodiques d'une horloge servent à synchroniser tous les changements d’état.

III.2 Les bascules (flip-flop)


Système bistable (deux états ‘0’ et ‘1’) permettant de mémoriser une
information élémentaire, il représente une mémoire à 1 bit ayant 2 états :
𝑄 𝑒𝑡 𝑄̅ , il utilise un mécanisme de verrou (latch)
➢ On peut vérifier que les états sont cohérents
(𝑄 = 1) ⟹ (𝐵 = 1) ⟹ (𝑄̅ = 0) ⟹ (𝐴 = 0) ⟹ (𝑄 = 1)
Et (𝑄 = 0) ⟹ (𝐵 = 0) ⟹ (𝑄̅ = 1) ⟹ (𝐴 = 1) ⟹ (𝑄 = 0)
III.2.1 Bascules RS asynchrone (Reset; Set)
C’est une bascule a deux entrées R (Reset : remise à zéro) et S (Set : mise à un)
tels que :
 Qt+1=Qt si les deux entrées sont inactives
 Qt+1=1 si S est active seule
 Qt+1=0 si R est active seule
 Un cas à éviter si les deux entrées sont actives à la fois parce dans ce cas on obtient :
𝑄𝑡+1 = ̅̅̅̅̅̅
𝑄𝑡+1 = 0

13
Les circuits séquentiels 2015/2016

III.2.2 La bascule RSH


C’est une bascule RS synchronisée par un signal d’horloge H (niveau haut en
général). Cette bascule souffre toujours d’un état interdit et elle a un état de
mémorisation en plus.
III.2.2.1 Bascule RSH en niveau haut (H=1)
 Lorsque H=0, la bascule est dans l'état mémoire.
 Lorsque H =1, la bascule fonctionne comme une bascule RS.
H R S 𝑄+ 𝑄 ̅̅̅̅̅
+
0 X X 𝑄 𝑄̅
1 0 0 𝑄 𝑄̅
1 0 1 1 0
1 1 0 0 1
1 1 1 x x

14
Les circuits séquentiels 2015/2016
III.2.2.2 Bascule RSH en niveau bas (H=0)
 Lorsque H=1, la bascule est dans l'état mémoire.
 Lorsque H =0, la bascule fonctionne comme une bascule RS.

H R S 𝑄+ ̅̅̅̅̅
𝑄 +
1 X X 𝑄 𝑄̅
0 0 0 𝑄 𝑄̅
0 0 1 1 0
0 1 0 0 1
0 1 1 x x

III.2.3 La Bascule D (Data)


C’est une bascule conçue sur le même principe que la RSH. Elle est obtenue à partir d'une bascule RSH en ne
considérant que les deux combinaisons (R,S) = (0,1) et (1,0). Les entrées R et S sont remplacé par 𝐷 ̅ 𝑒𝑡 𝐷 ,
d’où elle ne traite pas les cas (0,0) et (1,1), d’où elle élimine le deuxième cas de mémorisation et le cas interdit
de la bascule RSH. Il existe deux types de bascule D selon le mode de synchronisation :
 Bascule D active sur le niveau (Bascule D-Latch)
 Bascule D active sur le front (Bascule Normale)
III.2.3.1 Bascule D-Latch : fonctionne sur le niveau (haut H=1).
H D 𝑄+ 𝑄 ̅̅̅̅̅
+
0 X 𝑄 ̅
𝑄
1 0 0 1
1 1 1 0
Cette table de vérité peut être interprétée comme suit :
Si H=0 alors Q+=Q (mémorisation)
Si H=1 alors Q+=D, donc on peut représenter sa table de vérité de la manière suivante :
H 𝑄+ 𝑄 ̅̅̅̅̅
+
0 𝑄 ̅
𝑄
1 D ̅
𝐷

Exercice : réalisez une bascule D-latch à l’aide d’un multiplexeur 21

En niveau haut en niveau bas

15
Les circuits séquentiels 2015/2016
III.2.3.2 Bascule D Normale
Pour cette bascule l'information doit être stable juste avant l'arrivée du front
montant de l'horloge

III.2.4 Bascule JK (Jump Knock out)


C’est une bascule synchrone (généralement en front d’horloge), offrant les
fonctions : mémorisation, mise à 0, mise à 1 (les 3 fonctions de la bascule D), et
assurant en plus la fonction basculement (inversement des sorties).
La bascule JK est la bascule la plus complète, offrant tous les modes de
fonctionnement que l’on peut demander à une bascule.
III.2.4.1 Bascule JK en front montant
H J K 𝑄+ ̅̅̅̅
𝑄+ Observation
0/1 x x 𝑄 𝑄̅ Mémorisation
↑ 0 0 𝑄 𝑄̅ Mémorisation
↑ 0 1 0 1 Mise à 0
↑ 1 0 1 0 Mise à 1
↑ 1 1 ̅
𝑄 𝑄 Basculement

16
Les circuits séquentiels 2015/2016
Pour représenter Q+ en fonction de J et K on doit établir sa table de vérité détaillée comme suit :
Entrées Sortie
J K Q Q+
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

III.2.5 La bascule T (Toggle=basculer)


C’est une bascule qui fonctionne généralement en front de l’horloge avec une
entrée T, elle a seulement deux fonctions : mémorisation (𝑄+ = 𝑄) si T=0 et
basculement (𝑄+ = 𝑄̅ ) si T=1.
H T 𝑄+ ̅̅̅̅
𝑄+ observation
0/1 X 𝑄 𝑄̅ État mémoire
↑ 0 𝑄 𝑄̅ Mémorisation
↑ 1 ̅
𝑄 𝑄 Basculement
 Remarque: lorsque T=1, la sortie Q est de période 2
fois plus longue que celle de H, en effet, il faut 2
fronts montant de H pour obtenir celui que Q. C'est
pour cela que l'on lui donne aussi le nom de diviseur
de fréquence par 2
 Réalisation d’une bascule T à l’aide :
d’une bascule JK à l’aide d’une bascule D

Exemple : réalisez une bascule T à l’aide d’un


Mux 21 en front montant

17
Les circuits séquentiels 2015/2016
III.3 Déclenchement d’une bascule
Synchronisation

sur niveau sur front


par impulsion
d'horloge d'horloge

front
niveau haut H=1 niveau bas H=0 front montant
descendant

III.3.1 Déclenchement sur niveau


Les entrées sont prises en compte pendant un niveau fixé de l’horloge (H = 1 ou H = 0).
 Niveau haut : le signale H est utilisé directement
 Niveau bas : le signale H est utilisé avec un inverseur (généralement)
III.3.2 Déclenchement sur front
Les entrées sont prises en compte pendant un front de l’horloge qui est le moment de passage d’un niveau à
autre (quelques nanosecondes).
 Front montant : le moment du passage du niveau bas au niveau haut, un circuit est utilisé pour détecter
ce passage appelé détecteur du front montant. L’inverseur introduit un retard de quelques
nanosecondes de sorte que le front de ̅̅̅̅̅
CLK a lieu légèrement plus tard que celui de CLK.

 Front descendant : le moment du passage du niveau haut au niveau bas, un circuit est utilisé pour
détecter ce passage appelé détecteur du front descendant.

18
Les circuits séquentiels 2015/2016
III.3.3 Déclenchement sur impulsion
Ce type de synchronisation est utilisé dans les bascules maître-esclaves où le changement des sorties a eu lieu
pendant la transition complète d’une impulsion d’horloge.
III.4 Analyse d’un circuit séquentiel
L’analyse d’un circuit séquentiel est basée sur la théorie des automates finis
III.4.1 Automate fini
Un automate fini possède un nombre fini d’éléments et de mémoires.
Un automate fini ne peut prendre que 2m états appelés états internes, où m est le nombre de bits de mémoire.
On peut caractériser un automate par :
 Sa fonction de transfert
 Sa table de transition
 Son diagramme d’états ou de transitions
III.4.2 Analyse
L’analyse du circuit séquentiel consiste à trouver les équations caractéristiques ou les diagrammes temporels
qui décrivent le travail du circuit séquentiel. En d’autres termes, trouver les états futurs et les sorties du circuit
séquentiel en fonction de ces entrées et ces états présents. On suit pour une démarche à 5 étapes :
1. Déterminer les équations des entrées aux bascules.
2. Substituer les équations des entrées dans les équations caractéristiques des bascules pour obtenir les
équations de transition.
3. Trouver les équations des sorties en fonction des entrées et de l’état actuel des bascules.
4. Trouver la table caractéristique du circuit qui contient 4 colonnes montrant l’état actuel des bascules,
les entrées (X1, X2, ..., Xn), les états futures et les sorties.
Les entrées L’état présent Les entrées des L’états suivant Les sorties
bascules

5. Trouver la table de transitions (table d’états)


L’état L’état suivant Les sorties
er
présent 1 cas d’entrée 2ième cas d’entrée… er
1 cas d’entrée 2ième cas d’entrée…

6. Trouver le diagramme de transition du circuit qui est une autre forme de la table de transitions qui
permet de faciliter le suivi de l’état du circuit séquentiel et qui contient 2m cercles représentant les
différents états possibles des bascules reliées entre elles par des liens montrant les conditions de
passage d’un état à un autre (entrées / sorties).

Etat i Etat k
Entrées/sorties

19
Les circuits séquentiels 2015/2016
Exemple1 : analyse du circuit suivant :

1. Les équations des entrées des bascules :


𝐷𝐴 = 𝑋 ∙ 𝐴 + 𝑋 ∙ 𝐵 = 𝑋 ∙ (𝐴 + 𝐵)
𝐷𝐵 = 𝑋 ∙ 𝐴̅
2. Les équations caractéristiques des bascules :
Rappelons que dans une bascule D la sortie Q+=D, (voir la section III.2.3), donc :
𝐴+ = 𝐷𝐴 = 𝑋 ∙ (𝐴 + 𝐵)
𝐵+ = 𝐷𝐵 = 𝑋 ∙ 𝐴̅
3. Les équations de sorties : 𝑌 = 𝑋̅(𝐴 + 𝐵)
4. Table d’état :
Entrées États présents États futurs Sorties
X A B A+ B+ Y
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 0 1
0 1 1 0 0 1
1 0 0 0 1 0
1 0 1 1 1 0
1 1 0 1 0 0
1 1 1 1 0 0
5. Diagramme de transition :

20
Les circuits séquentiels 2015/2016

Exemple2 : analyse du circuit suivant :

1. Les équations des entrées des bascules


𝐷 = 𝑄𝐵 (𝑋 + 𝑄𝐴 ) ; 𝐾 = 𝑋̅ ; 𝐽 = 𝑋 ⊕ ̅̅̅̅ 𝑄𝐴
2. Les équations caractéristiques des bascules
On a pour la bascule D : Q+=D donc 𝑄𝐴+ = 𝐷 = 𝑄𝐵 (𝑋 + 𝑄𝐴 )
On a pour la bascule JK : 𝑄+ = 𝐽𝑄̅ + 𝐾 ̅ 𝑄 (voir la section III.2.4.1)
𝑄𝐵+ = 𝐽𝑄𝐵 + 𝐾 𝑄𝐵 = (𝑋 ⊕ 𝑄𝐴 ). 𝑄𝐵 + 𝑋𝑄𝐵 = 𝑋̅. ̅̅̅̅
̅̅̅̅ ̅ ̅̅̅̅ ̅̅̅̅ 𝑄𝐴 . ̅̅̅̅
𝑄𝐵 + 𝑋𝑄𝐴 . ̅̅̅̅
𝑄𝐵 + 𝑋𝑄𝐵
̅̅̅̅ ̅̅̅̅ ̅̅̅̅ ̅̅̅̅ ̅̅̅̅
= 𝑋(𝑄𝐵 + 𝑄𝐴 𝑄𝐵 + 𝑋. 𝑄𝐴 . 𝑄𝐵 = 𝑋(𝑄𝐵 + 𝑄𝐴 + 𝑋. 𝑄𝐴 . 𝑄𝐵 = 𝑋(𝑄𝐵 + 𝑄𝐴 ) + 𝑋̅. (𝑄
) ̅ ) ̅ ̅̅̅̅̅̅̅̅̅̅̅
𝐵 + 𝑄𝐴 )
= ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
𝑋 ⊕ (𝑄𝐵 + 𝑄𝐴 )
3. Les équations de sorties : 𝑌 = 𝑋𝑄𝐴 + 𝑋̅𝑄𝐵
4. La table d’état

Entrées États présents États futurs Sorties


X QA QB QA+ QB+ Y
0 0 0 0 1 1
0 0 1 0 0 0
0 1 0 0 0 0
0 1 1 1 0 0
1 0 0 0 0 0
1 0 1 1 1 1
1 1 0 0 1 0
1 1 1 1 1 1
5. Diagramme de transitions

21
Les circuits séquentiels 2015/2016

Exercice : analysez le circuit suivant :

III.5 Conception d’un circuit séquentiel


III.5.1 Généralités
Lors de la conception d’un circuit séquentiel, on part du diagramme d’état ou de la table d’état pour obtenir le
circuit séquentiel correspondant qui contient deux parties :
 une partie purement combinatoire
 un ensemble de bascules en nombre de m (le plus petit entier supérieur ou égal de log2(N), où N est le
nombre d’états différents).
Le type de bascule est déterminé en fonction du fonctionnement du circuit, et en général on choisit :
 la bascule T ou JK pour la conception des compteurs,
 la bascule D pour la conception des registres et mémoire,
 les bascules RS et JK pour les problèmes d’ordre général.
On préfère toujours l’utilisation des bascules T et D pour leurs simplicités (ils disposent d'une seule entrée).
III.5.2 Étapes de conception d’un circuit séquentiel
1. Comprendre le fonctionnement du circuit et le traduire éventuellement en un diagramme de transition.
2. Détermination de la table d’état qui montre les états futurs et les sorties en fonction des entrées et des
états présents.
3. Réduction du nombre d’états.
4. Détermination du nombre de bascules nécessaires et donner un nom à chacune.
5. Détermination du type de bascules et de la table d’excitation du circuit.

6. Détermination des équations d’entrées des bascules et des équations de sorties.


7. Conception (dessin) du circuit (du logigramme) désiré.

22
Les circuits séquentiels 2015/2016

Exemple : réalisez un compteur modulo 8 à l’aide des bascules T

Table d’excitation
Q2 Q1 Q0 Q2+ Q1+ Q0+ T2 T1 T0
0 0 0 0 0 1 0 0 1
0 0 1 0 1 0 0 1 1
0 1 0 0 1 1 0 0 1
0 1 1 1 0 0 1 1 1
1 0 0 1 0 1 0 0 1
1 0 1 1 1 0 0 1 1
1 1 0 1 1 1 0 0 1
1 1 1 0 0 0 1 1 1
Après simplification on trouve :T2=Q1Q0 ; T1=Q0 ; T0=1
Logigramme :

Réalisation du même circuit avec des bascules JK


Table d’excitation

Q2 Q1 Q0 Q2+ Q1+ Q0+ J2 K2 J1 K1 J0 K0


0 0 0 0 0 1 0 X 0 X 1 X
0 0 1 0 1 0 0 X 1 X X 1
0 1 0 0 1 1 0 X X 0 1 X
0 1 1 1 0 0 1 X X 1 X 1
1 0 0 1 0 1 X 0 0 X 1 X
1 0 1 1 1 0 X 0 1 X X 1
1 1 0 1 1 1 X 0 X 0 1 X
1 1 1 0 0 0 X 1 X 1 X 1

23
Les circuits séquentiels 2015/2016

Simplification

III.6 Initialisation des bascules


Les bascules sont initialisées par deux entrées prioritaires :
CLEAR : pour remise à zéro ; PRESET : pour remise à un, donc une telle bascule fonctionne en niveau haut
selon la table de vérité suivante :
CLEAR PRESET Q+ ̅̅̅̅
𝑄+ Observation
0 0 La bascule fonctionne normalement, en fonction de l’horloge et ses entrées
0 1 1 0 Remise à 1 prioritaire
1 0 0 1 Remise à 0 prioritaire
1 1 Q ̅̅̅̅
𝑄 Mémorisation

Exemple : schéma d’une bascule JK avec fonction d’initialisation

24
Les compteurs 2015/2016

IV Les compteurs
IV.1 Introduction
La fonction de comptage est
utilisée à chaque fois qu’on veut
dénombrer des évènements

IV.2 Définition
Un compteur est un système
séquentiel qui possède N états
différents (appelé compteur modulo N).
A chaque top d’horloge le compteur passe de l’état Ei à l’état Ei+1 d’une manière cyclique jusqu'à
revenir à l’état initial E0.
Un compteur est constitué de n Bascules (avec 2n≥N).
Notons que : Une bascule peut avoir 2 états différents à sa sortie (0 et 1), et peut donc permettre de
compter de 0 à 1. Avec 2 bascules on peut avoir jusqu’à 4 états différents : 00, 01, 10 et 11, ce qui
permet de compter de 0 à 3 en binaire naturel. Avec 3 bascules on a 8 états (de 000 à 111), et en général
avec n bascules on a 2n états : on peut donc compter de 0 à 2n-1.
Il reste à trouver comment doivent être connectées les n bascules entre elles pour réaliser un compteur,
sachant qu’il existe plusieurs types de compteurs, et donc plusieurs techniques de réalisation.
Remarque : un compteur qui compte à partir de 23 jusqu'à 25 est un compteur modulo 3 car il possède
trois état différents : 23 ; 24 ; 25 et il est réalisable à l’aide de deux bascules.
IV.3 Classification des compteurs
Les compteurs sont classés selon plusieurs critères :
Classification
des compteurs

Selon le nombre
Selon le sens du Selon le type de Selon de type de Selon le mode
d'etats
comptage sortie synchronisation de comptage
(modulo2,3,4,...)

Progressif
Binaire Synchrone Cycle complet
(compteur)

Regressif
Gray Asynchrone Cycle incomplet
(décompteur)

BCD

.....

25
Les compteurs 2015/2016
IV.3.1 Selon le sens du comptage
IV.3.1.1 Progressif (compteur)
Lors du passage d’un état à autre la sortie est incrémentée par 1 : Ei+1=Ei+1.
Exemple : 000 ; 001 ; 010 ; 011 ; 100 ; 101 ; 110 ; 111 ; 000 ; 001 ;…
IV.3.1.2 Régressif (décompteur)
Lors du passage d’un état à autre la sortie est décrémentée par 1 : Ei+1=Ei-1
Exemple : 000 ; 111 ; 110 ; 101 ; 100 ; 011 ; 010 ; 001 ; 000 ; 111 ;…
IV.3.2 Selon le type de sortie
La sortie d’un compteur peut être représentée en binaire, en Gray, BCD,...
IV.3.3 Selon le type de synchronisation
IV.3.3.1 Compteur synchrone
Les bascules qui composent le compteur sont synchronisées par la même horloge. Toutes les sorties
changent d’état simultanément. Ce type de compteurs est réalisé généralement par n’importe quel type
de bascules.
Exemple :

IV.3.3.2 Compteur asynchrone


Les bascules sont synchronisées indépendamment, en générale une horloge principale synchronise la
première bascule (poids faible), alors que les autres sont synchronisées par des fonctions logiques des
sorties du reste des bascules. Les sorties ne changent pas d’état en même temps en raison du temps de
propagation propre à chaque bascule (ce qui peut entrainer des dysfonctionnements). Ce type de
compteurs est réalisé généralement par des bascules qui possèdent la fonction ‘Basculement’ (bascule
JK ou T).
Exemple :

26
Les compteurs 2015/2016
IV.3.4 Selon le nombre d’états
Appelé aussi le Modulo du compteur, c’est le nombre de cas différents générés par le compteur.
IV.3.5 Selon le mode de comptage
IV.3.5.1 Cycle complet
Le compteur génère tous les états de sortie (combinaisons) possibles avant de revenir à l’état initial.
Exemple : compteur modulo 8 avec 3 bits :000 ;001 ;010 ;011 ;100 ;101 ;110 ;111 ;000 ;001 ;…
IV.3.5.2 Cycle incomplet
Le compteur recommence à partir de l’état initial avant d’atteindre toutes les combinaisons possibles.
Exemple : compteur modulo 6 avec 3 bits : 000 ; 001 ; 010 ; 011 ; 100 ; 101 ; 000 ; 001 ;…
Les compteurs a cycle incomplet asynchrones sont réalisés généralement avec des bascules qui
possèdent l’option ‘initialisation prioritaire’ (bascules avec les options : Clear et Preset, voir la
section : III.6).
IV.4 Exemples de compteurs
IV.4.1 Compteur asynchrone a cycle complet à 3 bits
C’est un compteur modulo 23 (de 0 à 7), les bascules sont connectées en cascade, la première bascule
(poids faible) reçois le signale d’horloge pour la synchronisation, la deuxième reçoit comme signale de
synchronisation la sortie de la première bascule et ainsi de suite (en générale la bascule i est
synchronisée par la sortie de la bascule i-1).
Table d’états

Chronogramme

Analyse : Réalisation avec des bascules T


Nous remarquons que :
 A chaque front descendant de H, Q0 fait un basculement :𝑄0+ = ̅̅̅
𝑄0 T0=1 ; Donc H représente
l’horloge de la bascule 0.
̅̅̅1T1=1 ; Donc Q0 représente
 A chaque front descendant de Q0, Q1 fait un basculement : 𝑄1+ = 𝑄
l’horloge de la bascule 1.
 A chaque front descendant de Q1, Q2 fait un basculement : 𝑄2+ = ̅̅̅
𝑄2T2=1 ; Donc Q1 représente
l’horloge de la bascule 2.
27
Les compteurs 2015/2016

Logigramme :

IV.4.2 Décompteur asynchrone a cycle complet à 3 bits


C’est un décompteur modulo 23 (de 7 à 0), les bascules sont connectées en cascade, la première bascule
(poids faible) reçois le signale d’horloge pour la synchronisation, la deuxième reçoit comme signale de
synchronisation la sortie complémentaire de la première bascule et ainsi de suite (en générale la bascule
i est synchronisée par la sortie complémentaire de la bascule i-1).
Table d’états

Chronogramme

Analyse : Réalisation avec des bascules T


Nous remarquons que :
 A chaque front descendant de H, Q0 fait un basculement :𝑄0+ = ̅̅̅
𝑄0 T0=1 ; Donc H représente
l’horloge de la bascule 0.

28
Les compteurs 2015/2016
 A chaque front descendant de ̅̅̅
𝑄0 , Q1 fait un basculement : 𝑄1+ = 𝑄̅̅̅1T1=1 ; Donc ̅̅̅
𝑄0 représente
l’horloge de la bascule 1.
̅̅̅1, Q2 fait un basculement : 𝑄2+ = ̅̅̅
 A chaque front descendant de 𝑄 𝑄2T2=1 ; Donc 𝑄 ̅̅̅1 représente
l’horloge de la bascule 2.
Logigramme

IV.4.3 Compteur asynchrone a cycle incomplet à 3 bits Modulo 6


Lorsque le modulo est inférieur à 2n , nous utiliserons des bascules avec fonction d’initialisation
Table de transition
valeur État présent État futur La fonction clear
Q2 Q1 Q0 Q2+ Q1+ Q0+ Clear2 Clear1 Clear0
0 0 0 0 0 0 1 0 0 0
1 0 0 1 0 1 0 0 0 0
2 0 1 0 0 1 1 0 0 0
3 0 1 1 1 0 0 0 0 0
4 1 0 0 1 0 1 0 0 0
5 1 0 1 0 0 0 0 0 0
6 1 1 0 x x x 1 1 1

Chronogramme

Calcul de la fonction Clear dans chaque bascule :


Nous remarquons que Clear2=Clear1=Clear0=Q2Q1

29
Les compteurs 2015/2016

Logigramme

IV.4.4 Compteur synchrone a cycle complet à 3 bits


C’est un compteur modulo 8 constitué de trois bascules synchronisées par le même signale d’horloge, il
peut être réalisé par n’importe quel type de bascules :
Réalisation avec la bascule D :
Table d’excitation
État présent État futur
valeur D2 D1 D0
Q2 Q1 Q0 Q2+ Q1+ Q0+
0 0 0 0 0 0 1 0 0 1
1 0 0 1 0 1 0 0 1 0
2 0 1 0 0 1 1 0 1 1
3 0 1 1 1 0 0 1 0 0
4 1 0 0 1 0 1 1 0 1
5 1 0 1 1 1 0 1 1 0
6 1 1 0 1 1 1 1 1 1
7 1 1 1 0 0 0 0 0 0

Calcul des équations de D2, D1 et D0 :

𝐷2 = ̅̅̅
𝑄2 𝑄1 𝑄0 + 𝑄2 ̅̅̅
𝑄0 + 𝑄2 ̅̅̅
𝑄1 ;
𝐷1 = 𝑄1̅̅̅ ̅̅̅1 𝑄0 = 𝑄1 ⨁𝑄0 ;
𝑄0 + 𝑄
𝐷0 = ̅̅̅
𝑄0

30
Les compteurs 2015/2016
Logigramme :

IV.4.5 Décompteur synchrone a cycle complet à 2 bits


C’est un décompteur modulo 4 constitué de deux bascules.
Réalisation avec des bascules RS
Table d’excitation
État présent État futur
valeur R1 S1 R0 S0
Q1 Q0 Q1+ Q0+
3 1 1 1 0 0 x 1 0
2 1 0 0 1 1 0 0 1
1 0 1 0 0 x 0 1 0
0 0 0 1 1 0 1 0 1
Calcul des équations des entrées R et S des deux bascules :
𝑅1 = 𝑄1 . ̅̅̅
𝑄0
̅̅̅ ̅̅̅
𝑆1 = 𝑄1 . 𝑄0
𝑅0 = 𝑄0
𝑆0 = ̅̅̅
𝑄0
Logigramme

31
Les compteurs 2015/2016
IV.4.6 Compteur synchrone a cycle incomplet à 3 bits Modulo 5
C’est un compteur composé de trois bascules synchronisées par le même signale d’horloge et qui
compte à partir du zéro jusqu'à quatre.
Réalisation avec des bascules JK
Table d’états
État présent État futur
valeur J2 K2 J1 K1 J0 K0
Q2 Q1 Q0 Q2 Q1+ Q0+
+

0 0 0 0 0 0 1 0 x 0 x 1 x
1 0 0 1 0 1 0 0 x 1 x x 1
2 0 1 0 0 1 1 0 x x 0 1 x
3 0 1 1 1 0 0 1 x x 1 x 1
4 1 0 0 0 0 0 x 1 0 x 0 x
Calcul des équations des entrées JK pour chaque bascule :

𝐽2 = 𝑄1 . 𝑄0 ; 𝐾2 = 1 ; 𝐽1 = 𝐾1 = 𝑄0 𝐽0 = ̅̅̅
𝑄2 ; 𝐾0 = 1

Logigramme

IV.4.7 Décompteur synchrone a cycle incomplet à 3 bits Modulo 5


C’est un décompteur composé de trois bascules synchronisées par le même signale d’horloge et qui
décompte à partir du quatre jusqu'à zéro.
Réalisation avec des bascules T
Table d’états :
État présent État futur
valeur T2 T1 T0
Q2 Q1 Q0 Q2+ Q1+ Q0+
4 1 0 0 0 1 1 1 1 1
3 0 1 1 0 1 0 0 0 1
2 0 1 0 0 0 1 0 1 1
1 0 0 1 0 0 0 0 0 1
0 0 0 0 1 0 0 1 0 0

32
Les compteurs 2015/2016
Calcul des équations des entrées de chaque bascule :

̅̅̅1 . ̅̅̅
𝑇2 = 𝑄 𝑄0 𝑇1 = 𝑄1 . ̅̅̅
𝑄0 + 𝑄2 𝑇0 = 𝑄2 + 𝑄1 + 𝑄0
Logigramme

33
Les registres 2015/2016

V Les registres
V.1 Définition
Un registre est un ensemble de cellules mémoires constituées par des bascules.
Le contenu d'un registre peut donc être considéré comme un nombre binaire ou un "mot" de n bits.
V.2 Applications
Les applications des registres sont nombreuses, parmi lesquelles :
 Stockage temporel de l’information
 Conversion série – parallèle
 Multiplication par une puissance de 2 (décalage vers la gauche).
 Division par une puissance de 2 (décalage vers la droite).
V.3 Types des registres
V.3.1 Registre de mémorisation
La fonction d'un tel registre est de "stocker / mémoriser" un mot de n bits.
Exemple de réalisation (à l'aide de bascules D) : chacune des cellules est une bascule D.
La sortie du registre mémorise le mot d'entrée tant que H = 0 ou 1. Lorsque l'horloge présente un front
montant, les données en sortie sont actualisées. Le registre peut être initialisé grâce aux entrées de
forçage asynchrone qui peuvent forcer les sorties des bascules à 0 ou à 1.
Exemple de registre de mémorisation :

Les entrées présentées sur E0, E1, E2, E3 sont mémorisées en synchronisation avec le signal W (Write).
Elles peuvent être lues sur les sorties Q0, Q1, Q2, Q3 en coïncidence avec le signal R (Read).

V.3.2 Registre à décalage


Ce type de registre sert à décaler tous les bits d’un mot d’un ou plusieurs crans vers la droite ou vers la
gauche. Il est constitué d’une série de bascules en cascade, où la sortie d’une bascule est branchée à
l’entrée de la bascule suivante. Ces systèmes peuvent être utilisés pour effectuer des multiplications ou
divisions par une puissance de 2, ou encore pour effectuer une conversion série – parallèle.
Exemple d'application : la multiplication par 2n
Soit N = 3 = 0011
2. N = 6 = 0110
2. (2.N) = 12 =1100

34
Les registres 2015/2016
On constate que pour effectuer la multiplication d'un nombre par 2 il suffit de décaler tous les bits du
nombre de 1 cran vers la gauche (vers les bits de poids fort).
De la même façon, pour réaliser la division d'un nombre par 2 il suffit de décaler tous les bits du nombre
de 1 cran vers la droite (vers les bits de poids faible).
Exemple de registre a décalage :

V.3.2.1 Types d’entrées


 Série : l'information est présentée séquentiellement bit
après bit à la 1ère bascule. À chaque coup d'horloge, un
nouveau bit est présenté et ceux déjà chargés sont décalés
d'un rang.

 Parallèle : comme dans un registre de mémorisation.


V.3.2.2 Type de sorties
L’information stockée dans un registre à décalage peut être lue de la même manière, en série ou en
parallèle.
V.3.2.3 Sens de décalage
Le décalage peut se faire vers la droite ou vers la gauche. Certains registres sont capables de décaler à
droite ou à gauche selon le choix (registres à décalage universel).
V.4 Exemples de registres
V.4.1 Registre a entrées séries et sorties séries
 L’information est introduite bit par bit (en série).
 L'ensemble du registre est décalé d'une position (Bi, Bi+1) et la bascule B0 reçoit une nouvelle
entrée ES.
 Un tel registre est appelé registre à entrées séries à gauche et à sorties séries à droite.

35
Les registres 2015/2016

V.4.2 Registre a entrées séries et sorties parallèles

V.4.3 Registre a entrées parallèles et sorties parallèles


 Il peut charger une information sur N bits en même temps.
 Les n bascules changent d’états en même temps.
 Chaque bascule Bi prend la valeur de l’information i.
 Il possède une entrée de chargement chg ( chg=0  état mémoire, chg=1 chargement )

36
Les registres 2015/2016
V.4.4 Registre à décalage entrée parallèle et sortie parallèle
L'entrée D de chaque bascule est précédée d'un multiplexeur 2 vers 1.
Si l'entrée S/L (Shift =décalage /Load=chargement) est "1", on a : Di = Qi-1, au coup d'horloge, il y a
décalage à droite.
Si S/L est "0", Di = bit de poids i du nombre d'entrée ABCD, au coup d'horloge, Le nombre ABCD est
chargé dans QAQBQCQD.
Parmi les applications de ce genre de registre on trouve la conversion série-parallèle ou parallèle-série.
Dans le premier cas, le registre est placé en mode décalage (S/L=1), on charger le registre en série (4
coups d'horloge sont nécessaires), et on vient de lire le nombre de sortie QAQBQCQD.
Dans le deuxième cas, on commence par charger le nombre d'entrée ABCD dans le registre (S/L=0 suivi
d'un coup d'horloge), puis on repasse en mode décalage (S/L=1) et on envoie une suite de 4 coups
d'horloge, à chaque coup d'horloge, un bit est disponible sur la sortie série = QD.
Le mode de chargement parallèle décrit ci-dessus est dit chargement synchrone, car le chargement se
fait au front d'horloge qui suit le passage de S/L à "0".

37

Vous aimerez peut-être aussi