• Aucun résultat trouvé

VHDL - TP N°5LIAISON SÉRIE & CALCULS

N/A
N/A
Protected

Academic year: 2022

Partager "VHDL - TP N°5LIAISON SÉRIE & CALCULS"

Copied!
2
0
0

Texte intégral

(1)

VH DL - TP N°5

L IA I S O N S ÉR IE & C A LC ULS

Objectif du TP

Acquérir des données provenant de la liaison série (à l’aide d’un picoBlaze). Compréhension des différences entre les bibliothèques de calcul numériques disponibles en VHDL.

Nous allons aborder est la réalisation d’une architecture calculatoire numérique synchrone décrite en VHDL. L’architecture calculatoire va implanter une “simple” suite arithmétique dont l’équa- tion est donnée ci-dessous :

Y(n) = X(n) * Y(n-1) + Constante avec Constante = 13

Votre travail consiste à créer un composant VHDL réalisant cette fonction mathématique puis à l’interconnecter au bloc associé à la liaison série. L’ordinateur au travers d’un programme trans- mettra des nombres entiers codés sur 32 bits qui réalisera les calculs et renverra les résultats à l'ordinateur.

Spécification de la partie calculatoire

Pour des raison de performance, nous voulons que le calcul d’une nouvelle valeur de la suite Y(n) doit prendre un cycle d’horloge uniquement. Cette contrainte impose que la latence du circuit soit égale à 20ns et fixe le débit du système soit de 50 million d’échantillons par seconde.

Prérequis : Afin de réaliser cette troisième partie du TP, allez télécharger sur le même serveur internet que précédemment (http://uuu.enseirb.fr/~legal/library) les sources du projet. Vous trou- verez dans le fichier ZIP nommé TP5.zip l’ensemble des codes sources nécessaires.

Etape 1 : Décrivez à l’aide d’un papier et d’un crayon l’architecture du circuit qui va réaliser ce calcul à l’aide des ressources matérielles de base (Adder, Multiplier, Mux, Registres, etc.).

Etape 2 : Etudiez la dynamique des données dans votre architecture.

Etape 3 : Faites l’hypothèse que le résultat de la multiplication de X(n) * Y(n-1) est toujours codé sur 32 bits (seuls les 32 bits de poids faibles sont utilisés). Simplifiez l’architecture en conséquence.

Conception des systèmes numériques VHDL – TP5

B. Le Gal, L. Bossuet, S. Renaud, Y. Bornat -ENSEIRB

1

(2)

Y(n) Computation

Input (32 bits) Output (32 bits)

reset clock

Architecture du composant à développer

Etape 5 : Développez-le composant VHDL réalisant le calcul énoncé tout en respectant l’entité ci-dessus. Pour cela éditez le fichier “Suite_Mathematique.vhd” et complétez-le. Validez son com- portement à l’aide d’une simulation ModelSim.

Etape 7 : Faites une synthèse logique du composant “ Suite_Mathematique.vhd” VHDL via ISE afin d’observer les ressources mise en oeuvre dans le FPGA pour réaliser la fonction décrite.

Observez particulièrement la structure RTL déployée par ISE, est-ce réellement ce à quoi vous vous attendiez ? Sinon, modifiez le code VHDL afin de retomber sur le modèle théorique.

Intégration du composant au système

Maintenant que votre composant matériel fonctionne correctement, l’interconnectez le avec le processeur qui s’occupe de la liaison série.

Nous avons précédemment précisé que le composant réalise des calculs sur des nombres de 32 bits alors que le processeur lui possède des ports d’E/S sur 8 bits. Utilisez ici la même procédure que dans la gestion de la mémoire ROM avec les messages.

Etape 9 : Ouvrez le fichier nommé DSP_Suite_Math_32Bits.vhd, ce dernier interconnecte votre composant au processeur en charge de l’UART. Quelles sont les modifications visibles dans le code VHDL au niveau du multiplexage ?

Etape 11 : Implanter votre application sur la carte à base de SPARTAN 3 et validez là.

Validation manuelle du système

Afin de tester le comportement “réel” de votre module VHDL, vous devez utiliser l'exécutable nommé “Suite_Manu.exe” placé dans le répertoire “software” du projet.

Une fenêtre de type “terminal” apparaît alors en vous demandant sur quel port COM est situé l’adaptateur série. Une fois cette indication fournie au programme, la connexion doit s’établir en- tre la carte et le PC. Ensuite il vous suffit de rentrer une valeur entière suivie d’un retour chariot (touche return) pour transmettre un nombre entier vers la carte. Suite à ce transfert de donnée, le programme va aller scruter le résultat mis en sortie afin de l’afficher à l’écran du PC. Ainsi vous pouvez vérifier le bon fonctionnement de votre circuit sur la carte.

Conception des systèmes numériques VHDL – TP5

B. Le Gal, L. Bossuet, S. Renaud, Y. Bornat -ENSEIRB

2

Références

Documents relatifs

-- permet d'utiliser l'addition non signée avec le type STD_LOGIC_VECTOR use ieee.std_logic_unsigned.all;. entity

Le composant prend en entrée une horloge de fréquence f0 noté clk_in et génère en sortie un signal d'horloge notée clk_out de fréquence f=f0/data.. L'horloge de sortie devra être

Formation VHDL Vahid MEGHDADI.. Conception

- type énuméré, exemple : type jour is (lu, ma, me, je, ve, sa, di); (souvent utilisé dans les ma- chines à état). - sous-type : subtype octet is bit_vector(0

Pour utiliser les types unsigned et signed (que l’on utilise systématiquement pour représenter des nombres qui sont physiquement des fils), il faut placer au début de la

๏ Considérons une information numérique stockée ou transmise sous la forme d’un STD_LOGIC_VECTOR.. La conversion des données depuis

Utiliser les propriétés des signaux pour plus de généricité. ๏ Les signaux et les variables ont des propriétés qui vous permettent de simplifier l’écriture du

Le FPGA qui est ciblé pour ce circuit à des éléments logiques configurables classiques contenant une LUT à 4 entrées, une chaine de propagation rapide de la retenue et une bascule