102
1 Les circuits logiques programmables : Technologie du transistor au P.L.D. (Programmable Logic Device)

Les circuits logiques programmables : Technologie …gdedel95.free.fr/EPMI/Ressources Technum/cours-PLD... · 2007-01-14 · 2 Toutes les composants logiques (de la porte logique

  • Upload
    lamtram

  • View
    223

  • Download
    3

Embed Size (px)

Citation preview

1

Les circuits logiques programmables :

Technologie

du transistor

au P.L.D.

(Programmable Logic Device)

2

Toutes les composants logiques (de la porte logique au µP) sont obtenues à

partir d’association de quelques (millions ?) de transistors. Ces transistors

peuvent être des transistors bipolaires (familles TTL et ECL) ou des transistors

MOS (famille NMOS, PMOS, CMOS…).

Les fonctions programmables sont réalisées à partir des familles à base de

transistors MOS.

3

composant de base : le transistor

Ib

Ic

BE

C

Vds

D

S

G

Ids

Vgs

N P N N PP

bipolaire MOS

CE B

DS

Vg����

Vds

Ids

Vce

Ic

Ib����

Vce

4

circuits intégrés

deux grandes familles technologiques:

CMOS et bipolaire

C

I∆∆∆∆t

∆∆∆∆V

IV

Ct∆=∆

diminution du paramètre techno.diminution des tensionscompromis vitesse - consommation

5

VOH VIH-

+

-

+

IOH IIH

VOL VIL-

+

-

+

IOL IIL

+5VNiveau basNiveau haut

VIH(min) : tension d’entrée niveau HAUT

VIL(max) : tension d’entrée niveau BAS

VOH(min) : tension d’entrée niveau HAUT

VOL(max) : tension de sortie niveau BAS

IIH : courant d’entrée niveau HAUT

IIL : courant d’entrée niveau BAS

IOH : courant de sortie niveau HAUT

IOL : courant de sortie niveau BAS

Terminologie des Circuits intégrés

6

Paramètres électriques et temporels

Définition des niveaux logiques

Valim

Valim

Ve

Vs

A A

ve1 ve2 vs2

A

VILmax VIHmin

VOLmax

VOHmin

VOLmax < VILmax et VOHmin > VIHmin

7

Paramètres électriques et temporels

Définition des niveaux logiques

valeur minimale de la tension d ’entréepour que le signal soit vu comme « 1 »

valeur maximalede la tension d ’entréepour que le signalsoit vu comme « 0 »

dans les conditions du testle circuit assure cette tension

8

Paramètres électriques et temporels

Courants de sortie

courant maximaldélivré par l ’alimentationau repos

courants minimaux fournis à la chargependant les transitions

9

10

Paramètres électriques et temporels

Paramètres temporels

écart relatif maximal

11

Le sigle TTL se réfère généralement à la série 74 standard ou « N ».

Il existe d’autres séries :

• 74L : faible consommation• 74H : plus rapide• 74S (Schottky) : faible consommation et plus rapide• 74LS : faible consommation mais moins rapide.• 74AS et ALS : associent vitesse de commutation et faible consommation.

Autres série TTL

12

8 mA8 mA20 mA20 mA20 mA3,6 mA16 mASortance à l’état bas : IOL

400 µA400 µA2 mA1 mA500 µA200 µA400 µASortance à l’état haut : IOH

200 µA400 µA2 mA2 mA2 mA180 µA1,6 mAEntrance à l’état bas : IIL

20 µA20 µA200 µA50 µA50 µA10 µA40 µAEntrance à l’état haut : IIH

1 mW2 mW20 mW19 mW22 mW1 mW10 mWConsommation

4 ns9,5 ns1,5 ns3 ns6 ns33 ns10 nsRetard de propagation

0,8 v0,8 v0,8 v0,8 v0,8 v0,8 v0,8 vVil(max)

0,5 v0,5 v0,5 v0,5 v0,4 v0,3 v0,4 vVol(max)

2 v2 v2 v2 v2 v2 v2 vVih(min)

2,7 v2,7 v2,7 v2,7 v2,4 v2,4 v2,4 vVoh(min)

5 v5 v5 v5 v5 v5 v5 vTension d’alimentation

ALSLSASSHLN

Les différentes série TTL

13

État bas État haut

R2 R4

Q3

Q4

D1

+5 V R1

+5 V

R1

+ 5 V

Conduit

VOL

IOL

BloquéIIL IIL

-

+

+5 V + 5 V

R2 R4

+5 V R1 R1

bloqué

VOH

IOH

conduit

IIH IIH

+

-

Nombre d’entrée 7400 que peut piloter une sortie 7400 :

IOL(max) = 16 mA IOH(max) = 400 µAIIL(max) = 1.6 mA IIH(max) = 40 µASortances = IOL(max)/IIL(max) = 10 Sortances = IOH(max)/ IIH(max) = 10

Facteur de charge et sortance des TTL

14

Autres familles :

15

circuits intégrés CMOS

pMOSnMOS

Vgs

D

S

G

Vgs

D

S

G

Vgs≅≅≅≅Vdd Vgs≅≅≅≅-Vdd

S D

Vgs ≅≅≅≅ 0 Vgs ≅≅≅≅ 0S D

16

circuits intégrés CMOS

technologie CMOS pMOS

nMOS

17

circuits intégrés CMOS

pMOS

nMOS

E SE S

exemple : inverseur

Valim Valim

18

19

circuits intégrés CMOS

E S

exemple : inverseur

E=1

E=0

S=0

S=1

E

0

1

S

1

0

E S

Valim

20

circuits intégrés CMOSexemple : inverseur

p+ p+

caisson n

n+ n+

Valim

Vref

E S

grille

substrat p

transistor n transistor p

21

circuits intégrés CMOSexemple : inverseur

22

circuits intégrés CMOSexemple : inverseur

23

24

circuits intégrés CMOSexemple : porte NAND

A=1 et B

=1

A=0 ou B=0

B

0

1

0

1

S

1

1

1

0

A

S

Valim

B

S=1

S=0

A

0

0

1

1

AS

B

25

circuits intégrés CMOSexemple : porte NAND

26

circuits intégrés CMOSexemple : porte NOR

A=1 ou B

=1

A=0 et B=0

B

0

1

0

1

S

1

0

0

0

A

0

0

1

1

AS

B

A

Valim

B

S

S=0

S=1

27

circuits intégrés CMOSexemple : porte NOR

28

Le soustracteur

29

circuits intégrés

30

circuits intégrés

1.0E+03

1.0E+04

1.0E+05

1.0E+06

1.0E+07

1.0E+08

0

2

4

6

8

10

12

nb de trans. param. techno.

1971

1980

1990

2000

4004

8080

8086

80486P

P-II

P-III

évolution du nombre de transistors des µP Intel

loi de Moore :Ntr est multiplié par 1,4 par an

31

circuits intégrés

1

10

100

1000

fréquence d'horloge

1971

1980

1990

2000

8080

8086

80486

P

P-II

P-III

évolution de la fréquence d'horloge des µP Intel

MHz

32

circuits intégrés

4004 P-II

1972: 2500 transistors 2000: >10 000 000 transistors

33

circuits intégrés

circuit

porte

fonction

système

composant

hiérarchie

34

35

circuits intégrés

salle blanche

masque de lithographieWafer épitaxié

fours de diffusion

36

Wafer épitaxié

37

Epitaxie par jets moléculaires à sources gaz :

38

Epitaxie par jets moléculaires à sources gaz :

39

Epitaxie par jets moléculaires à sources gaz :

40

salle blanche

41

composant

42

circuits intégrés

substrat (Si)

oxyde (SiO 2)

résine

masqueUV

gravure(HF ou plasma)

43

44

circuits intégrés

oxydation

oxydation(grille)

gravure

dépôt poly-Si

gravure poly-Si

gravure oxyde mince

implantation-diffusion

dépôt d'oxyde

ouverture des contacts

dépôt de métal

gravure du métal

45

fours de diffusion

46

circuits intégrés

"bonding"

boitier DIL

boitiers

47

microsystèmes

48

circuits intégrés

0

5000

10000

15000

20000

1995 2000 2005 2010 2015

nombre d'E/S

fréquenced'horloge

0

50

100

150

200

1995 2000 2005 2010 20150

1

2

3

puissance

alimentation

a

0

100

200

300

1995

2000

2005

2010

2015

0

500

1000paramètretechno.

nombre detransistors/cm2

surface de lapuce

(nm)

(mm 2)

(en millions)

(MHz)

(W)(V)

49

50

51

suite…

52

53

54

55

56

57

58

59

Les différents types de circuits programmables

60

A0A1

A2A3

S0

S2

Adresses =entrées

Matrice deET figée

Matrice deOu

Programmable

mémoire 16 mots de 2 bits => 2 fonctions logiques de 4 entrées

liaison non programmable

liaison programmable

Mémoire programmable

61

A0A1

A2A3

S0

S2

Adresses =entrées

MatriceET

programmable

MatriceOu

figée S3

S4

liaison non programmable

liaison programmable

Circuit logique programmable

PAL : programmable array logic

somme de produits = Macrocellule

62

63

64

65

66

67

68

69

70

71

72

73

74

Field-Programmable Gate Array (FPGA)

• Xilinx série XC4000

75

76

77

78

79

80

81

82

83

Points à examiner avant réalisation :

• Matériel– In Out

– Gate

• Performance• Temps-réel• Interfaçage

physique• Coût• Encombrement• . . .

ld In, x0xor x0, r2, x1ld Gate, x2and x1, x2, x1xor x1, r0, x2mov x1, r0...

Logiciel:

Lequel ?

InOut

GateMatériel: techno, coût ?

84

Modèles de réalisation• Circuits à façon (full-custom) : dessin de transistors

(gravure de rectangles).• Circuits prédiffusés (gate array) : connexion de portes

logiques élémentaires (ex. NOR).• Circuits logiques programmables (PROM, PAL,

EPLD) :réalisation d’un petit nombre d’équations booléennes.Généralement programmables une seule fois.

• Prédiffusés programmables (FPGA) : connexion de fonctions booléennes programmables et de registres synchrones.Programmables une fois ou indéfiniment reprogrammables.

85

Plate-forme matérielle (1)

• PC (Windows NT)• Carte “PCI Pamette” (Compaq Systems Research Center)

– 4 circuits Xilinx XC4010E-3 à XC4085XLA-09• 800 à 6272 fonctions booléennes 4 entrées

• 800 à 6272 registres

• 160 ports d’entrée-sortie– 2 banques mémoire, 64k x 16b, 12ns

– Interface PCI (téléchargement et communication)

– Horloge programmable 0–100 MHz

86

Plate-forme matérielle (2)

4 Xilinx 4010Es4 Xilinx 4010Es

256 KBSRAM

256 KBSRAM

Up To 256 MBDRAM SIMMsUp To 256 MBDRAM SIMMsPCI InterfacePCI Interface

External I/OCMC

Connectors

External I/OCMC

Connectors

87

Plate-forme matérielle (3)

• Périphériques optionnels– DRAM

– Ecran VGA– Caméra numérique

– Carte ethernet

– Convertisseurs A/D et D/A– . . .

88

Outils logiciels (1)

• Description des circuits– Schémas

– Equations booléennes– VHDL

• Compilation– Traduction des fichiers sources en portes logiques –

fusion

– Fabrication de tables à 4 entrées– Placement et routage

– Génération du binaire de configuration

89

Outils logiciels (2)

• Exécution– Initialisation des RAMs

– Configuration du circuit– Protocole d’entrées-sorties (PCI)

– Commandes clavier, scripts, programmes C/Java.

• Mise au point– Simulation

– Exécution pas-à-pas – relecture de l’ état interne

– Oscilloscope

90

91

92

93

Langages de description (1)

• Schémas :

Cnt3 Dec7sCount seg[0..6]

R

94

Langages de description (2)

• Equations booléennes : ABEL.– module count8;

" InputsClk,up,down pin;

" Outputsq0,q1,q2,q3,q4,q5,q6,q7 pin istype ’reg’;

" Variablescount = [q7..q0];

equationscount:=(count+1) & up & !down "count up

# (count-1) & !up & down "count down# count & up & down "hold# count & !up & !down; "hold

end

95

Langages de description (3)

• Imperative Generation : PamDC.– int i,j;

Bool clk, limit;WireVector<Bool,3> Cnt;limit = Cnt[0] & (~Cnt[1]) & Cnt[2];for (i = 0; i < 3; i++){

EquationHandler Carry = ONE;for (j = 0; j < i; j++)

Carry = Carry & Cnt[j];Cnt[i] = reg(

mux(limit, ZERO, Cnt[i] ^ Carry),clk);}

96

Langages de description (4)

• Synthèse logique : VHDL.– process begin

wait until CLK’event and CLK = ’1’;if SECS = 59 then

SECS <= 0;if MINUTES = 59 then

MINUTES <= 0;else

MINUTES <= MINUTES + 1;end if;

elseSECS <= SECS + 1;

end if;end process;

97

Projets microprocesseurs

• RISC

• Microprocesseur classique : PDP8, PDP11, 6502– Possibilité de trouver spécifications, compilateurs, code sur le web

– http://www.spies.com/~dgc/pdp8x/

• Microprocesseur + périphériques• Carte graphique• Contrôleur disque

98

Projets microprocesseurs (suite)

• Calculatrice– Calculatrice à pile simple

– Calculatrice programmable

• Automates spécialisés– calendrier perpétuel. . .– Montre numérique

– Contrôleur d’ascenseur

– Voltmètre numérique– Oscilloscope numérique

• Codes– Codes cryptographiques– Codes correcteurs d’erreur

99

Projets microprocesseurs (suite)

• Pilotage d’ écran graphique– Terminal alphanumérique

– Jeu vidéo, animations

• Audio numérique– Synthèse additive– Filtrage

– Analyse fréquentielle temps-réel

• Acquisition et traitement d’image– Caméra numérique

• Autres. . .

100

Exemple : calculatrice

• Type “polonaise inverse” (HP)• Version minimale

– Hexadécimale

– 8 bits

– Addition – soustraction

• Extensions– 12 ou 16 bits

– BCD– Multiplication

– Sous-programmes en ROM

101

Exemple : synthétiseur sonore

• Version minimale– Synthèse d’ échantillons sonores en temps r éel

– Forme(s) d’onde en RAM– Partitions en RAM (fréquence/durée)

• Extensions– Enveloppes

– Voies multiples

102