Professional Documents
Culture Documents
9, 13 janvier 2014)
par schmas;
un simulateur;
Le logiciel intgre de plus des outils de synthse et d'implmentation d'autres compagnies, permettant
ainsi de travailler avec diffrentes technologies dans un environnement unifi. Dans ce guide, on suppose
que la suite d'outils ISE de Xilinx est installe en conjonction avec Active-HDL.
Au dpartement de gnie informatique et de gnie logiciel, une version complte dActive-HDL est installe dans les laboratoires Windows. Une version tudiante peut tre tlcharge du site web de la
compagnie (www.aldec.com).
simuler le circuit numrique en lui appliquant des signaux d'entre dsirs et en observant sa sortie;
et,
dcrire un circuit numrique laide dune description hirarchique, base sur un schma, et contenant plusieurs modules dcrits en VHDL dans des fichiers spars.
page 1 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
page 2 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
page 3 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
bit0
bit1
bit2
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
retenue somme
page 4 de 20
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
On peut driver les quations pour les sorties retenue et somme grce un tableau de Karnaugh. Un
schma dun circuit ralisant ces deux fonctions est donn ici :
4.2 Procdure
Lancez Active-HDL. Ouvrez lespace de travail dans lequel se trouve le design sur lequel vous voulez
travailler. Si votre espace de travail comporte plus dun design, cliquer sur celui sur lequel vous voulez
travailler avec le bouton de droite, et choisissez Set as Active Design.
Suivez les instructions suivantes:
page 5 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
------------------------------------- add3bits.vhd
-- additioneur 3 bits
-----------------------------------library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity add3bits is
port (
bit0 : in std_logic;
bit1 : in std_logic;
bit2 : in std_logic;
retenue : out std_logic;
somme : out std_logic
);
end add3bits;
architecture flotdonnees of add3bits is
signal T1 : std_logic;
signal T2 : std_logic;
signal T3 : std_logic;
begin
somme <= T1 xor bit0;
retenue <= T3 or T2;
T1 <= bit1 xor bit2;
T2 <= bit1 and bit2;
T3 <= bit0 and T1;
end flotdonnees;
5 Compilation du projet
Lors de la compilation, le projet est vrifi de faon confirmer que toutes les rgles de syntaxe du langage sont respectes.
Une compilation correcte ne signifie pas que le circuit fonctionne, mais plutt que sa description est
conforme des rgles prcises.
Choisissez Design > Compile, ou pesez sur la touche F11.
Corrigez toutes les erreurs (si ncessaire).
page 6 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
6 Simulation du projet
La simulation du projet permet de vrifier quil fonctionne de la faon prvue par les spcifications.
page 7 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
laide de la souris et de la touche Shift, slectionnez les signaux bit0, bit1 et bit2 dans la
fentre Waveform.
Cliquez sur le bouton de droite et choisissez
Stimulators.
page 8 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
page 9 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
page 10 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
la transformation (mapping) : regrouper les composantes obtenues lors de la synthse dans des blocs
spcifiques du FPGA;
la disposition (placement) : choisir des endroits spcifiques sur le FPGA o disposer les blocs utiliss,
et choisir les pattes du FPGA correspondant aux ports dentre et de sortie;
le routage (routing) : tablir des connexions lectriques entre les blocs utiliss; et,
la configuration (configuration) : convertir toute cette information en un fichier pouvant tre tlcharg sur le FPGA pour le programmer.
On note que chaque port est list dans le fichier, exactement comme il apparat dans le code. Le symbole
du dise (#) indique que le reste de la ligne est un commentaire (ne sapplique pas dans un fichier vhdl).
Sauvegardez le fichier dans le mme rpertoire que les autres fichiers source de votre design, sous le nom
de add3bits.ucf.
Consultez le manuel de l'utilisateur de votre planchette de dveloppement pour plus de dtails.
page 11 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
8.3 Procdure
page 12 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
page 13 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
page 14 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
page 15 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
page 16 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
addsub.vhd
hd44780_8chars_1line.vhd
hd44780_simple.vhd
equal_ascii.vhd
signed_to_lcd.vhd
addsub_to_lcd.vhd
addsub.ucf
Dans lexplorateur de projets (Design Browser), cliquez sur le + gauche de votre projet, puis deux fois
sur Add New File. Cliquez sur Add Existing File et ajoutez les fichiers que vous venez de copier.
Inspectez les fichiers que vous avez copis. Le fichier addsub.vhd dcrit un module qui peut additionner
ou soustraire deux nombres A et B selon la valeur dun signal de slection choix. Il a une sortie F reprsentant le rsultat et V indiquant si un dbordement a lieu. Le paramtre W indique la largeur des
oprandes et du rsultat.
page 17 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
Sous longlet Conversion Functions, dslectionnez toutes les options. Cliquez sur OK.
page 18 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
Reliez les modules et les terminaux tels que montr limage suivante. Il faut instancier trois copies du
module signed_to_lcd.
page 19 de 20
Guide pratique ActiveHDL 8.3 sp1 update 3 (v. 0.9, 13 janvier 2014)
laboratoires, il vous faudra jouer avec ces paramtres pour que la synthse russisse.
Par exemple, la sortie F du symbole addsub a le type
signed. Il faut donc changer le type et la largeur
du bus qui y est connect. Cliquez deux fois sur ce
bus, puis ajustez ses proprits comme montr ici
page 20 de 20