INF1500 : Logique des systèmes...

Post on 04-Jul-2020

1 views 0 download

Transcript of INF1500 : Logique des systèmes...

Sylvain Martel - INF1500 1

INF1500 : Logique des systèmes numériques

Cours 9: Implémentations

Sylvain Martel - INF1500 2

Composantes74x138

G2A

G1

G2B

Y0

Y1

Y2

Y3

B

A

C

Y4

Y5

Y6

Y7

74x138

G2A

G1

G2B

Y0

Y1

Y2

Y3

B

A

C

Y4

Y5

Y6

Y7

DEC0_L

DEC1_L

DEC2_L

DEC3_L

DEC4_L

DEC5_L

DEC10_L

DEC11_L

DEC12_L

DEC13_L

DEC14_L

DEC15_L

DEC6_L

DEC7_L

DEC8_L

DEC9_L

N0

N1

N2

N3

EN3_L

N4

EN2_L

EN1

74x138

G2A

G1

G2B

Y0

Y1

Y2

Y3

B

A

C

Y4

Y5

Y6

Y7

DEC18_L

DEC19_L

DEC20_L

DEC21_L

DEC22_L

DEC23_L

DEC16_L

DEC17_L

74x138

G2A

G1

G2B

Y0

Y1

Y2

Y3

B

A

C

Y4

Y5

Y6

Y7

DEC26_L

DEC27_L

DEC28_L

DEC29_L

DEC30_L

DEC31_L

DEC24_L

DEC25_L

1/2 74x139

1A

1G

1B

1Y0

1Y1

1Y2

1Y3

EN0X7_L

EN8X15_L

EN16X23_L

EN24X31_L

615

14

13

7

4

5

1

12

11

10

92

3

615

14

13

7

4

5

1

12

11

10

92

3

615

14

13

7

4

5

1

12

11

10

92

3

615

14

13

7

4

5

1

12

11

10

92

3

1 4

5

6

7

2

3

U2

U3

U4

U5

U1

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Sylvain Martel - INF1500 3

ROM (Read Only Memory)

Une mémoire ROM consiste en :

Un décodeur avec n signaux d’entrée;

Un réseau OU programmé (ou programmable une fois) avec 2n mots de m bits chacun ;

m signaux de sortie.

Le réseau programmé comporte 2n lignes de m colonnes chacune. À l’intersection de chaque ligne avec une colonne on trouve un élément électronique à mémoire.

Une fois programmée, la ROM de 2n mots de m bits peut générer m fonctions de n variables simultanément.

Sylvain Martel - INF1500 4

ROM (Read Only Memory)

ADDR DATA

Sylvain Martel - INF1500 5

m0m1m2m3m4m5m6m7m8m9m10m11m12m13m14m15

ROM 16×8 bits

Sylvain Martel - INF1500 6

0

0110001F1111

1010001E0111

0010001D1011

1100001C0011

0100001B1101

1000001A0101

100111091001

000111080001

111011071110

011011060110

101011051010

001011040010

110011031100

010011020100

10001101100

000011000000

D0D1D2D3D4D5D6Hexa-décimal

A0A1A2A3

Sylvain Martel - INF1500 7

ROM (Read Only Memory) – Exemple: Changer la séquence normale d’un compteur

ADDR DATACLK

RST

Sylvain Martel - INF1500 8

ROM (Read Only Memory) – Exemple: Changer la séquence normale d’un compteur avec DISPLAY

ADDR DATACLK

RST

Sylvain Martel - INF1500 9

ROM (Read Only Memory) – Exemple: Séquences d’ effets spéciaux

ADDR

DATACLK

RST

LSB

ADDR

MSB

Sylvain Martel - INF1500 10

ROM (Read Only Memory) – Exemple: CLAVIERavec DISPLAY

ADDR DATA

Sylvain Martel - INF1500 11

ROM (Read Only Memory) - Suite

Il existe plusieurs sortes de mémoire ROM :

PROM : Programmable Read Only Memory, programmable une seule fois;

EPROM : Erasable Programmable Read Only Memory, programmable à plusieurs reprises, et effaçable à l’aide de rayons ultraviolets (facile à reconnaître avec la petite fenêtre); et

EEPROM : Electrically Erasable Programmable Read OnlyMemory, programmable à plusieurs reprises, et effaçable àl’aide d’impulsions électriques.

+ NVRAM, FLASH RAM, etc…

Sylvain Martel - INF1500 12

Autres types de mémoire que l’on retrouve dans un ordinateur (volatile vs. non-volatile)

ROM,PROM,EPROM,EEPROM,FLASH…

Sylvain Martel - INF1500 13

Choix – Electronique programmable

(PLA) PALGALCPLDFPGA

Sylvain Martel - INF1500 14

Circuits combinatoires (PAL)

F0 = /A2 . /A1 . /A0

F7 = A2 . A1 . A0

Sylvain Martel - INF1500 15

PAL (Programmable Array Logic)

Logique restreinte (par rapport aux CPLDs et FPGAs).C’est le plus populaire des simple PLDs.Programmable une seule fois par survoltage.Plan ET programmable.Plan OU fixe.

Sylvain Martel - INF1500 16

PAL 4L4

Sylvain Martel - INF1500 17

PAL 16L8

Sylvain Martel - INF1500 18

PLA (Programmable Logic Array)

Un PLA (Programmable Logic Array) est similaire à une ROM, mais il ne réalise pas tous les produits de termes comme une ROM. Un PLA à n entrées et m sorties peut réaliser m fonctions de n variables, en autant que chacune requiert un nombre limité de produits des variables en entrée. (En pratique, c’est presque toujours le cas).

Un PLA est composé de deux réseaux programmables, ET et OU.

Sylvain Martel - INF1500 19

PLA4 entrées,6 termeset 3 sorties

A3’A2A0

A3A2A0

A3A2’A1’

A2’A1

A1

A2A1

0 1 - 11 1 - 11 0 0 -- 0 1 -- - 1 -- 1 1 -

1 1 01 0 11 0 11 0 00 1 00 0 1

Sylvain Martel - INF1500 20

Résumé: ROM, PAL, PLA

Les ROM, PAL et PLA sont composés de deux réseaux : un réseau ET qui génère des mintermes, et un réseau OU qui permet de combiner plusieurs mintermes. La possibilité de programmer chacun de ces réseaux détermine si on a affaire à une ROM, un PAL ou un PLA. Le tableau suivant résume la situation.

Sylvain Martel - INF1500 21

GAL (Generic Array Logic)

C’est un PAL reprogrammable Il est constitué de plusieurs macro-cellules que l’utilisateur peut configurer en un bloc combinatoire simple, complexe ou bien en sortie avec registres.

Sylvain Martel - INF1500 22

CPLD (Complex Programmable LogicDevices)

D’un point de vue conceptuel, un CPLD consiste en plusieurs macro-cellules de PAL interconnectées par l’entremise d’une matrice de sélection. Contient de quelques dizaines à quelques centaines de macro-cellules.En général, les groupes de 8 à16 macro-cellules se regroupés dans un bloc de fonction.Selon le distributeur et la famille du CPLD, les blocs de fonction sont également interconnectés.

Sylvain Martel - INF1500 23

FPGA (Field Programmable Gate Array)Offre la plus grande capacité logique.Un FPGA est une matrice de blocs logiques, entourés de blocs d’E/S, reliés par des connections programmables.Un FPGA peut contenir entre 64 et plusieurs dizaines de milliers de blocs logiques et un nombre de bascules encore plus grand.Il existe deux types de FPGA:

À gros grains (‘coarse-grained’): contient des blocs logiques relativement gros, contenant deux tables de conversion ou plus ainsi que deux bascules ou plus.À grains fins (‘fine-grained’): contient d’avantage de blocs logiques simples. Ces blocs contiennent soit une fonction d’entrée double ou un multiplexeru 4-1 et des bascules.

Les FPGAs les plus denses sont construits à l’aide de la technologie des SRAMsLe procédé d’anti-fusibles est également utilisé parfois.

Sylvain Martel - INF1500 24

FPGA (Field Programmable Gate Array)

Un FPGA est composé à la base de :

un réseau de blocs de logique programmable (Configurable Logic Block -CLB), chaque bloc pouvant réaliser des fonctions complexes de plusieurs variables, et comportant des éléments à mémoire;un réseau d’interconnexions programmables entre les blocs; et,des blocs spéciaux d’entrée et de sortie avec le monde extérieur (Input/Output Block –IOB).

Sylvain Martel - INF1500 25

Sylvain Martel - INF1500 26

CLB

Sylvain Martel - INF1500 27

CLB

Combinatoire(Boolean)

Interconnection

Séquentiel

Sylvain Martel - INF1500 28

Table de correspondance - MUX

AB

LSB

C

1 0 0 0

AB

LSB

C

0 1 1 1

Sylvain Martel - INF1500 29

Table de correspondance - MUX

AB

LSB

C

1 1 1 0

AB

LSB

C

0 0 0 1

Sylvain Martel - INF1500 30

Table de correspondance – LUT + MUX

AB

LSB

C

1 1 1 0

AB

LSB

C

0 0 0 1

DFF DFF DFF DFF SR DFF DFF DFF DFF SR

BITSTREAM(Configuration

Bitstream)

Sylvain Martel - INF1500 31

Table de correspondance – MUX - Exercices

XY

LSB

C

? ? ? ?

Sylvain Martel - INF1500 32

Table de correspondance – « Partition » -Exercices

AB

LSB

C0

1 0 0 0

CD

LSB

C1

1 0 0 0

C0C1

LSB

OUT

1 00 0

(Simplification) + Partitioning

Sylvain Martel - INF1500 33

Placement + Routage

Combinatoire(Boolean)

Interconnection

Séquentiel

Bitstream

Bitstream

AB

CD

C0

C1

Ex: S0 = X; S1 = 0; S2 = X; S3 = 0H1 = X

Note: CLB a normalement 4 ou 5 entrées

Sylvain Martel - INF1500 34

Placement: CLB? + Routage: bits de configuration dans le bitstream pour interconnections entre CLBs

Sylvain Martel - INF1500 35

Avec FF

DFF

D

Combinatoire(Boolean)

Interconnection

AB

CD

AB

Q

Q

(S0 = 0)

Sylvain Martel - INF1500 36

Un autre exemple

DFF

D

AB

C

AB

Q

Q

COUT

OUT

Sylvain Martel - INF1500 37

Carte MODULA

Sylvain Martel - INF1500 38

Embedded ComputerIR Transceiver

64Kx16 SRAM

48 MIPS DSP48 MHz Oscillator

Outside Layer

Central Controller (CPLD)

STM Scan TubeDriving Section

PowerAmplifiers

High Power Rectification Bridge(Outside Section)

High Power Input Voltage Regulation

STM Interface (I/V Amplifier and A/D Converter)

Analog Section Power Converters

TemperatureSensor

Piezo-Drive SwitchingCircuit (One Leg)

IR Emitters

15 mm

Sylvain Martel - INF1500 39

ASIC (Application Specific Integrated Circuit) and VLSI (Very Large Scale Integration)

Contrôleurs

Sylvain Martel - INF1500 40

TTL, CMOS, etc…

ICs

Sylvain Martel - INF1500 41

Exercices – Bitstreams

Sylvain Martel - INF1500 42

Exercices - Décodeur 2-à-4 - Bitstream

Sylvain Martel - INF1500 43