WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Implantation d'algorithme de filtrage numérique sur FPGA(réseau de portes programmables)

( Télécharger le fichier original )
par Mohamed Bendada
Université Ferhat Abbas de Sétif Algérie - Master électronique  2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

I.5.2. Les instructions séquentielles

Comme tout langage de programmation, VHDL possède des instructions séquentielles de contrôle. Elles sont au coeur des descriptions comportementales des circuits plus que jamais, dans ce type de description, il est essentiel de toujours avoir présente a l'esprit l'architecture du circuit que l'on décrit : ses signaux d'horloge, ses registres, ses blocs combinatoire.

Les principales instructions séquentielles sont :

L'affectation séquentielle d'un signal, qui utilise l'opérateur « <= ~, a une syntaxe qui est identique a celle de l'affectation concurrente simple. Seule la place, dans ou hors d'un module de programme séquentiel, distingue les deux types d'affectation ; cette différence, qui peut sembler mineure, cache des comportements différents : alors que les affectations concurrentes peuvent être écrites dans un ordre quelconque, pour leurs correspondantes séquentielles, rarement utilisées hors d'une structure de contrôle, l'ordre d'écriture n'est pas indifférent.

· L'affectation d'une variable, qui utilise l'opérateur « := > est toujours une instruction séquentielle.

· Les tests << if > et << case >.

· Les instructions de contrôle des boucles << loop >, << for >.

1) Les instructions de test

Les instructions de test permettent de sélectionner une ou des instructions à exécuter, en fonction des valeurs prises par une ou des expressions. On notera que, dans un processus, si toutes les branches possibles des tests ne sont pas explicitées, une cellule mémoire est générée pour chaque affectation de signal.

2) L'instruction « if....then....else....end if » :

L'instruction if permet de sélectionner une ou des instructions a exécuter, en fonction des valeurs prises par une ou des conditions.

Syntaxe :

If expression_1 then

Instructions séquentielles [Elsif expression_2 then]

Instructions_séquentielles [else] Instructions_séquentielles; End if ;

3) L'instruction « case....when....end case >>

L'instruction case permet de sélectionner une ou des instructions a exécuter, en fonction des valeurs prises par une expression.

Syntaxe :

Case expression is

when valeur1 => instruction sequentielle ;
when valeur2 => instruction sequentielle ;

....

when others => instruction sequentielle

End case ;

 

Il faut toujours mettre un « when others ». Cela permet de couvrir tous les cas de figure, et donc de ne pas avoir des états indéterminés.

Exemple du multiplexeur (fig I.2)

Case sel is When `0' =>

S<= a;

When `1' =>

S<= b;

End case;

4) Boucle « for »

Les boucles permettent de répéter une séquence d'instructions. Syntaxe : FOR parametre IN intervalle LOOP

Instructions séquentielles ;

END LOOP ;

Les différentes étapes de la conception d'un circuit intégré sont illustrées par le diagramme de la figure I.3

L'ensemble du processus qui permet de passer de la vision fonctionnelle au circuit constitue la synthèse.

Le premier outil utilisé dans les étapes de synthèse automatique est un éditeur de texte avec lequel on décrit le comportement du circuit logique en langage VHDL. Ensuite, la description VHDL est traduite par l'outil de synthèse. Cette étape est très importante, il s'agit de convertir la description de haut niveau (VHDL) en fonction logique. Le synthétiseur génère en sortie une liste d'interconnexion de composants logiques de base existant dans la technologie cible choisie. Finalement l'intégration physique dr descrription est effectuée dans le circuit programmable.

Nous spécifions trois étapes de simulation soit : > Simulation VHDL.

> Simulation fonctionnelle.

> Simulation temporelle.

La simulation VHDL est rapidement réalisée car elle ne nécessite par de synthèse de la description. Elle sera toujours exécutée. Cette simulation est très utile si le fonctionnement de la description VHDL n'est pas modifié par l'étape de synthèse. L'objectif principal de cette simulation est de donner au lecteur la maitrise de cette description en vue de la synthèse automatique.

La simulation a été effectuée avec le logiciel ModelSim de la société Model Technology. L'utilisation d'un autre simulateur ne pose pas de problème particulier si celui-ci supporte la norme VHDL-93 et dispose des paquetages Std_Logic_1164 et Numeric_Std.

Finalement, il sera nécessaire d'exécuter une simulation après synthèse. La simulation fonctionnelle ne sera pas réalisée. Nous ferons uniquement la simulation temporelle qui utilise le résultat après placement et routage .Cela nous permettra de valider que toute la chaine s'est correctement déroulée. [6]

Technologie cible

Simulation VHDL
(MODELSIM
)

Vision fonctionnelle

Description
(Modèle structurel)

Traduction (Modèle VHDL)

Circuit cible

Compilateur

Simulation

Simulation fonctionnelle

Figure : I.3- Flot de conception basé sur VHDL

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"L'imagination est plus importante que le savoir"   Albert Einstein