Vous êtes sur la page 1sur 27
D ATE : 3 JUIN 2007 Page : 1/ 27

DATE : 3 JUIN 2007 Page : 1/27

Réalisation d’un fréquencemètre

Rédigé par

Responsabilité

AAJAIL Hamid

Elève ingénieur ENSEEIHT (2A EN)

DAOUD Bilel

Elève ingénieur ENSEEIHT (2A EN)

AAJAIL Hamid Elève ingénieur ENSEEIHT (2A EN) DAOUD Bilel Elève ingénieur ENSEEIHT (2A EN)
D ATE : 3 JUIN 2007 Page : 2/ 27

DATE : 3 JUIN 2007 Page : 2/27

TABLE DES MATIERES

1. INTRODUCTION

3

2. ABREVIATIONS

4

3. CONVENTIONS

4

4. DOCUMENTS DE REFERENCE

4

5. DESCRIPTION GENERALE

5

5.1 description de l'environnement

5

5.2 fonctionnalité globale

6

5.3 modes opératoires

8

5.4 caractéristiques générales du FPGA

9

6. DESCRIPTION DETAILLEE

10

6.1 Synthèse du signal CE

10

6.2 Comptage

14

6.3 Affichage

16

7. INTERFACES

23

7.1 description des entrées / sorties

24

7.2 caractéristiques électriques

25

7.2.1 caractéristiques

statiques

25

7.2.2 caractéristiques

dynamiques

25

8. BOITIER

25

9. TESTS

25

10. ALIMENTATION

25

11. BUDGETS

2626

11.1 complexité

26

11.2 consommation

26

12. POINTS CRITIQUES

26

13. CONFIGURATION

27

D ATE : 3 JUIN 2007 Page : 3/ 27

DATE : 3 JUIN 2007

Page : 3/27

1. INTRODUCTION

Dans ce projet, nous allons réaliser un fréquencemètre numérique. Ce dernier doit pouvoir afficher des fréquences allant de 1 Hz à 10 MHz minimum. Le cahier des charges nous stipule aussi que l'affichage devra être rafraîchit toutes les 2s.

Nous allons pour cela utiliser la plaquette de TP-FPGA qui contient une carte Pegasus Digilent SPARTAN II XC2S50-PQ-208 avec 4 afficheurs 7 segments, 8 interrupteurs, 4 boutons poussoirs et 8 diodes électroluminescentes. Le résultat de la mesure va être visualisé sous forme scientifique (x,yzt.10 a avec a entier entre 0 et 7) à l’aide de 4 afficheurs 7 segments et de 8 diodes électroluminescentes (DEL) indiquant la gamme de la fréquence (dans notre projet on a opté pour un affichage de 3 chiffres après la virgule en utilisant

les diodes led0

Dans l'optique de réaliser ce fréquencemètre, on a choisi comme principe de mesure l’utilisation de durée étalon.

ledi

led7 correspondant chacun à la puissance i de 10 de la fréquence exprimée en Hz).

à la puissance i de 10 de la fréquence exprimée en Hz). Et on a suivie

Et on a suivie la synoptique ci-dessus :

Un module de synthèse du signal CE composé de trois blocs :

Un compteur qui génère une horloge H de 0,5 Hz.

Un détecteur de fronts (montants et descendants) de H.

Une machine à états permettant la création d’un signal CE à partir des fronts montants et descendants de H.

Un module de comptage composé de 2 blocs:

Une chaîne de comptage constitué de 8 compteurs BCD permettant de calculer la fréquence. Un bloc Init permettant la remise à zéro des compteurs.

Un module d’affichage contenant :

Un bloc pré affichage qui nous permet de sélectionner les 4 chiffres à afficher et

Un registre nous servant à mémoriser les données nécessaires à l’afficheur.

aussi sur la puissance de 10 de la fréquence exprimée en Hz. Un décodeur déterminant la diode à allumer. Une machine à états chargés du multiplexage de l’affichage sur les 4 afficheurs qui devra fournir 4 signaux AN0, AN1, AN2, AN3 nécessaires aux 4 anodes des afficheurs, de l’affichage point décimal sur l’afficheur souhaité et de terminer l’entrée de l’afficheur 7 segments. L’afficheur 7 segments.

décimal sur l’afficheur souhaité et de terminer l’entrée de l’afficheur 7 segments. L’afficheur 7 segments.
décimal sur l’afficheur souhaité et de terminer l’entrée de l’afficheur 7 segments. L’afficheur 7 segments.
D ATE : 3 JUIN 2007 Page : 4/ 27

DATE : 3 JUIN 2007 Page : 4/27

2. ABREVIATIONS

Liste les abréviations utilisées :

E/S

:

Entrées / Sorties

FPGA

:

field-programmable gate array : réseau de portes programmables in-situ

IOBs

:

Input Output Blokcs

CLBs

:

Configurable logic blocks

Clk

:

Horloge 50 MHz

CE

:

Clock Enable

S

:

Signal d’entrée

H

:

Horloge de 0,5 Hz

Raz, rst :

Remise a zéro

d_Fm

: détecteur de fronts montants

d_Fd

: détecteur de fronts descendants

3. CONVENTIONS

LSB : bit de poids le plus faible MSB : bit de poids le plus fort

4. DOCUMENTS DE REFERENCE

Nom

Titre

DR[1]

Présentation du projet numérique BONY Francis

DR[2]

Digilent Pegasus Board Reference Manual Revision: August 11, 2005

DR[3]

BCD to Seven Segment Decodor/Driver August 1997

DR[4]

http://fr.wikipedia.org/wiki/

FPGA

DR[5]

http://www-rocq.inria.fr/codes/

CAM/03-09-23/Tisserand.pdf

D ATE : 3 JUIN 2007 Page : 5/ 27

DATE : 3 JUIN 2007 Page : 5/27

5. DESCRIPTION GENERALE

5.1 Description de l'environnement

DESCRIPTION GENERALE 5.1 Description de l'environnement Schéma global du fréquencemètre Notre circuit est

Schéma global du fréquencemètre

Notre circuit est composé de 3 blocs principaux : un bloc de synthèse du signal étalon, un bloc de comptage et un bloc d’affichage.

est composé de 3 blocs principaux : un bloc de synthèse du signal étalon, un bloc
D ATE : 3 JUIN 2007 Page : 6/ 27

DATE : 3 JUIN 2007 Page : 6/27

Le 1er bloc est composé de 3 sous blocs : un compteur qui génère l’horloge H permettant le rafraîchissement du comptage chaque 2s, un module qui détecte les fronts montants et descendants de H

et un automate de synthèse de CE à partir des fronts de H.

Le second bloc est composé de 2 sous blocs : une chaîne de comptage composée de 8 compteurs BCD

qui vont nous calculer la fréquence du signa l’entrée et un bloc d’initialisation de tous ces compteur qui s’active aux fronts descendants de CE. Pour le signal S qui est une entrée du bloc, on a utilisé une bascule

D pour le synchroniser sur l’horloge 50 MHz et aussi un Buffer I_Buf qui nous permettra de synthétiser le

bloc avec VHDL Le bloc d’affichage contient cinq sous blocs : le 1er est un registre qui mémorise les données nécessaires à l’affichage, ainsi l’afficheur affichera le résultat final du comptage et non pas les valeurs intermédiaire du calcul. Le second sous bloc sélectionne les 4 chiffres à afficher ainsi que le led à allumer pour exprimer la valeur de la fréquence en Hz sous forme scientifique avec 3 chiffres après la virgule. Le 3eme et le dernier sous bloc sont des décodeurs déterminant respectivement la diode à allumer et les chiffres à afficher, tandis que l’avant dernier bloc est une machine à états qui gère l’affichage sur les quatre afficheurs en utilisant une fréquence de balayage assez grande devant la fréquence rétinienne de l’œil.

5.2 Fonctionnalité globale

Architecture du FPGA (Xilinx) :

Un FPGA réalise une fonction logique complexe. Il est programmable, et re-programmable dans son environnement

• Les circuits FPGA XILINX sont disponibles en de nombreuses configurations de taille, de vitesse et de prix

• Des outils logiciels puissants et automatiques permettent de réaliser facilement un système sur FPGA

Structure générale

Un FPGA est un réseau (matrice) de blocs combinatoires et séquentiels (CLB)

• Des blocs d’entrée/sortie (IOB) sont associés aux broches du circuit

• Les CLB et IOB sont interconnectés entre eux par des dispositifs variés

• Les matrices s’organisent de 8x8 à 128x120

CLB et IOB sont interconnectés entre eux par des dispositifs variés • Les matrices s’organisent de
D ATE : 3 JUIN 2007 Page : 7/ 27

DATE : 3 JUIN 2007 Page : 7/27

Structure des CLB

• Une table de transcodage combinatoire (LUT) pouvant implanter :

– deux fonctions indépendantes à 4 variables

– une fonction complète à 5 variables

– une fonction incomplète à 6 variables

• Deux cellules séquentielles (bascules D)

• Des multiplexeurs de configuration

(bascules D) • Des multiplexeurs de configuration Structure des IOB Ports d’entrée/sortie totalement

Structure des IOB

Ports d’entrée/sortie totalement programmables :

• Seuil d’entrée TTL ou CMOS

• Slew-rate programmable

• Buffer de sortie programmable en haute impédance

• Entrées et sorties directes ou mémorisées

• Inverseur programmable

D ATE : 3 JUIN 2007 Page : 8/ 27

DATE : 3 JUIN 2007 Page : 8/27

D ATE : 3 JUIN 2007 Page : 8/ 27 5.3 Modes opératoires Les circuits FPGA

5.3 Modes opératoires

Les circuits FPGA XILINX se configurent selon plusieurs modes :

1) Le mode série qui utilise une EEPROM série (avantage de la compacité mais faible rapidité) 2) Le mode parallèle 8 bits (EPROM classique) plus rapide 3) Le mode parallèle asynchrone : le circuit FPGA se comporte comme un périphérique de micro- processeur : possibilité de (re)configuration partielle intelligente Dans chaque mode, plusieurs FPGAs peuvent être chaînés en mode maître/esclave.

partielle intelligente Dans chaque mode, plusieurs FPGAs peuvent être chaînés en mode maître/esclave.
D ATE : 3 JUIN 2007 Page : 9/ 27

DATE : 3 JUIN 2007 Page : 9/27

D ATE : 3 JUIN 2007 Page : 9/ 27 5.4 Caractéristiques générales du FPGA Présentation
D ATE : 3 JUIN 2007 Page : 9/ 27 5.4 Caractéristiques générales du FPGA Présentation

5.4 Caractéristiques générales du FPGA

Présentation succincte des caractéristiques du FPGA (fabricant, modèle, fréquence, alimentation, puissance, type d'E/S …)

Fabricants du FPGA : -- Xilinx -- Altera --Lattice --Actel --Cypress --Atmel --QuickLogic --Nallatech

D ATE : 3 JUIN 2007 Page : 10/ 27

DATE : 3 JUIN 2007 Page : 10/27

Familles de FPGA : Famille XC4000 --Famille FLEX8000 --Famille XC5200 --Famille FLEX10K -- Famille XC6200 --Famille XC8100 --Famille FLEX6000 --Famille SPARTAN --Famille APEX 20K -- Famille VIRTEX – Famille SPARTAN II

APEX 20K -- Famille VIRTEX – Famille SPARTAN II Les blocs d'entrée/sortie servent d'interface

Les blocs d'entrée/sortie servent d'interface entre les pattes (plots) du circuit et le coeur du FPGA (via le routage programmable).Il y a différents types d'entrées/sorties :

entrées/sorties utilisateur adaptation des signaux (CMOS, TTL, 3.3, 2.5, 1.8, 1.5, paire di alimentations sépares en zones : coeur, \bancs" de plots, zones basse-consommation signaux d'horloge possibilité d'avoir plusieurs horloges signaux de configuration programmation du FPGA signaux de test boundary scan JTAG pour debug

)

6. DESCRIPTION DETAILLEE

6.1 Synthèse du signal CE :

6.1.1 Horloge 0.5 Hz :

D ATE : 3 JUIN 2007 Page : 11/ 27

DATE : 3 JUIN 2007 Page : 11/27

Ce composant a pour fonction de générer une horloge de période 2 secondes à partir de l’horloge 50 MHz du FPGA.

période 2 secondes à partir de l’horloge 50 MHz du FPGA. Schéma du composant Entrées :

Schéma du composant

Entrées :

clk : l’horloge 50MHz rst : remise a zéro Sortie :

H : horloge 0,5 HzLe fonctionnement de ce composant est défini par ce code :

fonctionnement de ce composant est défini par ce code : On remarque que pour réaliser une

On remarque que pour réaliser une horloge 0.5 Hz à partir d’une horloge de 50 Mhz on doit compter jusqu’à 50 000 000 alors qu’on compte jusqu’à 50 000 160, ceci est dû au fait que l’horloge du FPGA n’est pas exactement à 50 MHz, en effet on a découvert ce problème lors du test du circuit global sur le FPGA : pour afficher 10MHz il faut rentrer un signal de fréquence 10 000 032 Hz donc il nous manquait 3.2 us sur 1s c'est-à-dire il faut ajouter 3.2us*50MHz = 160 coups d’horloge lors du comptage.

Simulation :

D ATE : 3 JUIN 2007 Page : 12/ 27

DATE : 3 JUIN 2007 Page : 12/27

D ATE : 3 JUIN 2007 Page : 12/ 27 NB : pour la simulation on

NB : pour la simulation on a pris k=5.

6.1.2 Détecteur de fronts :

Ce composant permet de détecter les fronts montants et les fronts descendants de l’horloge H :

fronts montants et les fronts descendants de l’horloge H : Schéma du composant Entrées : clk

Schéma du composant

Entrées :

clk : l’horloge 50MHz H : horloge 0,5 Hz Sorties :

d_Fm : détecteur de fronts montants d_Fd : détecteur de fronts descendants

Simulation :

d_Fd : détecteur de fronts descendants Simulation : 6.1.3 Machine à états : Ce composant permet

6.1.3 Machine à états :

Ce composant permet de générer le signal CE qui va servir comme étalon:

D ATE : 3 JUIN 2007 Page : 13/ 27

DATE : 3 JUIN 2007 Page : 13/27

D ATE : 3 JUIN 2007 Page : 13/ 27 Schéma du composant Entrées : clk

Schéma du composant

Entrées :

clk : l’horloge 50MHz rst : remise a zéro d_Fm : détecteur de fronts montants d_Fd : détecteur de fronts descendants Sortie :

CE : signal étalon

de fronts descendants Sortie : CE : signal étalon Diagramme d’états Simulation Lors de cette première

Diagramme d’états

Simulation

Sortie : CE : signal étalon Diagramme d’états Simulation Lors de cette première partie du projet,

Lors de cette première partie du projet, on est arrivé à générer le signal CE. En effet le comptage de la fréquence du signal d’entrée S se fait sur les fronts montants de ce signal, cependant on doit commencer ce comptage au front montant de H. Ceci pose un problème de synthèse puisque on ne peut pas utiliser deux horloges dans un même module. On a donc opter pour exploiter le signal CE :

(CE=’1’ H’ event and H=’1’)

D ATE : 3 JUIN 2007 Page : 14/ 27

DATE : 3 JUIN 2007 Page : 14/27

6.2 Comptage :

6.2.1 Initialisation :

Ce composant génère un signal raz qui initialise le compteur de fréquence.

un signal raz qui initialise le compteur de fréquence. Schéma du composant Entrées : clk :

Schéma du composant

Entrées :

clk : l’horloge 50MHz CE : signal étalon Sortie :

raz : remise a zéro

En effet, le signal raz est un détecteur de fronts descendants de CE décalé de deux coups d’horloge.

Simulation :

de CE décalé de deux coups d’horloge. Simulation : 6.2.2 Chaîne de comptage : a) Compteur

6.2.2 Chaîne de comptage :

a) Compteur BCD :

Ce composant compte de 0 jusqu’à 9.

Simulation : 6.2.2 Chaîne de comptage : a) Compteur BCD : Ce composant compte de 0

Schéma du composant

D ATE : 3 JUIN 2007 Page : 15/ 27

DATE : 3 JUIN 2007 Page : 15/27

Entrées :

entree : signal d’entrée du compteur CE : signal étalon raz : remise a zéro Sorties :

r : retenue c(3 : 0): résultat du comptage Ce compteur compte de 0 jusqu'à 9. Arrivé à 9, il est remis à zéro et il met la retenue à 1 . La retenue est remise à zéro au prochain comptage.

Simulation :

est remise à zéro au prochain comptage. Simulation : b) Compteur global : Ce composant est

b) Compteur global :

Ce composant est la mise en série de 8 compteurs BCD.

: Ce composant est la mise en série de 8 compteurs BCD. Schéma du composant Entrées

Schéma du composant

Entrées :

S : signal d’entrée du compteur CE : signal étalon raz : remise à zéro Sorties :

a0 (3 : 0): chiffre des unités a1 (3 : 0): chiffre des dizaines a2 (3 : 0): chiffre des centaine a3 (3 : 0): chiffre des milliers a4 (3 : 0): chiffre des dizaines de milliers a5 (3 : 0): chiffre des centaines de milliers a6 (3 : 0): chiffre des millions

D ATE : 3 JUIN 2007 Page : 16/ 27

DATE : 3 JUIN 2007 Page : 16/27

a7 (3 : 0): chiffre des dizaines des millions

L’entrée du 1 er compteur est le signal S, celle des autres est la retenue du compteur précédant.

Simulation1

autres est la retenue du compteur précédant. Simulation1 Cette simulation explique le déroulement du comptage pour

Cette simulation explique le déroulement du comptage pour les deux premiers compteurs (a0 et a1).

Simulation2

pour les deux premiers compteurs (a0 et a1). Simulation2 Cette simulation montre l’initialisation de tous les

Cette simulation montre l’initialisation de tous les compteurs lorsque raz est activé.

6.3 Affichage :

6.3.1 Registre :

Ce composant enregistre le résultat du comptage chaque deux secondes pour l’afficher.

D ATE : 3 JUIN 2007 Page : 17/ 27

DATE : 3 JUIN 2007 Page : 17/27

D ATE : 3 JUIN 2007 Page : 17/ 27 Schéma du composant Entrées : CE

Schéma du composant

Entrées :

CE : signal étalon a0 (3 : 0): chiffre des unités a1 (3 : 0): chiffre des dizaines a2 (3 : 0): chiffre des centaine a3 (3 : 0): chiffre des milliers a4 (3 : 0): chiffre des dizaines de milliers a5 (3 : 0): chiffre des centaines de milliers a6 (3 : 0): chiffre des millions a7 (3 : 0): chiffre des dizaines des millions Sorties :

b0 (3 : 0): chiffre des unités b1 (3 : 0): chiffre des dizaines b2 (3 : 0): chiffre des centaine b3 (3 : 0): chiffre des milliers b4 (3 : 0): chiffre des dizaines de milliers b5 (3 : 0): chiffre des centaines de milliers b6 (3 : 0): chiffre des millions b7 (3 : 0): chiffre des dizaines des millions

Sachant que au cours du comptage, les ai (3 :0) s’incrémentent l’utilisation du registre est nécessaire pour ne pas afficher les valeurs intermédiaires. On récupère le résultat du comptage à chaque front descendant de CE. Simulation

D ATE : 3 JUIN 2007 Page : 18/ 27

DATE : 3 JUIN 2007 Page : 18/27

D ATE : 3 JUIN 2007 Page : 18/ 27 6.3.2 Pré-affichage : Ce composant récupère

6.3.2 Pré-affichage :

Ce composant récupère les quatre chiffres à afficher ainsi que la puissance de 10 de la fréquence exprimée en Hz.

que la puissance de 10 de la fréquence exprimée en Hz. Schéma du composant Entrées :

Schéma du composant

Entrées :

a0 (3 : 0): chiffre des unités a1 (3 : 0): chiffre des dizaines a2 (3 : 0): chiffre des centaine a3 (3 : 0): chiffre des milliers a4 (3 : 0): chiffre des dizaines de milliers a5 (3 : 0): chiffre des centaines de milliers a6 (3 : 0): chiffre des millions a7 (3 : 0): chiffre des dizaines des millions

D ATE : 3 JUIN 2007 Page : 19/ 27

DATE : 3 JUIN 2007 Page : 19/27

Sorties :

Valeur_0 (3 : 0): mantisse Valeur_1 (3 : 0): valeur du premier chiffre après la virgule Valeur_2 (3 : 0): valeur du deuxième chiffre après la virgule Valeur_3 (3 : 0): valeur du troisième chiffre après la virgule led(2:0): puissance de 10 de la fréquence exprimée en Hz

Le tableau suivant explique le fonctionnement du module pré-affichage.

x entier compris entre 1 et 9 .

y entier compris entre 0 et 9 .

a0

a1

a2

a3

a4

a5

a6

a7

Valeur_0

Valeur_1

Valeur_2

Valeur_3

led(2:0)

x

0

0

0

0

0

0

0

a0

0

0

0

‘’000’’

y

x

0

0

0

0

0

0

a1

a0

0

0

‘’001’’

y

y

x

0

0

0

0

0

a2

a1

a0

0

‘’010’’

y

y

y

x

0

0

0

0

a3

a2

a1

a0

‘’011’’

y

y

y

y

x

0

0

0

a4

a3

a2

a1

‘’100’’

y

y

y

y

y

x

0

0

a5

a4

a3

a2

‘’101’’

y

y

y

y

y

y

x

0

a6

a5

a4

a3

‘’110’’

y

y

y

y

y

y

y

x

a7

a6

a5

a4

‘111’’

6.3.3 Décodeur LED :

Ce module décode la valeur de led afin d’allumer la bonne diode.

a6 a5 a4 ‘111’’ 6.3.3 Décodeur LED : Ce module décode la valeur de led afin
D ATE : 3 JUIN 2007 Page : 20/ 27

DATE : 3 JUIN 2007 Page : 20/27

Schéma du composant

Entrée :

Led (2:0): puissance de 10 de la fréquence exprimée en Hz Sorties:

LED0: signal de sortie qui commande la diode DEL 0 du FPGA LED1: signal de sortie qui commande la diode DEL 1 du FPGA LED2: signal de sortie qui commande la diode DEL 2 du FPGA LED3: signal de sortie qui commande la diode DEL 3 du FPGA LED4: signal de sortie qui commande la diode DEL 4 du FPGA LED5: signal de sortie qui commande la diode DEL 5 du FPGA LED6: signal de sortie qui commande la diode DEL 6 du FPGA LED7: signal de sortie qui commande la diode DEL 7 du FPGA

Table de vérité du décodeur:

led(2:0)

LED0

LED1

LED2

LED3

LED4

LED5

LED6

LED7

‘’000’’

‘1’

‘0’

‘0’

‘0’

‘0’

‘0’

‘0’

‘0’

‘’001’’

‘0’

‘1’

‘0’

‘0’

‘0’

‘0’

‘0’

‘0’

‘’010’’

‘0’

‘0’

‘1’

‘0’

‘0’

‘0’

‘0’

‘0’

‘’011’’

‘0’

‘0’

‘0’

‘1’

‘0’

‘0’

‘0’

‘0’

‘’100’’

‘0’

‘0’

‘0’

‘0’

‘1’

‘0’

‘0’

‘0’

‘’101’’

‘0’

‘0’

‘0’

‘0’

‘0’

‘1’

‘0’

‘0’

‘’110’’

‘0’

‘0’

‘0’

‘0’

‘0’

‘0’

‘1’

‘0’

‘111’’

‘0’

‘0’

‘0’

‘0’

‘0’

‘0’

‘0’

‘1’

La diode i est allumée si le LED i est à ‘1’.

6.3.4 machine affichage :

Ce module permet la gestion de l’affichage en ce qui concerne les afficheurs 7segments et le point décimal.

affichage : Ce module permet la gestion de l’affichage en ce qui concerne les afficheurs 7segments
D ATE : 3 JUIN 2007 Page : 21/ 27

DATE : 3 JUIN 2007 Page : 21/27

Schéma du composant

Entrées :

clk : l’horloge 50MHz rst : remise a zéro V3 (3 : 0): mantisse V2 (3 : 0): valeur du premier chiffre après la virgule V1 (3 : 0): valeur du deuxième chiffre après la virgule V0(3 : 0): valeur du troisième chiffre après la virgule Sorties :

valeur du troisième chiffre après la virgule Sorties : Diagramme d’états : Les quatre afficheurs 7

Diagramme d’états :

chiffre après la virgule Sorties : Diagramme d’états : Les quatre afficheurs 7 segments du FPGA

Les quatre afficheurs 7 segments du FPGA affichent tous la même valeur au même temps, on ne pourra pas donc afficher toutes les fréquences possibles. Pour remédier à ce problème on a conçu cette machine, dont le principe est d’allumer un seul afficheur dans chaque état avec une fréquence de transition assez

D ATE : 3 JUIN 2007 Page : 22/ 27

DATE : 3 JUIN 2007 Page : 22/27

grande devant 25 Hz (On a utilisé une fréquence de 100 KHz). Ainsi l l’œil observera des valeurs différentes sur les afficheurs et aussi la virgule.

Simulation :

sur les afficheurs et aussi la virgule. Simulation : NB : on a pris une fréquence

NB : on a pris une fréquence de transition de 10 MHz pour la simulation.

6.3.7 Afficheur 7 segments :

Ce module nous permet de décoder la valeur à afficher sur les sept segments.

de décoder la valeur à afficher sur les sept segments. Entrée : valeur (3:0) : valeur

Entrée :

valeur (3:0): valeur à afficher Sorties:

Schéma du composant

A,B,C,D,E,F et G

D ATE : 3 JUIN 2007 Page : 23/ 27

DATE : 3 JUIN 2007 Page : 23/27

D ATE : 3 JUIN 2007 Page : 23/ 27 Table de vérité : Afficheur 7

Table de vérité :

Afficheur 7 segments

Valeur (3:0)

A

B

C

D

E

F

G

‘’0000’’

‘0’

‘0’

‘0’

‘0’

‘0’

‘1’

‘0’

‘’0001’’

‘0’

‘1’

‘0’

‘1’

‘1’

‘1’

‘1’

‘’0010’’

‘0’

‘1’

‘1’

‘0’

‘0’

‘0’

‘0’

‘’0011’’

‘0’

‘0’

‘0’

‘1’

‘0’

‘0’

‘0’

‘’0100’’

‘0’

‘0’

‘0’

‘1’

‘1’

‘0’

‘1’

‘’0101’’

‘1’

‘0’

‘0’

‘1’

‘0’

‘0’

‘0’

‘’0110’’

‘1’

‘1’

‘0’

‘0’

‘0’

‘0’

‘0’

‘’0111’’

‘0’

‘1’

‘0’

‘1’

‘1’

‘1’

‘0’

‘’1000’’

‘0’

‘0’

‘0’

‘0’

‘0’

‘0’

‘0’

‘’1001’’

‘0’

‘0’

‘0’

‘1’

‘0’

‘0’

‘0’

Remarque : Pour l’afficheur 7 segments du FPGA l’organisation des segments A, B, C, D, E, F et G est la suivante :

des segments A, B, C, D, E, F et G est la suivante : On n’a

On n’a pas respecté cet ordre dans notre code. De ce fait, lors de l’implémentation sur le FPGA, on a tenu compte de ce « problème » en attribuant les bonnes pattes à chaque segment.

7. INTERFACES

Le Floorplanner permet de visualiser le positionnement des E/S dans le FPGA (nos E/S sont en bleu)

D ATE : 3 JUIN 2007 Page : 24/ 27

DATE : 3 JUIN 2007 Page : 24/27

D ATE : 3 JUIN 2007 Page : 24/ 27 Floorplanner 7.1 Description des entrées /

Floorplanner

7.1 Description des entrées / sorties

D ATE : 3 JUIN 2007 Page : 24/ 27 Floorplanner 7.1 Description des entrées /
D ATE : 3 JUIN 2007 Page : 25/ 27

DATE : 3 JUIN 2007

Page : 25/27

Tableau des entrées sorties

7.2 Caractéristiques électriques

7.2.1 Caractéristiques statiques

Type d’E/S et niveaux: CMOS 3V, CMOS 5V, LVTTL…

7.2.2 Caractéristiques dynamiques

Chronogrammes définissant les relations électriques des signaux d’E/S entre eux (et avec l’horloge) : set- up, hold, Tpd, … ainsi que les valeurs de ces différents paramètres. On pourra également indiquer la fréquence maximale de fonctionnement.

8. BOITIER

On choisit un boîtier standard, étanche, avec un mode de refroidissement par conduction.

9. TESTS

Après la conception de chaque bloc, on effectue un test bench pour vérifier son bon fonctionnement.

Une fois on s’assure que tous les modules fonctionnent on les relie ensemble pour obtenir le fréquencemètre. On synthèse le tout et on implémente sur le FPGA.

On réalise ensuite des tests sur la carte FPGA. Lors des premiers tests on arrivait à mesurer des fréquences allant jusqu’à 100 KHz et à partir de cette fréquence on obtient une erreur relative de 10 - 4 (par exemple

au lieu d’afficher 10 6 Hz,

En utilisant le générateur on a remarqué que pour afficher 10MHz il fallait rentrer un signal de fréquence

10 000 032 Hz donc il nous manquait 3.2 us sur 1s du signal étalon c'est-à-dire il faut ajouter 3.2us*50MHz = 160 coups d’horloge lors du comptage au niveau du module de réalisation de l’horloge H à 0.5 Hz. La fréquence de l’horloge du FPGA est alors de 50MHz+160Hz soit une erreur relative de 3,2. 10 - 4 %. Après rectification, le fréquencemètre mesure sans erreur les fréquences entre 1 Hz et 20 MHz (fréquence maximale du générateur)

on a 9.999. 10 5 Hz).

10. ALIMENTATION

la tension d’alimentation du cœur du FPGA est de 5 V tandis que celle des E/S est de 3,3 V.

D ATE : 3 JUIN 2007 Page : 26/ 27

DATE : 3 JUIN 2007 Page : 26/27

11.

BUDGETS

11.1

Complexité

2007 Page : 26/ 27 11. BUDGETS 11.1 Complexité On utilise 15% des IOBs et 20

On utilise 15% des IOBs et 20 % des CLBs présents dans le cœur du FPGA.

11.2 Consommation

des CLBs présents dans le cœur du FPGA. 11.2 Consommation La puissance totale consommée par le

La puissance totale consommée par le circuit est de 11,35 mW.

12. POINTS CRITIQUES

Le fréquencemètre réalisé ne peut pas mesurer des fréquences supérieure à 50 MHz : la fréquence de

l’horloge interne du FPGA. L’affichage n’est précis à 100 % car on ne dispose que de 4 afficher dans notre FPGA, ( pour visualiser par exemple 2562999Hz, notre afficheur affiche 2,562 et le led 6 s’allume, dans ce cas on a une erreur de 3,9.10 - 2 %)

D ATE : 3 JUIN 2007 Page : 27/ 27

DATE : 3 JUIN 2007 Page : 27/27

13. CONFIGURATION

On a utilisé tout au long de ce projet, le logiciel Xilinx. On a programmé en langage VHDL et les tests bench ont été effectués à l’aide du logiciel ModelSim.

FIN DE DOCUMENT