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

 > 

FPGA and Traffic Network Analysis

( Télécharger le fichier original )
par Jerry TEKOBON
Ecole Nationale Supérieure Polytechnique de Yaounde Cameroun - Ingénieur de Conception en Génie Electrique et Télécommunication 2007
  

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

4.2.3.3 UPrincipesU

Le VHDL est un langage à instructions concurrentes, il faut savoir en profiter lorsqu'on décrit un circuit. La règle simple est de séparer les parties franchement combinatoires des parties comportant une horloge.

n Les parties combinatoires seront décrites par des instructions concurrentes

n Les parties séquentielles seront décrites par des processus explicites.

4.2.3.4 ULimitation du langageU

Lors des descriptions VHDL en vue de synthèse, c'est le style d'écriture et lui seul qui va guider le synthétiseur dans ses choix d'implantation au niveau circuit. Il est donc nécessaire de produire des instructions ayant une équivalence non ambiguë au niveau porte.

Le synthétiseur est un compilateur un peu particulier susceptible au fil des ans d'améliorer sa capacité à implanter des fonctions de plus en plus abstraites. Cependant, il reste des règles de bon sens comme « le retards des opérateurs est d'ordre technologique » ou bien « un fichier n'est pas un circuit » etc. En conséquence, les limitations du langage du niveau RTL les plus courantes sont :

n Un seul WAIT par PROCESS

n Les retards sont ignorés (pas de sens)

n Les initialisations de signaux ou de variables sont ignorées

n Pas d'équation logique sur une horloge (conseillé)

n Pas de fichier ni de pointeur

n Restriction sur les boucles (LOOP)

n Restriction sur les attributs de détection de fronts (EVENT, STABLE)

n Pas de type REAL

n Pas d'attributs BEHAVIOR, STRUCTURE,LAST_EVENT, LAST_ACTIVE,TRANSACTION

n Pas de mode REGISTER et BUS

Exemple-1:

WAIT UNTIL h'EVENT AND h= `1';

x := 2;

WAIT UNTIL h'EVENT AND h= `1';

Ces trois lignes sont incorrectes. Il faut gérer soi-même le comptage des fronts d'horloge:

WAIT UNTIL h'EVENT AND h= `1';

IF c = 1 THEN

x := 2;

Exemple-2:

On ne sait pas faire le ''ET'' entre un front et un niveau. Il s'ensuit que la ligne suivante:

WAIT UNTIL h'EVENT AND h= `1' AND raz = `0';

doit être remplacée par

WAIT UNTIL h'EVENT AND h= `1' ;

IF raz = `0' THEN

Le synthétiseur fera le choix d'un circuit fonctionnant sur le front montant de h (bascule D) et prenant raz comme niveau d'entrée de validation.

Exemple-3:

SIGNAL compteur : INTEGER;

produira certainement un compteur 32 bits (l'entier par défaut). Si ce n'est pas cela qui est voulu, il faut le préciser. Par exemple pour 7 bits,

SIGNAL compteur : INTEGER RANGE 0 TO 99;

4.2.4 UCircuits combinatoires

Une fonction combinatoire est une fonction dont la valeur est définie pour toute combinaison des entrées. Elle correspond toujours à une table de vérité. La fonction peut être complète (toutes les valeurs de sortie sont imposées à priori) ou incomplète (certaines sorties peuvent être définies comme indifféremment 1 ou 0 au grès de la simplification). Ce dernier état sera noté "-" en VHDL.

Une fonction combinatoire est donc donnée :

n Par une table de vérité

n Par une équation simplifiée ou non

Une fonction combinatoire peut être décrite de façon séparée

n Par une instruction concurrente (méthode à privilégier)

n Par un processus avec toutes les entrées en liste de sensibilité

n Par un tableau de constantes

n Par une fonction qui sera ensuite assignée de façon concurrente ou séquentielle à un signal.

Il y a aussi un cas très fréquent correspondant à une équation combinatoire noyée dans une description comportant des éléments de mémorisation. Dans ce dernier cas seule, la vigilance est conseillée.

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








"Le don sans la technique n'est qu'une maladie"