c'est pour se prsenter les choses, images nombres, mots parls, par des symboles.
en design numrique: reprsentation BINAIRE - base 2 numrique: revient catgoriser tout avec 2 tats 1.1 Continu au discret
10
<5 0 0
>5 1 10
en ajoutant des 0 et des 1. Ici on a 8 nombres disponibles dans cette reprsentation. C'est en fait une conversion A/N! 000 001 010 011 100 101 110 111
Pourquoi
numriser?
On vit dans un monde numrique: calculs scientifiques, transactions banquaires, enregistrements numriques, bientt, la tlvision, "l'ge de l'information" l'ge du code binaire. -beaucoup d'avantages (+que d'inconvnient)
2 1 Les donnes numriques sont moins sensibles au bruit (P/r data analogue) pour l'acquisition, la transmission et la mmorisation de donnes).
ex signal: A[] = signal + bruit fantme image TV, disque, grav musique signal radio contamin code anti-bruit redondant
zone de bruit
011
100
101
Traitement (mmorisation par circuits semi conducteur cot raisonnable: -millions de transistors ou interruptions sur une puce silicium -changent des millions des fois par seconde -consomment peu d'nergie cot $/switch
Combinaison facile avec thorme boolens -1854 Geroge Boole -publie thorie mathmatique ce propos ensemble de thormes avec des relation vrai-faux -algbre de Boole permet de minimiser l'usage du hardware. -2 tats: vrai - faux et 1-0 1.2 Avantages de 2 tats
1 ferm 0 ouvert
-interrupteurs la base des portes, la base des circuits numriques arithmtiques. Encodage: consiste reprsenter quelque choses par un code
3 Terminologie nibble - 4 bits byte -8 bits(ou octet) 1 string: suite de bits (ou chane)
1.3 Reprsentation binaire -important: chaque position une signification particulire 01010 00110 -en binaire le codage se limite 2 symboles -d'autres bases existent: 10,8,16... (hexadainal),... -conversion base B dans base D
D=
i max i=o
PB
i
base
P: Poids ex: convertir le nombre 728 dans la base 10 Po=2, P1=7 D= 2 x 80 +7 x 81 = 2 + 56 = 5810 ex: convertir le nombre (1234)5 dans la base 10 D= 4 x 50 + 3 X 51 + 2 X 52 +1 X 53 =4 + 15 + 50 +125 = 19410 ex: convertir le nombre (1234)16 dans la base 10 D = 1 x 163 + 2 x 162+ 3 x 161 + 4 x 160 =4096 + 2 x 256 + 3 x 16 + 4 =466010
4 Reprsentations Dcimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Exemple: 10H= 1 X 161 + 0 X 160 = 1610 208 = 2 X 81 + 0 X 80= 1610 4 bits permettent de coder 42 = 16 tats, de 0 1510 symboles octal: {0,1,2,3,4,5,6,7} total 8 symboles hexadcimal {0,1.........9, A,B,C,D,E,F} total 16 symboles Binaire 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1001 1100 1101 1110 1111 10000 Hexadcimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 Octal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
BCP
BCD : Binary Coded Decimal: code les nombres dcimaux sur 4 bits On emploit 1 ensemble de 4 bits par chiffre 0001 0000 , donc 5 bits en BCD 9910 9910 = 1001 1001 en BCD (8 bits) Utile dans les calculatrices notamment (vite les conversions fastidieuses, conversions directes). ex BCD 102410 en BCD? [0001 0000 0010 0100]2 Gray code: d'un code l'autre le code Gray ne change que d'un bit, il y a aussi une certaine symtrie .
5 1 0000 2 0001 3 0011 4 0010 5 0110 6 0111 7 0101 axe de 8 0100 symtrie 9 1100 10 1101 11 1111 12 1110 13 1010 14 1011 15 1001 16 1000
0 0 0 0 0 0 1 0 0 0 1 1
2 0001 3 0011
15 1001 14 1011
,,, ,,, ,,, ,,, ,,,,, ,,,,, ,,,,, ,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,,,, ,,,,,,,,,,,,
symtrie
0 0 0 1
Reprsentation de grands nombres en binaire On rajoute simplement des bits conversion octale binaire hex binaire aise: simplement faire des groupements de 3 ou ou 4 bits.
exemple: (10 10 11 01 01)2 en hex et octal octal : 001 010 110 101 12658 {{{{
1 2 6 5
vrifions: 12658 = 1 x 83 + 2 X 82 + 6 X 81 + 5 X 80
=512 + 2 x 64 + 48 +5 = 69310
6 et 2B5H = 2 x 162 + 11 x 161 + 5x 160 =2 x 256 + 176 +5 =69310 exemple convertir 2B5H
1 2 6
en binaire et octal
5 2 B 5
groupes de 3 et de 4 001 010 110 101 (0010 1011 0101 { {{{ { { { 126588 C'est ce qu'on appelle le codage positionnel puisque la position du code influence sa valeur. On verra plus tard le codage en point flottant.
1.4
On emploie la relation
D = Bi 2 i
i=o
N 1
ex: 10102 ici N=4 n = 1 x 23 + 0 x 2 2 + 1 x 21 + 0 x 20 n = 8+ 0 + 2+ 1010 ex: ((1010 11 101)2 = ? en base 10 1 28 + 0 27 +1 26 + 0 25 + 1 24 +1 23 +1 1.22 + 0 21 + 1 20 256 + 0 + 64 + 0 + 16 +8 + 4+ 0 +1= 34910 2 binairedc. on peut aussi d'abord convertir en hex puis en dcimal
ex (101011101)2 = 15DH
= 256 + 80 +13 = 34910 m rsultat, moins de risque d' erreur 3 mthode 3: calculatrice ou Mathlab ou calculette sur windows
7 Calcul de fractions, c'est en fait le mme procd, mais avec des exposants ngatifs. 1 ex: (0.1)2 = 0 x 20 + 1 x 2-1 = 0 + = 0.510 2 ex: (0.1010)2 = 0 x 20 + 1 x 2-1 + 1 x 2-3 = 0.5 + 0.125 = (0.625)10 2-1 = 0.5 2-2 = 0.25 2-3 = 0.125 Expression gnrale:
+m
Dn = Bk 2 k
k = N
1
ex: ex: 1997
Mthode par soustraction successive de la plus grande puissance de 2 on dcompose le nombre en somme de puissance de 2. 3310 =(?)2 3310 = 32 + 1 = 25 + 20= (10001)2 199710 = (?)2 = 1024 + 512 +256 +128 +64 + 8 + 4 + 1 = 210 + 29 + 28 + 27+26+23+22+20 1 1 1 0 0 1 1 0 1 1 0 (11111001101)2
10 9 8 7 6 5 4 3 2
Mthode par division successive. On peut diviser* par 2 ou plus simplement par 16 pour convertir en hex directement 33/16 = 2 donc 2 x 16 + 1 = 33 (21)hex = 0010 0001 (10 0001)2 *avec la plus grande puissance possible
ex (1997)10 =1997/256 = 7 reste 205, 205/16 = 12 reste 13 =7CDH = (01111100 1101) {{{ 2
7 12 13
8 321/256 321 = = 1 reste 65, 65/16 = 4 reste 1 (141)H (0001 0100 0001)2 rp. (101000001)2
En divisant par 16, a va plus vite que par 2 et la conversion Hex Binaire est directe. Conversion de fractions Le processus peut tre sans fin, il faut donc spcifier une rsolution ex: sur 8,16, 32 bits. -Les mmes mthodes s'appliquent. ex (0.4)10 = (?)2 0.4 = 0.25 + 0.125 + 0.015625 +...... =[0.390625] =2-2 + 2-3 + 2-6 +... donc 0.0 1 1 0 0 1 1 2 3 4 5 6 (0.011001)2 1.6 Troncature et arrondissement Si on stoppe simplement le calcul de la fraction aprs un nombre arbitraire de chiffres, on parle de "troncature". ex 3.14159 tronqu 5 chiffres aprs le point Table 1.4 Table des fractions 2-1 - 0.5 2-2 - 0.25 2-3 = 0.125 2-4 = 0.0625 2-5 = 0.03125 2-6 = 0.015625
On peut aussi complter, arrondir la dernire position pour + de prcision Ex 3.1416 plus prcis que 3.1415 123 123
arrondir tronquer
Sujet trait plus en dtail en "Analyse numrique pour ingnieur." 1.7 Addition de nombres binaires non-ngatifs Avec la somme de 2 bits: 0 0 4 cas 1 1 + + + + 0 1 0 1 = = = = 0 somme 1 1 0 retenue somme
1 o
En additionnant 2 nombres binaire de plusieurs bits, cela revient au fond additionner 3 bits (avec la retenue). Examinons les cas possibles:
9 0 0 0 0 1 1 1 1} 0 0 1 1 0 0 1 1} 0 +1 +0 +1 +0 +1 +0 +1} 00 01 01 10 01 10 10 11
ex additionner 710 + 2210 en binaire 00111 22 16+4+2= 10110 (11101)2 = 1DH = 16 + 13 = 2910 1.7 Addition modulaire On peut reprsenter l'addition de 2 bits par un bloc A B somme retenue 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 1 C'est le demi additionneur ou HalfAdder
AB-
somme -retenue
On verra plus tard comment raliser ce bloc en portes discrtes et maintenant l'additionneur complet sur 1 bit ( 1 bit Full adder) 1BFA Cin A B somme retenue
1 BFA
somme
SOMME
retenue
RETENUE
ou carry out
Ce qui se voit bien de la table du IBFA en considrant le cas avec Cin=0 (on revient un et puis le cas avec le carry 1=Cin ou l'on fait: somme partielle + Cin
Table de vrit ou CD E 00 0 01 1 10 1 11 1
Pour des additions gnralises, on juxtapose des 1BFA puisque sur (4 bits): {B3,B2,B1,B0} + {A3,A2,A1,A0} = {tout, S3,S2,S1}
B3 A3 B2 A2 B1 A1 B0 A0
Cin = 0
C'est un exemple de bon design, puisque modulaire (ie concevoir un systme partir de soussystmes gnriques). Requiert peut-tre plus de composants qu'une approche directe, mais + facile traiter/rparer) moins coteux long terme. 1.8 Soustraction et modulait
11
A-B = A+(-B) donc on peut employer une approche avec IBFA modulaire en exprimant en binaire un nombre ngatif (-B) Par les complments 2: 10- choisir un nombre max de bits 20- poser que le bit gauche (le + significatif): bit de signe 30-inverser tous les bits du chiffre puis additionner 1 Sur 4 bits a peut se reprsenter par une roue:
1111 1110 1101 1100 0000
-1 -2
0001
0010
ex:-7=?
-3
3 4 5 -6 -7
1001
+7 7
-4 6 -8
1000
1011 -5 1010
7
0111
0110
exemple: calculer
7-3?
+3: + -3
0111 +7 1101 -3 0100 +4 notre notation est sur 4 bits, -on rejette donc le 5ime bit.
exemple
calculer
7+3
0111: +7 + 0011: +3 1010: -6!!!! c'est qu'en notation complment 2 sur 4 bits,+ 10 n'existe pas. Les valeurs possibles vont de [-8,+7] (7+3=10) C' est ce qu'on appelle un overflow ou dpassement. Pour l'viter ici, on aurait d travailler sur une notation com. 2 5 bits plutt. Dtection d'overflow: comparer les signes des nombres additionns ensemble:
si on additionne 2nb de m signe, et que le signe de la somme est diffrent, c'est qu'il y a eu overflow!. "carrry out", "overflow" sont des bits de status, utiles pour le systme. note: overflow: indique une erreur
12 carry out: peut servir pour des calculs subsquents important notation en complment 2 (C2) permet d'employer les modules vus prcdemment pour raliser des +, -, mais il faut bien dterminer un pralable la longueur max des mots. 1.9 Addition de fractions binaires Le mne procd d'addition avec ou sns C2 demeure valide) Ex1 (.75 + 1.25)10 =210 1.01 0.1 2-1 0.01 2-2 0.001 -3 2 1.01 +0.11 10.00=+210 On choisit un systme 4 bits pour viter les overflow. 0.5 0.25 0.125
et
avec C2 en binaire
+1.2510(1.01)2 +0.7510C2 : 11.01 1.25 01.01 +(-.75) 11.01 00.10 =0.5 qui est correct 1.8 Codes et Encodage On a vu les codes suivants: - binaire positionnel -Gray -BCD -C2 pour nombre signs d'autres sont disponibles:
-musique -code morse (1840) inventeur 20 mots/minutes du tlgraphe -code Barres (ex UPC: 10 digits) -ASCII: 7 bits code reprsentant 128 caractres (a...z, A....Z,0,....9), symboles typographiques un 8 bit sert pour la parit (#total bit 1 est pair ou impair)
(note en ASCII les chiffres sont encods en BCD sur 8 bits.) Pour rcuprer le nombre BCD, il suffit donc simplement de "stripp off" (un pack) tous les bits sauf B3 ~ Bo exemple 0 30 Hex 0110000 donc 011 et 0000 9 39 Hex 0111 001 donc 011 et 1001 Caractristiques d'un bon code -s'il est : "standard", accept par tous meilleur
13 -rapidit: (pour encoder) (dcoder) -fiabilit: limite les erreurs lors du codage si rapide moins de risque d'erreur -compression de l'entre: i.e. moins de lignes de sortie que de lignes d'entres, critique pour par ex: compression de signaux TV ex BCD pour nombre 0 99 8 bits alors qu'en binaire 9910 = 64+32+2+1=100011 7 bits seulement. -compatibilit "acquiscement" -scurit: encryptage avec une cl
1.10 Des interrupteurs aux portes -interrupteurs/robinets/valves: connus depuis des lustres ex: aqueduc, instruments de musique ouvert/ferm: 2 tats - diffrents niveaux d'ouverture ex: manette de toilette ex: -potentiomtres, robinet de douche -gradateur d'intensit
utile facilement ralisable en silicium -commutable grande vitesse >106 fois/s -dissipe: peu d'nergie -occupe: peu de place (microns) cote presque rien Pour comprendre l'lectronique numrique a commence avec les interrupteurs. 1 0 ouvertferm comme un robinet: ferm l'eau ne passe pas ouvert l'eau passe - lectrons, photons, etc. Distinction entre interrupteurs normaux et interrupteurs numriques: capacit d'un SW de commander un autre SW (effet en cascade) + interconnexions. donc pour un SW, schma + gnral: Si C >seuil SW ferm Si C < seuil SW ouvert seuil ~2.5 volt (pour famille TTL, 5 volt) Porte=Circuit avec un ou plusieurs SW qui a une fonction particulire et versatile pour tre un bloc d'un systme, plus grand. ne pas confonde avec la gate d'un transistor MOS
14
SW entre e
symbole
e
entre
S sortie
INVERSEUR
2 TAMPON (BUFFER)
TAMPON BUFFER +5 V = VCC
S1
S2
e1
e1 = S2 e1
S2
Buffer du tampon
15
VCC R
Table de vrit
sortie A
A 0 0 1 1
B 0 1 0 1
S(ET) 0 0 0 1
S(NON-ET) 1 1 1 0
TABLE DE VRIT A B 0 0 0 1 1 0 1 1
S(OU) 0 1 1 1
S(NON-OU) 1 0 0 0
A B C D
Symbole (NXOR)
16
A S B
Table de vrit
A 0 0 1 1
B 0 1 0 1
S(XOR) 0 1 1 0
S(NXOR) 1 0 0 1
1.11
Multiplexeurs
On veut ici crer un circuit qui permet de "passer/transfrer" un signal numrique d'une ou de l'autre origine A au B.
contrle/commande A B S
contrle 1 0
sortie S A B
quivalent en portes:
ET A
sortie
A S B
MUX
0
contrle
exemple: d'utilisation circuits d'escalieur "three-way" on veut raliser un circuit permettant d'clairer un luminaire partir de 2 SW
17
un SPDT est un MUX 2 1 (2 entres 1 sortie) Il existe aussi des MUX plus importants:
0 7
MUX
S0 S1 Sg
0 15
MUX
S0 S1 S2 S4
1.12 Sortie flottante Problme: un simple SW a sa sortie flottante si ouvert. Cela n'est pas trs pratique car cela mne des incertitudes! Ce problme peut se rgler au moyen de circuits TOTEM POLE C'est ce qu'on appelle un arrangement qui peut tre compris de la faon suivante: 2 interrupteurs en cascades.
18
+5V
Si les 2 SW sont ouverts ou ferms jamais en mme temps, la sortie est toujours dfinie Hi ou Lo.
Vcc
1.13 Troisime tat Lors de la connexion de plusieurs portes ensemble, on a souvent besoin d'un 3ime tat "haute impdance" ou "tat flottant" pour viter d'endommager un circuit.
a revient notre arrangement "Totem Pole" avec les 2 SW ouverts. Exemple d'utilisation Mmoires, Buses 1.14 Circuits pour additionneurs A B Somme Retenue Co
On a vu que:
XOR
SOMME
ET
C0
On verra dans les chapitres suivants des mthodes systmatiques de design. pour par exemple -minimiser la taille des design -minimiser les dlais des propagation ("glitches")
20 1.15. CAD pour circuits design 2 approches -traditionnelles (utile petit circuit), la main -CAD (utile pour grand circuit)
Les mthodes traditionnelles emploient -MSI sur PCB wirewrap -ex: 7400 sries TTL voir livre TTL databook de Texas Instruments.
-mthodes sur papier, gros design: on dcoupe en sous bloc -changement travail de re-design majeur Encore employe pour la "glue logic" entre parties plus importantes ralises en CAD Mthodes CAD -temps de mise au point rapide pour - systmes importants e.g. contrleur numrique d'autos -emploie des chips programmables, cot rduit -fiabilit -utilisation de langage CAD e.g. ABEL, VHDL, Verilog tapes: Highlevel design EX: TTL 0.50$ FPGA 10$ (FPGA= 50TTL) D'autres cours en gel-gif traitent de ces domaines outils de synthse simulateur trouve problme de timing de conception de charge Hardware programmable -FPGA -PROM -ROM -PAL
21 Familles logiques - Considrations pratiques. Les portes simples sont disponibles dans la famille TTL sous formes des circuits SSI (small scale intgration)
2 entres ET 7400
NON-ET NAND
7408
NON
7404
OU
7432
NON OU NOR
7402
XOR
7486
La Famille TTL ncessite une alimentation entre les pins 14 et 7 Les numros de circuits ci sont 74LSXX D'autres familles sont disponibles: -CMOS, srie 4000 -en version 3.3 volt DC aussi Le labo portera sur une premire familiarisation avec les portes lemtaires SSI.
+5 V +5 V
14
14 74LSXX
7
74LS04
Dans le logiciel Xilinx Foundation, les circuits TTL se retrouvent sous l'appellation "x74xxx".