17
Travaux Pratiques : Circuits Logiques Introduction Dans le cadre de la seconde partie du cours sur les circuits logiques, nous avons choisi de mettre l'accent sur la technologie de la logique programmable. Nous allons illustrer cette technologie à travers une série de travaux pratiques sur le kit University Program 1 (UP1) et le logiciel de développement Max+Plus II de la société Altera. Technologies des circuits logiques Afin d'obtenir un circuit logique, un large éventail de technologies et de méthodologies peuvent être utilisées. La figure suivante résume les principales branches de l'arbre "généalogique" des circuits numériques. En partant de la gauche, nous trouvons la logique câblée classique, la logique programmable, les ASICs (Application Specific Integrated Circuits) et enfin les systèmes logiques entièrement configurables. Full Custom Standard Logic Progammable Logic (FPLDs) ASICs Digital Logic TTL 74xx CMOS 4xxx PLDs FPGAs Gate Arrays Microprocessor & RAM Standard Cell CPLDs Figure 1 : Les technologies des circuits logiques La technologie de la logique câblée permet de réaliser des circuits de faible complexité à un coût réduit, en interconnectant des circuits logiques classiques TTL (série 74xx) ou CMOS (série 4xxx). Lorsque la complexité sera plus importante on préférera utiliser des circuits logiques programmables « sur-le-champ » : FPLDs (Field Programmable Logic Devices) du type PLD (Programmable Logic Device) , FPGA (Field Programmable Gate Array) ou CPLD (Complex Programmable Logic Device). Ces technologies permettent de réaliser des circuits logiques en configurant des matrices de portes logiques et de bascules. Les ASICs (Application Specific Integrated Circuit) permettent de réaliser des circuits logiques de hautes performances. Le principe de base de cette technologie est d'utiliser des blocs de circuit déjà synthétisés et de réaliser Gérard Dray – avril 2001 1

TP circuits logiques - fabien.lydoire.free.fr

  • Upload
    others

  • View
    15

  • Download
    1

Embed Size (px)

Citation preview

Page 1: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Introduction Dans le cadre de la seconde partie du cours sur les circuits logiques, nous avons choisi de mettre l'accent sur la technologie de la logique programmable. Nous allons illustrer cette technologie à travers une série de travaux pratiques sur le kit University Program 1 (UP1) et le logiciel de développement Max+Plus II de la société Altera.

Technologies des circuits logiques Afin d'obtenir un circuit logique, un large éventail de technologies et de méthodologies peuvent être utilisées. La figure suivante résume les principales branches de l'arbre "généalogique" des circuits numériques. En partant de la gauche, nous trouvons la logique câblée classique, la logique programmable, les ASICs (Application Specific Integrated Circuits) et enfin les systèmes logiques entièrement configurables.

Full Custom

Standard Logic

Progammable Logic (FPLDs) ASICs

Digital Logic

TTL 74xx

CMOS 4xxx PLDs FPGAs

Gate Arrays

Microprocessor & RAM

Standard Cell

CPLDs

Figure 1 : Les technologies des circuits logiques

La technologie de la logique câblée permet de réaliser des circuits de faible complexité à un coût réduit, en interconnectant des circuits logiques classiques TTL (série 74xx) ou CMOS (série 4xxx). Lorsque la complexité sera plus importante on préférera utiliser des circuits logiques programmables « sur-le-champ » : FPLDs (Field Programmable Logic Devices) du type PLD (Programmable Logic Device) , FPGA (Field Programmable Gate Array) ou CPLD (Complex Programmable Logic Device). Ces technologies permettent de réaliser des circuits logiques en configurant des matrices de portes logiques et de bascules. Les ASICs (Application Specific Integrated Circuit) permettent de réaliser des circuits logiques de hautes performances. Le principe de base de cette technologie est d'utiliser des blocs de circuit déjà synthétisés et de réaliser

Gérard Dray – avril 2001 1

Page 2: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

leur interconnexion en fabriquant un masque spécifique. Cette technologie faisant appel à une étape supplémentaire de fabrication, son coût est assez élevé et ne sera justifiée que pour un volume important de circuits. Pour obtenir des performances élevées, les concepteurs s'orienteront vers des solutions technologiques entièrement configurable à base de circuits VLSI (microprocesseurs, microcontrôleurs, RAM, ROM). La figure suivante représente les caractéristiques de ces différentes technologies en fonction de leur coût et de la durée de développement.

PLDs

ASICs

Full CustomVLSI Design

Speed,Density,Complexity,MarketVolumeneeded forProduct

Engineering Cost, Time to Develop Product

CPLDsFPGAs

Figure 2 : Champ d’application des différentes technologies de circuits logiques

Processus de conception des circuits logiques programmables Le processus de conception d'un circuit logique programmable est décrit sur la figure 3. Ce processus se décompose en quatre phases principales : • Phase 1 - Conception

Cette phase consiste à décrire le circuit sous la forme de schémas électroniques (au niveau porte ou fonctionnel) ou sous la forme de description textuelle en utilisant des langages de description de matériel tel que VHDL.

• Phase 2 - Compilation Cette phase consiste à choisir un circuit logique programmable et à compiler les descriptions obtenues durant la phase précédente en fonction de ce choix.

• Phase 3 - Simulation Durant cette phase le comportement logico-temporel des circuits est simulé afin de contrôler les fonctionnalités et les performances temporelles du circuit final. Pour cela des stimuli d'entrée sont générés et appliqués à la description compilée.

• Phase 4 - Vérification et programmation Durant cette phase le résultat de la compilation est vérifié avant d'être programmer ou téléchargé sur la carte d'application.

Gérard Dray – avril 2001 2

Page 3: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Conception

Schémasélectroniques

Descriptiontextuelle VHDL

Compilation

Compilateur

Simulation

Chronogramme

Analyselogico-temporelle

Vérification

Programmateur

Carte d'application Figure 3 : Processus de conception d’un circuit logique programmable

Le kit ALTERA University Program Le kit universitaire de la société ALTERA est composé d'une carte d'application UP1 et d'un logiciel de développement MAX+plus II.

La carte d'application Cette carte représentée sur la figure 4 possède deux circuits logiques programmables de type CPLD :

• Un MAX 7000S : EPM7128SLC84-7 • Un FLEX 10K : EPF10K20RC240-4

ainsi que des éléments d'entrée/sortie tel que : • Des boutons poussoirs • Des interrupteurs • Des diodes électroluminescentes • Des afficheurs 7 segments • Une interface de type PS2 • Une sortie vidéo VGA

FLEX_EXPAN_C

FLEX_10K

EPF10K20RC240-4 DAA239837

R

R

Mouse

25.175 MHzCLOCK

FLEX_EXPAN_AFLEX_PB1 FLEX_PB2

D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

D11

D12

D13

D14

D15

D16

DC_IN FLEX_DIGIT

U1

JTAG_OUT

POWER TCK

MAX_SW1 MAX_SW2

EMP7128SLC84-7 BFD329837

R

R

VGAAdapter

P1

P2

P3P4

P9 P10P6P5

P7 P8

EPC

Figure 4 : La carte d’application UP1

Gérard Dray – avril 2001 3

Page 4: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Boutons poussoirs, diodes électroluminescentes et afficheurs 7 segments Ces éléments sont tous actifs à l’état bas aussi bien en entrée qu’en sortie comme le montre les exemples de la figure 5.

AlteraFlex

Device

+5V +5V+5V

PB1

PB2

LED

MSD LSDa

b

c

d

e

fg

dp

a

b

c

d

e

fg

dp

Figure 5 : Montage des boutons poussoirs, des LED et des afficheurs 7 segments Chaque circuit programmable présent sur la carte possède : deux boutons poussoirs et un afficheur sept segments de deux digits. Dans la suite du TP, nous adopterons pour les segments la notation représentée sur la figure 5.

Les cavaliers de configuration Sur la carte d’application nous pouvons choisir de programmer l’un ou l’autre des deux circuits ou bien les deux en même temps. Dans la suite de ce TP nous choisirons de ne programmer que le circuit FLEX. Aussi nous configurerons les cavaliers présents sur la carte comme indiqué sur la figure suivante.

MAX FLEX

Figure 6 : Configuration des cavaliers

Architecture du MAX 7000S La famille de circuits MAX (Multiple Array matriX) 7000S est une famille de composants CPLD possédant de 600 à 20000 portes. Ce dispositif est configurable en programmant une EEPROM interne. Cette technologie permet donc de conserver la configuration même sans alimentation électrique. Cette famille de circuit contient entre 32 et 256 macro-celulles représentées sur la figure 7. Dans ces macro-celulles, apparaissent les réseaux ET/OU programmables, ainsi qu'une bascule D également programmable. Ces macro-cellules sont combinées en groupe de 16 pour former des LABs (Logic Array Blocks). Ces LABs sont connectés entre eux par le biais d’un PIA (Programmable Interconnect Array). L'architecture générale d'un circuit de la famille MAX 7000S est représentée sur la figure 8.

Gérard Dray – avril 2001 4

Page 5: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Product-TermSelectMatrix

ClearSelect

Clock/EnableSelect

VCC

PRN

CLRN

ENA

D Q

GlobalClear

GlobalClock

To I/OControl

Block

To PIA

This respresents amultiplexercontrolled by theconfigurationprogram

ProgrammableRegister

36 Signalsfrom PIA

16 ExpanderProduct

Shared LogicExpanders

LAB Local Array

Parallel LogicExpanders(from othermacrocells)

Figure 7 : MAX 7000S – Macro-cellule

Input/GCLK1Input/OE2/GCLK2

Input/OE1

LAB A

Macrocells1-166-

6-16

16

6-16I/O

ControlBlock

6-16I/O Pins

3

LAB C

Macrocells33-486-

6-16

16

6-

I/OControlBlock

6-16I/O Pins

3

LAB B

LAB D

Macrocells17-32

Macrocells49-64

6-16

1

3

6-16

1

3

6-16I/O Pins

6-16I/O Pins

I/OControlBlock

I/OControlBlock

6

6

6

6

PIA

6 OutputInput/GCLRn

6 Output

6-

6-16

6-

6-

Figure 8 : MAX 7000S - Architecture générale

Gérard Dray – avril 2001 5

Page 6: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Entrées Sorties du MAX 7000 Certaines broches du circuit sont utilisables. Le tableau suivant récapitule les fonctions et les numéros des broches.

Pin Name Pin Type Pin Function of Pin

MSD_dp OUTPUT PIN 68 Most Significant Digit of Seven-segment Display Decimal Point Segment (0 = LED ON, 1 = LED OFF)

MSD_g OUTPUT PIN 67 MSD Display Segment G (0 = LED ON, 1 = LED OFF) MSD_f OUTPUT PIN 65 MSD Display Segment F (0 = LED ON, 1 = LED OFF) MSD_e OUTPUT PIN 64 MSD Display Segment E (0 = LED ON, 1 = LED OFF) MSD_d OUTPUT PIN 63 MSD Display Segment D (0 = LED ON, 1 = LED OFF) MSD_c OUTPUT PIN 61 MSD Display Segment C (0 = LED ON, 1 = LED OFF) MSD_b OUTPUT PIN 60 MSD Display Segment B (0 = LED ON, 1 = LED OFF) MSD_a OUTPUT PIN 58 MSD Display Segment A (0 = LED ON, 1 = LED OFF)

LSD_dp OUTPUT PIN 79 Least Significant Digit of Seven-segment Display Decimal Point Segment (0 = LED ON, 1 = LED OFF)

LSD_g OUTPUT PIN 77 LSD Display Segment G (0 = LED ON, 1 = LED OFF) LSD_f OUTPUT PIN 75 LSD Display Segment F (0 = LED ON, 1 = LED OFF) LSD_e OUTPUT PIN 76 LSD Display Segment E (0 = LED ON, 1 = LED OFF) LSD_d OUTPUT PIN 74 LSD Display Segment D (0 = LED ON, 1 = LED OFF) LSD_c OUTPUT PIN 73 LSD Display Segment C (0 = LED ON, 1 = LED OFF) LSD_b OUTPUT PIN 70 LSD Display Segment B (0 = LED ON, 1 = LED OFF) LSD_a OUTPUT PIN 69 LSD Display Segment A (0 = LED ON, 1 = LED OFF)

PB1 INPUT PIN * Push-Button 1 (non–debounced, 0 = button depressed) PB2 INPUT PIN * Push-Button 2 (non–debounced, 0 = button depressed)

D1..D16 LEDs OUTPUT PIN *

16 Discrete LEDs - D1…D16 (0 = LED ON, 1 = LED OFF)

SW1 & SW2 INPUT PIN *

MAX DIP Switch Inputs - SWxS1...SWxS8 (1 = Open, 0 = Closed)

Clock INPUT PIN 83 25.175Mhz System Clock on low skew Global Clock Line

Prototyping Header

Pins INPUT,

OUTPUT 1-84 Black Prototyping Headers next to MAX chip Numbers are silk-screened on board. Pins 12, 33, 54, 75, and 83 are not available.

* Jumper wires from the switch or LED to the MAX prototyping headers are required to use these devices.

Any available unused MAX header pin can be assigned to this device. Note: A number of other pins are pre-assigned and required for programming, power, and ground connections.

Table 1 : Configuration des broches du MAX 7000S

Gérard Dray – avril 2001 6

Page 7: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Architecture du FLEX 10K La famille de circuits FLEX (Flexible Logic Element matriX) est une famille de composants possédant de 10000 à 250000 portes. La configuration des circuits de cette famille est réalisée en programmant une SRAM (Static Random Access Memory). Cette technologie impose de maintenir une alimentation électrique pour conserver la programmation des circuits. Cependant, une mémoire de type PROM peut être utilisée pour charger automatiquement la configuration lorsque le dispositif est mis sous tension. Sur la figure 9 est représenté un élément logique FLEX. La partie logique combinatoire est réalisée en utilisant une LUT (LookUp Table). Une LUT est une SRAM très rapide de 16 adresses d'un bit. Cette technique permet de réaliser n'importe quelle fonction logique de 4 entrées et une sortie. Un exemple est donné sur la figure 10. La partie séquentielle d'un élément FLEX est implémentée en utilisant une bascule D configurable.

PRN

CLRNENA

D Q

Programmable Register

DATA1DATA2DATA3DATA4

LABCTRL1LABCTRL2

Chip-WideReset

LABCTRL3LABCTRL4

Look-UpTable(LUT)

CarryChain

CascadeChain

To FastTrackInterconnect

To LAB LocalInterconnect

Clear/PresetLogic

Clock Select

CarryOut

CascadeOut

Register BypassCarry

InCascade

In

Figure 10 : FLEX 10K – architecture d’un élément logique

4 InputLUT

(16 x 1 RAM)

ABCD

F

AB

CD

F

RAM ContentsAddress Data

A B C D F0 0 0 0 00 0 0 1 00 0 1 0 10 0 1 1 00 1 0 0 00 1 0 1 00 1 1 0 10 1 1 1 01 0 0 0 01 0 0 1 01 0 1 0 11 0 1 1 01 1 0 0 11 1 0 1 11 1 1 0 11 1 1 1 1

Figure 11 : FLEX 10K – Utilisation d’une LUT

Gérard Dray – avril 2001 7

Page 8: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Les éléments logique FLEX sont organisés en blocs de 8 pour former des LABs (Logic Array Block) comme représenté sur la figure 12.

LE1LE1

LE2

LE3

LE4

LE5

LE6

LE7

LE8

Carry-In andCascade-In Column-to-Row

Interconnect

Row Interconnect

Dedicated Inputs &Global Signals

LogicBlockArray(LAB)

4

4

4

4

4

4

4

4

4

8

6 16

4

Carry-Out and Cascade-Out2

2

4

8 24

168

Figure 12 : FLEX 10K – Architecture d’un LAB

I/O Element(IOE)

IOE IOE IOE IOE IOE IOE IOE IOE IOE IOE

IOE IOE IOE IOE IOE IOE IOE IOE IOE IOE

IOE

IOE

IOE

IOE

IOE

IOE

IOE

IOERow

LocalInterconnect

Logic Element(LE)

Logic ArrayBlock (LAB)

EAB

EAB

Logic Array

EmbeddedArray Block(EAB)2K Bits RAM

Row

Figure 13 : FLEX 10K – Architecture générale

Gérard Dray – avril 2001 8

Page 9: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

L'architecture finale de la famille des FLEX 10K est représentée sur la figure 13. Les EABs (Embedded Array Blocks) sont des mémoires de 2048 bits configurables en 256 x 8 bits, 512 x 4 bits, 1024 x 2 bits ou 2048 x 1 bit.

Entrées Sorties du FLEX 10K Certaines broches du circuit sont utilisables. Le tableau suivant récapitule les fonctions et les numéros des broches.

Pin Name Pin Type Pin Function of Pin

MSD_dp OUTPUT PIN 14 Most Significant Digit of Seven-segment Display - Decimal Point Segment (0 = LED ON, 1 = LED OFF)

MSD_g OUTPUT PIN 13 MSD Display Segment G (0 = LED ON, 1 = LED OFF)

MSD_f OUTPUT PIN 12 MSD Display Segment F (0 = LED ON, 1 = LED OFF)

MSD_e OUTPUT PIN 11 MSD Display Segment E (0 = LED ON, 1 = LED OFF)

MSD_d OUTPUT PIN 9 MSD Display Segment D (0 = LED ON, 1 = LED OFF)

MSD_c OUTPUT PIN 8 MSD Display Segment C (0 = LED ON, 1 = LED OFF)

MSD_b OUTPUT PIN 7 MSD Display Segment B (0 = LED ON, 1 = LED OFF)

MSD_a OUTPUT PIN 6 MSD Display Segment A (0 = LED ON, 1 = LED OFF)

LSD_dp OUTPUT PIN 25 Least Significant Digit of Seven-segment Display - Decimal Point Segment (0 = LED ON, 1 = LED OFF)

LSD_g OUTPUT PIN 24 LSD Display Segment G (0 = LED ON, 1 = LED OFF)

LSD_f OUTPUT PIN 23 LSD Display Segment F (0 = LED ON, 1 = LED OFF)

LSD_e OUTPUT PIN 21 LSD Display Segment E (0 = LED ON, 1 = LED OFF)

LSD_d OUTPUT PIN 20 LSD Display Segment D (0 = LED ON, 1 = LED OFF)

LSD_c OUTPUT PIN 19 LSD Display Segment C (0 = LED ON, 1 = LED OFF)

LSD_b OUTPUT PIN 18 LSD Display Segment B (0 = LED ON, 1 = LED OFF)

LSD_a OUTPUT PIN 17 LSD Display Segment A (0 = LED ON, 1 = LED OFF)

FLEX_switch_1 INPUT PIN 41 FLEX DIP Switch Input 1 (1 = Open, 0 = Closed)

FLEX_switch_2 INPUT PIN 40 FLEX DIP Switch Input 2 (1 = Open, 0 = Closed)

FLEX_switch_3 INPUT PIN 39 FLEX DIP Switch Input 3 (1 = Open, 0 = Closed)

FLEX_switch_4 INPUT PIN 38 FLEX DIP Switch Input 4 (1 = Open, 0 = Closed)

FLEX_switch_5 INPUT PIN 36 FLEX DIP Switch Input 5 (1 = Open, 0 = Closed)

FLEX_switch_6 INPUT PIN 35 FLEX DIP Switch Input 6 (1 = Open, 0 = Closed)

FLEX_switch_7 INPUT PIN 34 FLEX DIP Switch Input 7 (1 = Open, 0 = Closed)

FLEX_switch_8 INPUT PIN 33 FLEX DIP Switch Input 8 (1 = Open, 0 = Closed)

PB1 INPUT PIN 28 Push-Button 1 (non–debounced, 0 = button depressed)

PB2 INPUT PIN 29 Push-Button 2 (non–debounced, 0 = button depressed)

Horiz_Sync OUTPUT PIN 240 VGA Video Signal - Horizontal Synchronization

Vert_Sync OUTPUT PIN 239 VGA Video Signal - Vertical Synchronization

Blue OUTPUT PIN 238 VGA Video Signal - Blue Video Data

Green OUTPUT PIN 237 VGA Video Signal - Green Video Data

Red OUTPUT PIN 236 VGA Video Signal - Red Video Data

PS2_CLK BIDIRECTIONAL 30 Clock line for PS/2 Mouse and Keyboard

PS2_DATA BIDIRECTIONAL 31 Data line for PS/2 Mouse and Keyboard

Clock INPUT PIN 91 25.175 MHz System Clock on low skew Global Clock Line

Table 2 : Configuration des broches du FLEX 10K

Gérard Dray – avril 2001 9

Page 10: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Le logiciel MAX+PLUS II Voici comment se présente le logiciel Max+plus II de la société Altera lors du lancement du programme :

Figure 14 : Fenêtre d’accueil du logiciel ALTERA MAX+plus II

Ce logiciel permet la programmation des circuits programmables Altera. La programmation d’un circuit en utilisant le logiciel MAX+plus II se décompose en 4 phases : 1. saisie de la description du circuit. Pour cela 3 outils sont utilisables :

• description sous la forme d’un schéma électronique, • description textuelle en utilisant un langage de programmation (VHDL

ou AHDL), • description sous la forme de chronogramme.

2. vérification de la description par compilation du circuit, 3. vérification du bon fonctionnement de la description par simulation logico-

temporelle. A ce stade, il peut-être nécessaire de reprendre à la 1ère phase, 4. programmation du circuit physique. Nous traiterons ces phases en détail à travers les différents travaux pratiques.

Découverte de l'environnement de développement Nous allons découvrir, étape par étape, le processus de développement d’un circuit logique à travers un exemple très simple de programmation d’une porte ou exclusif. Les entrées de la porte seront connectées aux boutons poussoir et la sortie sera affichée sur le point de l’afficheur sept segments Démarrez le logiciel MAX+plus II 9.23 Baseline

Gérard Dray – avril 2001 10

Page 11: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Créez un nouveau fichier de schéma logique. Menu : File 4 New…

Dessiner le schéma d’une porte ou exclusif en utilisant les bibliothèques de portes existantes.

En utilisant la souris, tracez les connexions entre les portes. En double cliquant sur les entrées et la sortie donnez un nom aux connecteurs : E1, E2 et S.

Nous allons maintenant créer un nouveau symbole à partir de notre schéma. Menu : File 4 Create Default Symbol Puis, Menu : File Edit Symbol

Gérard Dray – avril 2001 11

Page 12: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Créez un nouveau projet : test_portexor. Menu : File 4 Project 4 Name…

Choisir le circuit de destination : FLEX 10K EPF10K20RC240-4 Menu : Assign 4 Device…

Nous allons maintenant utiliser le symbole produit précédemment. Pour cela créez un nouveau fichier graphique et insérez le symbole portexor. Nous allons ajouter un inverseur à la sortie de notre schéma pour que la diode électroluminescente qui sera connectée s’allume pour un 1 logique et s’éteigne pour un 0 logique. Pour pouvoir connecter notre porte aux boutons poussoirs et aux LED, nous rajoutons des entrées et des sorties à notre schéma. En double cliquant sur les entrées et la sortie donnez un nom aux connecteurs : PB1, PB2 et LED.

Gérard Dray – avril 2001 12

Page 13: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Spécifiez sur quelles broches du circuits seront réellement connectés les éléments PB1, PB2 et LED : PB1 sur la broche 28 du circuit FLEX PB2 sur la broche 29 du circuit FLEX LED sur la broche 14 du circuit FLEX Menu : Assign 4 Pin/Location/Chip… Nous allons maintenant sauvegarder et compiler notre projet. Menu : File 4 Project 4 Save & Compile

Gérard Dray – avril 2001 13

Page 14: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Pour vérifier si notre schéma fonctionne correctement, nous allons le simuler. Pour cela nous devons dans un premier temps générer les stimuli d’entrée sous la forme de chronogrammes. Menu : File 4 New… Nous allons maintenant importer les entrées et les sorties à partir du schéma compilé. Menu : Node 4 Enter Nodes from SNF…

Nous pouvons maintenant spécifier les stimuli d’entrée sous la forme de chronogrammes. Sélectionner la ligne de BP1, et avec le bouton droit de la souris ouvrir le menu contextuel et choisir pour ce signal un compteur binaire avec un coefficient multiplicateur de 1. Faire de même pour la ligne PB2 en choisissant un facteur 2.

Gérard Dray – avril 2001 14

Page 15: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Choisissez une zone d’affichage de 0 à 500ns. Menu : View 4 Time Range…

Lancez la simulation. Menu : MAX+plus II 4 Simulator

Vous pouvez observer le résultat de la simulation sur le signal de sortie LED.

Nous pouvons maintenant estimer les délais de propagation des signaux dans notre circuit. Menu :MAX+plus II 4 Timing Analyzer

Gérard Dray – avril 2001 15

Page 16: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Nous pouvons également obtenir une représentation graphique de l’architecture du circuit obtenu. Menu : MAX+plus II 4 Floorplan Editor

Enfin nous pouvons programmer le circuit FLEX. Menu : MAX+plus II 4 Programmer Choisissez le dispositif ByteBlaster comme moyen de programmation. Menu : Options 4 Hardware Setup … Choisissez le circuit à programmer et le fichier binaire à télécharger. Menu : JTAG 4 Multi-Device JTAG Chain Setup …

Gérard Dray – avril 2001 16

Page 17: TP circuits logiques - fabien.lydoire.free.fr

Travaux Pratiques : Circuits Logiques

Cliquez sur Configure et vérifiez le fonctionnement de la programmation sur la carte.

Exercices Appliquez les mêmes étapes pour synthétiser les éléments suivants :

1. Bascule RS asynchrone 2. Bascule RS synchrone 3. Bascule D 4. Bascule D sensible sur front descendant 5. Bascule D sensible sur front montant 6. Bascule D sensible sur front descendant avec entrées de forçage 7. Bascule D sensible sur front montant avec entrées de forçage 8. Registre à décalage de 8 bits avec entrée série 9. Registre à décalage de 8 bits avec entrée parallèle et série

Projet L’objectif de ce projet est de réaliser un dé électronique (8 nombres aléatoires) en utilisant le circuit CPLD FLEX présent sur la carte UP1. Le cahier des charges de ce projet est le suivant :

• Un nombre aléatoire sera généré à chaque pression sur le bouton PB1. • Tant que le bouton PB1 sera pressé, ce nombre sera visualisé sur le

digit de poids fort de l’afficheur sept segments. • Quand le bouton PB1 sera relâché ce nombre sera mémorisé sur le digit

de poids faible de l’afficheur sept segments et le digit de poids fort sera effacé.

• Un générateur de nombres pseudo-aléatoires sera développé en utilisant un « Linear feedback shift register » (LFSR)

• La valeur initiale du générateur (seed) sera initialisée sur les micro-interrupteurs.

• Une pression sur le bouton PB2 réinitialisera le générateur.

Gérard Dray – avril 2001 17