Vous êtes sur la page 1sur 12

Programmation dun circuit FPGA TP1 (Basys)

Avant de commencer il est impratif


de crer un rpertoire de travail sur
son espace utilisateur NT_USER
(Z :xxxxxx) ou c :xxx pour un
portable perso, on utilise des noms
de moins de huit lettres.
Ouvrir la fentre New Project dans le
menu File et la complter en
indiquant le nom du projet, le
rpertoire de travail, et la nature du
module du plus haut niveau.

La carte cible Basys utilise un


composant FGA xilinx de la famille
Spartan3E, Spartan3E-100 en boiter

CP132
Le langage du module du plus haut
Niveau est le HDL, le simulateur
associ sera ISE Simulator.

J-L R/ECE

21/09/2016

Pour crer un fichier source dans le


projet, valider le bouton
New Source par un clic du bouton
gauche.

La description des fonctions raliser


peut se faire sous forme dun
schma, dun diagramme dtat ou
dans un langage de description
comportementale, verilog ou vhdl.
Pour dbuter on choisi une entre en
langage
VHDL
en
validant
VHDLModule dans la fentre ci contre
et lon donne un nom court au fichier.

Ltape suivante permet de dfinir les


entres et les sorties de la ou des
fonctions raliser, soit sous forme de
bit, soit sous forme de bus dont on
donne la taille en compltant la case
MSB.

Les broches peuvent tre des entres des sorties ou des entres sorties lorsque
que la sortie doit tre rinjectes dans la fonction.
Pour ne pas bloquer au dmarrage la structure choisie sera simple deux entre
a,b et une sortie s.

Le logiciel gnre automatiquement le squelette du fichier source vhdl.


-- Module Name: fonctet - Behavioral
-- Project Name:
-- Target Device:
-- Tool versions:
-- Description:
--- Dependencies:
--- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--------------------------------------------------------------------------------library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity fonctet is
Port ( a : in std_logic;
b : in std_logic;
s : out std_logic);
end fonctet;
architecture Behavioral of fonctet is
begin

end Behavioral;

Pour tester une fonction logique combinatoire il faut complter larchitecture avec
lquation de la fonction ici s <= a and b ;

Le schma synthtis est visible grce lditeur de schma que lon appelle
grce la commande view RTL Schmatic.

Pour visualiser larchitecture il faut effectuer un clic avec le bouton gauche sur
lentit prcdente. Et valider la commande push into selected instance.
La

dernire tape consiste programmer le circuit sur la carte cible


Le schma fonctionnel ci-dessous montre les ressources disponibles sur la carte
basys.

La fonction et sera cble entre les interrupteurs 0 et 1 et la led 0 qui


correspondent aux broches P11 L3 et M5 du circuit Spartan3.

Pour affecter des broches aux entres sorties de la fonction on utilise la


commande
Assign Package Pin de la fentre Process. Il suffit de complter les attributs Loc
pour a, b et s : P11, L3, M5 pour une carte basys2.
Lensemble de ces informations sera sauvegard dans un fichier portant
lextension .UCF (user constraint file).
Ne pas oublier denregistrer ce fichier en quittant lditeur de contraintes.

Pour programmer le circuit FPGA il ne reste plus qu suivre la procdure


suivante.

- Faire un clic droit sur Generate Programming File puis cliquer sur Properties
- Dans longlet Startup Options , dans FPGA Start-Up Clock choisir JTAG Clock
- Double cliquer sur Generate Programming File afin de gnrer le fichier bit.
Programmation de la puce Spartan de la carte basys :
On utilise le programme Adept de digilent pour programmer la carte avec le fichier bit.
- Connecter le cavalier JTAG de la carte
- Ouvrir le program Adept
- Brancher la carte en USB
- Cliquer sur Initialize Chain si besoin
- Cliquer sur Browse cot du petit dessin FPGA
- Choisir le fichier *.bit dans le rpertoire de travail
- Cliquer sur Program

La dernire tape consiste manipuler les deux interrupteurs pour vrifier la


table de vrit de la fonction ralise.

Maintenant vous pouvez raliser la fonction dcodeur BCD/7 segments et la


tester sur la carte cible.

s
Schma structurel dun afficheur anode commune,

la fonction Language templates du menu edit de ISE permet daccder des


exemples de code.

Il ne reste plus qu comprendre ce code dfinir les broches dentre et de sortie,


Valider un ou deux afficheurs (AN <= 1110 ;) puis tester ce code sur la carte.

Annexes :
Horloge cable sur la carte.

Lien vers un tutoriel dinstallation du WEBPACK ISE 9.2i


http://www.cse.psu.edu/~kxc104/class/cmpen271/13f/hw/hw5/ISEinst4.pdf
Voici le lien de tlchargement
https://secure.xilinx.com/webreg/login.do?oamProtectedResource=wh%3Dwww.xilinx.com
%20wu%3D%2Fwebreg%2Fregister.do%3Fgroup%3Ddlc%26htmlfile%3D%26emailFile
%3D%26cancellink%3D%26eFrom%3D%26eSubject%3D%26version%3D9.2i%26akdm
%3Dtrue%26filename%3DWebPACK_SFD_92i.zip%20wo%3D1%20rh%3Dhttps%3A%2F
%2Fsecure.xilinx.com%20ru%3D%252Fwebreg%252Fregister.do%20rq%3Dgroup
%253Ddlc%2526htmlfile%253D%2526emailFile%253D%2526cancellink%253D
%2526eFrom%253D%2526eSubject%253D%2526version%253D9.2i%2526akdm
%253Dtrue%2526filename%253DWebPACK_SFD_92i.zip
Voici le lien de tlchargement du logiciel adept.
http://store.digilentinc.com/digilent-adept-2-download-only/