Wednesday, March 23, 2016

? Spartan 3e FPGA Board Tutoriels ?

Spartan 3e FPGA Board !!!

Pour ceux qui n'ont pas encore des connaissances sur le domaine FPGA, et qui savent pas encore les liens directs entre ce dernier et VHDL, ainsi comment faire pour configurer et programmer une carte FPGA vous pouvez jette une �il sur mon ancien article Lets Discover FPGA avant de d�marrer en si dessous .

Aujourd'hui j'ai choisi  la carte Spartan 3e FPGA pour d�buter cette s�rie de tutoriels, alors d�couvrons d'abord cette derni�re.

Un FPGA est un dispositif � semi-conducteurs compos� d'une matrice de blocs logiques configurables  connect�s par des interconnexions programmables. L'utilisateur d�termine ces interconnexions en programmant la m�moire SRAM. Un CLB peut �tre simple (portes AND, OR, etc.) ou complexe (un bloc de RAM). Le FPGA permet d'apporter des modifications � une conception m�me apr�s le soudage du dispositif sur un circuit imprim�.
 



La Spartan 3e elle est caract�ris�e par :



Nombre de portes logiques500000
Nombre d'unit�s logiques1164
Nombre de registres9312
Nombre de multiplieurs20 (18 x 18)
Type de montageCMS
Type de bo�tierFBGA
Nombre de broche320
Nombre de bits de RAM74752 bit
Dimensions19 x 19 x 1.4mm
Hauteur1.4mm
Longueur19mm
Tension d'alimentation fonctionnement maximum1,26 V
Temp�rature de fonctionnement minimum0 �C
Temp�rature d'utilisation maximum+85 �C
Largeur19mm
Tension d'alimentation de fonctionnement minimum1,14 V


 Afficher l'image d'origine

Alors pour d�buter avec Spartan 3e, on a choisi des test simples tels que contr�ler les Diodes Led sur la carte. pour ceci comme j'ai d�j� expliquer dans mon article pr�c�dant je doit utiliser ISE et programmer en VHDL.

Voila le programme qui est capable de faire allumer tout les Led sur Spartan 3e.
// Hello Word !!d
----------------------------------------------------------------------------------
-- Company:
-- Engineer: Aymen Lachkhem
--
-- Create Date: 15:01:03 03/23/2016
-- Design Name:
-- Module Name: Testing_LEDS - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity Testing_LEDS is
Port ( LED_1 : out STD_LOGIC;
LED_2 : out STD_LOGIC;
LED_3 : out STD_LOGIC;
LED_4 : out STD_LOGIC;
LED_5 : out STD_LOGIC);
end Testing_LEDS;

architecture Behavioral of Testing_LEDS is

begin
LED_1 <= '1';
LED_2 <= '1';
LED_3 <= '1';
LED_4 <= '1';
LED_5 <= '1';

end Behavioral;


et Pour la configurations des pins j'ai fait �a :
NET "LED_1" LOC = "F12";
NET "LED_2" LOC = "E12";
NET "LED_3" LOC = "E11";
NET "LED_4" LOC = "F11";
NET "LED_5" LOC = "C11";
Voici cette vid�o vous expliquerez pas � pas tout les taches faites, et vous montrerez le test pratique.

On va pass� maintenant d�s d'allumer les leds a les faire controler chaque une par un switcheur inclus dans la carte Spartan 3e, au niveau du programme, il y aura pas beaucoup de changement il faut juste boucler l'allumage par des conditions r�p�titives de switcheurs.
   

// Leds,Buttons Interfacing----------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 17:13:12 03/23/2016
-- Design Name:
-- Module Name: Button_LEDS - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity Button_LEDS is
Port ( Button_1 : in STD_LOGIC;
Button_2 : in STD_LOGIC;
Button_3 : in STD_LOGIC;
Button_4 : in STD_LOGIC;
Led_1 : out STD_LOGIC;
Led_2 : out STD_LOGIC;
Led_3 : out STD_LOGIC;
Led_4 : out STD_LOGIC);
end Button_LEDS;

architecture Behavioral of Button_LEDS is

begin
WORK:process
begin
if(Button_1 = '1') then
Led_1 <= '1';
else
Led_1 <= '0';
end if;
if(Button_2 = '1') then
Led_2 <= '1';
else
Led_2 <= '0';
end if;
if(Button_3 = '1') then
Led_3 <= '1';
else
Led_3 <= '0';
end if;
if(Button_4 = '1') then
Led_4 <= '1';
else
Led_4 <= '0';
end if;
end process;
end Behavioral;


et Pour la configurations des pins j'ai fait �a :

NET "Button_1" LOC = "N17";

NET "Button_2" LOC = "L13";

NET "Button_3" LOC = "H18";
NET "Button_4" LOC = "L14";
NET "Led_1" LOC = "E9";
NET "Led_2" LOC = "F12";
NET "Led_3" LOC = "E11";
NET "Led_4" LOC = "C11";


Voici cette vid�o vous expliquerez pas � pas tout les taches faites, et vous montrerez le test pratique.






No comments:

Post a Comment