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. Les instructions du langage

I.5.1. Les instructions concurrentes

Les instructions qui décrivent une architecture sont des processus indépendants, qui communiquent entre eux par les signaux.

Les principales instructions concurrentes sont : + les affectations concurrentes des signaux, + les « processus >

+ les instructions « generate >

1) Affectations concurrentes de signaux

a) Affectation simple

L'instruction concurrente la plus élémentaire, du point de vue syntaxique, est l'affectation d'une valeur a un signal.

Le symbole réservé a l'affectation a un signal est «<= », par exemple un simple opérateur « OU » s'écrit de la manière suivante :

S <= E1 OR E2 ;

Dans notre exemple : multiplexeur 2 voies vers 1 :

S<= (not (sel) and a) or (sel and b);

b) Affectation conditionnelle du type »WHEN condition ELSE »

Cette instruction permet d'affecter un signal a une expression (expression = signal, équation ou valeur) pour certaines conditions (conditions sur les signaux de type IN ou INOUT).

S <= Source_1 when condition_1 else Source_2 when condition_2 else ...

`0' when others;

Exemple (multiplexeur):

S<= a when (sel='0') else

b when (sel='1')else

`0' when others;

c) Affectation sélective de type « WHITH signal SELECT » :

Cette instruction est semblable à la précédente avec en plus une précision préalable du signal sur lequel vont se porter les conditions.

Syntaxe

With expression select

Cible <= source_1 when valeur_1

Source_2 when valeur_2 ..., ... source_n when others ;

A partir de l'exemple du multiplexeur: With sel select:

S<=a when `0',

b when `1',

`0'when others;

2) Processus

L'instruction concurrente de base en VHDL est le processus (process). Tout modèle VHDL peut se décrire de manière équivalente comme un ensemble de processus communiquant par l'intermédiaire de signaux. Un processus encapsule une séquence d'instructions exécutées dans un ordre donné. L'exécution des instructions d'un processus est conditionnée par des événements (event) sur des signaux.

Nom : process (liste de sensibilité) Partie déclarative : variables begin

Corps du processus. Instructions séquentielles End process [Non] ;

Notons que la déclaration d'un process débute par le mot clé «process», suivie d'une liste de noms de signaux. Cette liste est appelée «liste de sensibilité», elle contient le nom des signaux, Cette liste peut être remplacée par une instruction « wait » dans le corps du processus.

Lorsqu'il y a plusieurs processus dans la même architecture, il est utile de leur donner un nom

. L'instruction wait

Cette instruction indique au processus que son déroulement doit être suspendu dans l'attente d'un événement sur un signal (un signal change de valeur), et tant qu'une condition n'est pas réalisée.

Sa syntaxe générale est :

wait [on liste_de_signaux ] [until condition ] ;

La liste des signaux dont l'instruction attend le changement de valeur joue exactement le même rôle que la liste de sensibilité du processus, mais l'instruction wait ne peut pas être utilisée en même temps qu'une liste de sensibilité. La tendance, pour les évolutions futures du langage, semble être à la suppression des listes de sensibilités, pour n'utiliser que les instructions d'attente.

L'instruction concurrente generate permet de dupliquer des instructions concurrentes de manière itérative ou conditionnelle.

Syntaxe

Nom : for variable in debut to fin generate Instructions concurrentes End generate [Nom] ;

ou

Nom : if condition generate

Instructions concurrentes End generate [Nom] ;

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








"Je ne pense pas qu'un écrivain puisse avoir de profondes assises s'il n'a pas ressenti avec amertume les injustices de la société ou il vit"   Thomas Lanier dit Tennessie Williams