Académique Documents
Professionnel Documents
Culture Documents
ELEN3-NUM
Département GEII – IUT de NICE
05/03/2023 1
ELEN3:ELECTRONIQUE NUMÉRIQUE
Organisation 2022:
2 cours (2H) + 2 TD (2x2H) + 3TP (3x2H)
Objectifs:
Comprendre les bases de l’électronique numérique à savoir la logique
combinatoire et séquentielle.
Utiliser un circuit logique programmable CPLD et FPGA
Saisir , simuler et flasher des architectures logiques en saisie
graphique.
Paramétrer des fonctions logiques complexes à partir de modèles
logiques paramétrables (megawizard plug in manager)
Préparer la SAE roue de vélo électrique pour sa partie autopilotage de
moteur brushless.
05/03/2023 2
Les bases de l’électronique : silicium, Wafer, impuretées
• Le silicium (semi-conducteur)
3 électrons sur la
couche extérieure
• Le phosphore (impuretés N)
5 électrons sur la
couche extérieure
05/03/2023 3
Les bases de l’électronique : les cristaux de silicium
Vue atomique 3 D
liaison électrons sur
Si Si
covalente les couches
internes
Noyau
Si Si Si
05/03/2023 4
Les bases de l’électronique : dopage du silicium
05/03/2023 5
Les bases de l’électronique : La diode
05/03/2023 6
Les bases de l’électronique : le transistor NMOS
largeur de canal
5nm (Apple), 10nm(Intel),40nm (FPGA), 90nm (arduino)
05/03/2023 8
Les bases de l’électronique numérique : l’inverseur CMOS
• Si Vin=Vdd alors
– Vgs=Vdd (NMOS passant) et Vsg=Vdd-Vin=0V (PMOS bloqué) : Vout=0V
• Si Vin=0V alors
– Vgs=0V (NMOS bloqué) et Vsg=Vdd-Vin=Vdd(PMOS passant) : Vout=Vdd
Vdd
VSG
S
G D
Vin Vout
D
VGS S
in out
05/03/2023 9
Consommation électrique d’une porte CMOS
in out
passant
i
i=0 i=0
V1 V1
VDD 0V VDD
passant
05/03/2023 10
Charge et décharge d’un condensateur
PMOS passant
i(t) ϱϬё
i(t) G
VDD
VAB(t) isolant
VGS(t)
C=30pF
0V NMOS
S
Chronogramme de Vgs(t) et i(t) : charge et VDD
VAB(t)
décharge d’un condensateur de 30pF au travers VDD
une résistance de 50Ω à la fréquence 50MHz VGS(t)
charge du condensateur
courant de charge du
i(t) condensateur
05/03/2023 11
Les bases de l’électronique numérique : NAND et NOR
• NAND NOR
Vdd
A B Out A B Out
0 0 Vdd B 0 0 Vdd
0 Vdd Vdd 0 Vdd 0
Vdd 0 Vdd A
Out
Vdd 0 0
Vdd Vdd 0 Vdd Vdd 0
A B
Vss
05/03/2023 12
Les bases de l’électronique numérique : wafer et
circuits intégrés
Fabrication d’un wafer (image Intel)
https://www.youtube.com/watch?v=Q5paWn7bFg4
05/03/2023 13
Electronique combinatoire : l’additionneur
retenue
1 0 0 1 1 0 0 0 0
56 0 0 1 1 1 0 0 0
+ 181 +1 0 1 1 0 1 0 1
237 1 1 1 0 1 1 0 1
05/03/2023 14
Electronique combinatoire : l’additionneur 1 bit
• Avec une porte NOT, NAND et NOR on peut faire tout type
de circuits combinatoire, exemple un additionneur 1 bit…
05/03/2023 15
Electronique combinatoire : l’additionneur 1 bit
05/03/2023 16
Electronique combinatoire : l’additionneur 1 bit
• Résultat de simulation OK
0 0 1 0 1 1 1 1
0 1 0 1
+1 +1 +1 +1
1 0 0 1
05/03/2023 17
Electronique combinatoire : l’additionneur 8 bits
• input :
– A[7..0]
– B[7..0]
• output
– S[7..0]
05/03/2023 18
Electronique combinatoire : le complément A2
05/03/2023 19
Electronique combinatoire : Le multiplexeur 2 vers 1
05/03/2023 20
Electronique combinatoire : Le multiplexeur 2 vers 1
• input :
– IN0[7..0]
– IN1[7..0]
– sel
• output
– S[7..0]
05/03/2023 21
Electronique combinatoire : Unité de calcul
05/03/2023 22
Electronique séquentielle : La bascule RS à NOR
05/03/2023 23
Electronique séquentielle : La bascule D
Q<=D
Schéma interne
05/03/2023 24
Electronique séquentielle : division de fréquence par 2
05/03/2023 25
Electronique séquentielle : registre 8 bits
• input :
– D[7..0]
– clk
• output
– Q[7..0]
05/03/2023 26
Electronique séquentielle : compteur 8 bits
05/03/2023 27
Electronique numérique : générer une PWM
05/03/2023 28
ELEN3:Electronique Numérique: généralités
A B
données
Gestionnaire
d͛interruption 8 8
Décodeur 8 UAL
instruction RAM
d͛instruction
8
Zone de calcul donnée
mémoire microprocesseur 8
FLASH
05/03/2023 29
microcontrôleur ou microprocesseur ?
05/03/2023 30
ASIC ou FPGA ?
• ASIC FPGA
05/03/2023 31
La carte de développement DE0-Lite et le MAX 10
05/03/2023 32
La carte de développement DE0-Lite et le MAX 10
05/03/2023 33
Le circuit 10M50AF484C7G
05/03/2023 34
A l’intérieur du MAX10 : les LAB
05/03/2023 35
A l’intérieur des LAB : 16x LE (Logic Element)
05/03/2023 36
Schéma de principe d’un Elément logique dans un FPGA
• Principe d’un LE
05/03/2023 37
ELEN3:La logique COMBINATOIRE: LUT=LOOK UP TABLE:
Exemple de construction d’une LUT: La LUT dispose de 4 entrées D(msb)CBA(lsb)
On veut synthétiser la fonction combinatoire suivante: Y=D.C.B.A+D.C.B.A+D.C.B.A
On en déduit que 3 lignes de la table de
vérité activent la sortie Y à 1.
1 La colonne de sortie Y définit le LUT Mask
0 Le LUT Mask vaut:1000 0000 0000 1001
0 N° ligne D C B A Y
1 0 0 0 0 0 1
1 0 0 0 1 0
0
0 2 0 0 1 0 0
3 0 0 1 1 1
0
0 4 0 1 0 0 0
5 0 1 0 1 0
0 6 0 1 1 0 0
0 7 0 1 1 1 0
0 8 1 0 0 0 0
0 9 1 0 0 1 0
0 10 1 0 1 0 0
0 11 1 0 1 1 0
0 12 1 1 0 0 0
1 13 1 1 0 1 0
Empilage de 14 1 1 1 0 0
05/03/2023
mux 2>1 15
38 1 1 1 1 1
A l’intérieur du MAX 10 (exemple de notre ALU)
05/03/2023 39
AUTRE APPLICATION D’UNE TABLE LUT=LOOK UP TABLE
Exemple d’application avec un décodeur Binaire 4 bits> 7 Segments
On veut synthétiser la fonction combinatoire permettant de sélectionner 7
segments d’un afficheur LED à partir d’une valeur bin.4 bits (sorties actives low)
entrées sorties display
N° ligne D C B A a b c d e f g hexa
0 0 0 0 0 0 0 0 0 0 0 1 0x01
1 0 0 0 1 1 0 0 1 1 1 1 0x48
2 0 0 1 0 0 0 1 0 0 1 0 0x12
3 0 0 1 1 0 0 0 0 1 1 0 0x06
4 0 1 0 0 1 0 0 1 1 0 0 0x4C
5 0 1 0 1 0 1 0 0 1 0 0 0x28
6 0 1 1 0 0 1 0 0 0 0 0 0x20
7 0 1 1 1 0 0 0 1 1 1 1 0x3F
8 1 0 0 0 0 0 0 0 0 0 0 0x00
9 1 0 0 1 0 0 0 1 1 0 0 0x0C
10 1 0 1 0 0 0 0 1 0 0 0 0x08
11 1 0 1 1 1 1 0 0 0 0 0 0x60
12 1 1 0 0 0 1 1 0 0 0 1 0x31
13 1 1 0 1 1 0 0 0 0 1 0 0x42
14 1 1 1 0 0 1 1 0 0 0 0 0x30
15 1 1 1 1 0 1 1 1 0 0 0 0x38
La LUT est en fait une mémoire accessible en lecture seule (ROM) dont les données
représentent chaque sorties des lignes de la table de vérité à synthétiser. Un fichier
05/03/2023
Intel.mif sert au remplissage de cette mémoire ROM 40
LA LOGIQUE SÉQUENTIELLE: REGISTRES DE BASCULES D FLIP FLOP SÉRIE
• Ces bascules peuvent être montées en série avec une horloge commune.
• On fabrique ainsi un registre à décalage. L « entre de la première bascule
propagera de gauche à droite dans le registre à chaque front actif d’horloge.
Q sorties en //
Il s’agit en fait d’un dé-sérialisateur. Série=> //
c
D[3] D[2] D[1] D[0]
Axe du temps
Préchargement //
asynchrone du registre
de sérialisation
ELEN3:LA LOGIQUE SÉQUENTIELLE: REGISTRE À DÉCALAGE: SÉRIALISATEUR 4
Applications des sérialisateurs /désérialisateur sont les ports de communication série RS232
Les uC peuvent communiquer entre eux par une seule ligne série à l’aide d’une UART
(Universal Asynchronous Receiver Transceiver)
Partie
réception
Un autre registre à décalage désérialise
une trame série qui arrive via l’entrée
1001010 RX et la stocke dans le receive register
ELEN3:ÉVOLUTION DES CIRCUITS LOGIQUES: FPGA
Les FPGA contiennent des millions de portes logiques permettant de réaliser des
fonctions arithmétiques et des automates complexes comme des
microprocesseurs.
Ces microprocesseurs programmables basés sur des FPGA sont évolutifs (leur
micro code interne peut être mis à jour à postériori) pour éliminer des bugs de
conception ou rajouter des fonctionnalités nouvelles au registre d’instruction du uP
On peut créer des architectures logiques à partir de schémas graphiques ou à l’aide
de langages de description hardware (comme le langage VHDL par exemple).
Exemple
Code VHDL