summaryrefslogtreecommitdiff
path: root/2004/n/fpga/src/modele
diff options
context:
space:
mode:
authorgalmes2004-02-23 13:56:11 +0000
committergalmes2004-02-23 13:56:11 +0000
commit35a62b404da36bf239aa8954c286efa6c2bb925d (patch)
tree39a4b6efe5f59ff44ad81b697b3bab88f39e5d26 /2004/n/fpga/src/modele
parentabc842ae6d7f4907629dfd53f53d84c1122eb52a (diff)
Ajout du code fait pendant les vacances + modifications sur le modèle
Diffstat (limited to '2004/n/fpga/src/modele')
-rw-r--r--2004/n/fpga/src/modele/isa_const.vhd27
-rw-r--r--2004/n/fpga/src/modele/modele.vhd6
-rw-r--r--2004/n/fpga/src/modele/nono_const.vhd9
3 files changed, 36 insertions, 6 deletions
diff --git a/2004/n/fpga/src/modele/isa_const.vhd b/2004/n/fpga/src/modele/isa_const.vhd
new file mode 100644
index 0000000..12ab384
--- /dev/null
+++ b/2004/n/fpga/src/modele/isa_const.vhd
@@ -0,0 +1,27 @@
+-- isa_const.vhd
+-- Eurobot 2004 : APB Team
+-- Auteur : Pierre-André Galmes
+-- Fichier de déclaration de constantes.
+
+-- RQ : pour une indentation bien sous vim :
+-- 1 - ":set shiftwidth=4"
+-- 2 - se placer sous "package nono_const is"
+-- 3 - tapez : = puis shift+G
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.std_logic_arith.all;
+use ieee.std_logic_unsigned.all;
+
+
+-- Constantes relatives au bus ISA
+package isa_const is
+
+ -- Temps d'une période d'horloge sur le bus ISA
+ constant ISA_CK_PERIOD : time := 50 ns;
+
+ -- Ligne RW : lecture et écriture
+ constant ISA_READ : std_logic := '0';
+ constant ISA_WRITE : std_logic := '1';
+end isa_const;
+
diff --git a/2004/n/fpga/src/modele/modele.vhd b/2004/n/fpga/src/modele/modele.vhd
index 366759d..c877df9 100644
--- a/2004/n/fpga/src/modele/modele.vhd
+++ b/2004/n/fpga/src/modele/modele.vhd
@@ -13,9 +13,9 @@ use work.nono_const.all;
entity modele is
generic (
-- adresses des différents registres du module.
- A_REG1 : T_ADDRESS := A_REG_IO_DIRECTION;
- A_REG2 : T_ADDRESS := A_REG_IO_DATA;
- A_REG3 : T_ADDRESS := A_REG_IO_INTERRUPT_MASK
+ A_REG1 : T_ADDRESS;
+ A_REG2 : T_ADDRESS;
+ A_REG3 : T_ADDRESS
-- si autre choses à déclarer...
);
port (
diff --git a/2004/n/fpga/src/modele/nono_const.vhd b/2004/n/fpga/src/modele/nono_const.vhd
index 5c2e04a..fc260e1 100644
--- a/2004/n/fpga/src/modele/nono_const.vhd
+++ b/2004/n/fpga/src/modele/nono_const.vhd
@@ -13,9 +13,11 @@ use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
+
+-- Constantes relatives
package nono_const is
- -- Temps d'une période d'horloge
+ -- Temps d'une période d'horloge sur la carte
constant CK_PERIOD : time := 10 ns;
-- Taille d'une addresse sur la carte
@@ -26,8 +28,9 @@ package nono_const is
-- Taille des données sur la carte
constant NB_BIT_DATA : integer := 8;
- -- Définition d'un nouveau type : ADDRESS
+ -- Définition de nouveaux types : T_ADDRESS et T_DATA
subtype T_ADDRESS is unsigned ((NB_BIT_ADDRESS - 1) downto 0);
+ subtype T_DATA is unsigned ((NB_BIT_DATA - 1) downto 0);
-- Les différentes banques d'adresses (4 x 256)
-- Rq pour Pierre : ça va influer sur le bloc de gestion du bus
@@ -40,7 +43,7 @@ package nono_const is
-- gestion des interruptions
constant A_INTERRUPT_MANAGER : T_ADDRESS := START_ADDR_B0 + x"00";
- -- Bloc d'IO
+ -- Bloc d'IO1
constant A_REG_IO_DIRECTION : T_ADDRESS := START_ADDR_B0 + x"01";
constant A_REG_IO_DATA : T_ADDRESS := START_ADDR_B0 + x"02";
constant A_REG_IO_INTERRUPT_MASK : T_ADDRESS := START_ADDR_B0 + x"03";