Anda di halaman 1dari 21

1 Chapitre 1

Numriser: ex: ex: ex:

c'est pour se prsenter les choses, images nombres, mots parls, par des symboles.

10 chiffres - 10 doigts image TV: 250,000 points image-pixel-30ms lettres de l'alphabet

en design numrique: reprsentation BINAIRE - base 2 numrique: revient catgoriser tout avec 2 tats 1.1 Continu au discret

10

contient un nombre infini de points car domaine continu

(peut tre numris en divisant par 2 et en assignant symbole 0 et 1

<5 0 0

>5 1 10

et on poursuit car cette division est approximative


00 0 2.5 01 5 10 7.5 11 et 10 0 1.25 2.5 3.75 5 6.25 7.5 8.75 10 000 001 010 011 100 101 110 111

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

}changement de status si bruit > largeur de zone

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

-disponibilit d'interrupteurs dans les ic

1 ferm 0 ouvert

-interrupteurs la base des portes, la base des circuits numriques arithmtiques. Encodage: consiste reprsenter quelque choses par un code

Question encoder l'ensemble {0,1,2,3} en binaire

ex: chiffre 34 0 1 2 3 b b b b 00 01 10 11 2bits suffisent

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

imax: nombre de positions -1 dans la base B.

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

4 0010 ' ' ' 8 0100

13 1010 ' ' ' 9 1100

Utilit: encoder des entres multiples qui changent 1 la fois

,,, ,,, ,,, ,,, ,,,,, ,,,,, ,,,,, ,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,,,, ,,,,,,,,,,,,
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

hex : 0010 1011 0101 2 B5 H {{{


2 B 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

Mthodes:conversion binaire dcimal:

On emploie la relation

D = Bi 2 i
i=o

N 1

Bi = 0 ou 1, le i ime digit et N = le nombre de bits

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

0001 0101 1101 = 1 x 16 2 + 5 x 161 + 13 x 16 0 { { {


1 5 DH

= 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

pour le nombre Bm Bm-1 ... B2B1B0. B-1 B-2 ... B-n

1.5 Conversion Base 10 au binaire

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: (33)10 161 = 16 162 = 256 163 = 4096

ex (1997)10 =1997/256 = 7 reste 205, 205/16 = 12 reste 13 =7CDH = (01111100 1101) {{{ 2
7 12 13

ex: 32110 = (?)2

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

Retenue nombre A Nombre B rsultat: retenue et somme

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

10 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1 Table du demi additionneur HA (Half - Adder) C in B


CIN B

,,,, ,,,, ,,,, ,,,, ,,,, ,,,, ,,,, ,,,, ,,,,

1 BFA

somme
SOMME

retenue
RETENUE

ou carry out

On peut tout de suite voir le dveloppement du 1BFA en termes de HA


carry in A B SOM HA CARRY HA CARRY carry out SOM C D E

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

Cout 1 BFA S3 S2 1 BFA S1 1 BFA S0 1 BFA

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

0011 0100 0101

+7 7

0111 1000 + 1 1001

-4 6 -8
1000

1011 -5 1010

7
0111

0110

ex: avec zro: 0000: +0 1111 1 0000-0

exemple: calculer

7-3?

7-3-= 7+(-3) = (0111)+(1101)

+3: + -3

0011 1100 1 1101

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

0.5+0.25 0.11 Ex2

et

Calculez (1.25 -0.75)

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

Code reprsentations Encodeur Dcodeur reprsentations

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

1 INVERSEUR: porte inverseuse


+5 V R
entre sortie

0 1 c' est un inverseur 1 0


+ V 0 _

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

3 PORTE ET et NON-ET (NAND)

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

NON - ET A B ET S A B bulle sortie S

4 PORTE NON- OU (NOR)


symboles: A B OU (OR) S A B NON - OU (NOR) S

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

5 On peut aussi avoir des portes entres multiples


A B C

A B C D

6 Porte ou Exclusif (XOR) Porte plus complexe


Symbole XOR
A S B

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

c'est en fait un SPDT "single pole - double throw"


contrle OU B ET A A B
1

sortie

A S B

MUX
0

P/rapport au SPST plus simple

contrle

exemple: d'utilisation circuits d'escalieur "three-way" on veut raliser un circuit permettant d'clairer un luminaire partir de 2 SW

17

Le circuit emploie 2 SPDT SW


hot neutre hot neutre

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

upper lower symbole

On peut le connecteur comme ceci:

Si les 2 SW sont ouverts ou ferms jamais en mme temps, la sortie est toujours dfinie Hi ou Lo.

Vcc

Cet arrangement se construit bien en CMOS (complementary Metal Oxide Semi-conducteur).

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

19 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 1 on remarque que Co=AB Somme = A B

On a vu que:

avec donc le design suivant


A B

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".

Anda mungkin juga menyukai