summaryrefslogtreecommitdiff
path: root/2004/n/fpga
diff options
context:
space:
mode:
authorgalmes2004-04-06 08:32:23 +0000
committergalmes2004-04-06 08:32:23 +0000
commit3301c331bb5e1d27cfab47a7e856ba56781cca99 (patch)
tree804d17d9e068d6945981ace93a5f00b2f679a8d3 /2004/n/fpga
parent58c437a67f7f323d919c90563bbc6bcdac0dd9c0 (diff)
GPIO : code => mise en forme du code pour l'inclure dans la doc.
Diffstat (limited to '2004/n/fpga')
-rw-r--r--2004/n/fpga/src/gpio/gpio.vhd31
-rw-r--r--2004/n/fpga/src/gpio/gpio_direction.vhd2
-rw-r--r--2004/n/fpga/src/three-state/tristate.vhd2
3 files changed, 17 insertions, 18 deletions
diff --git a/2004/n/fpga/src/gpio/gpio.vhd b/2004/n/fpga/src/gpio/gpio.vhd
index 32a9227..796b7ec 100644
--- a/2004/n/fpga/src/gpio/gpio.vhd
+++ b/2004/n/fpga/src/gpio/gpio.vhd
@@ -20,7 +20,7 @@ entity gpio is
rst : in std_logic;
clk_b : in std_logic; -- clock de bus
clk_m : in std_logic; -- master clock
- rw : in std_logic; -- read (0) / write (1) TODO ??
+ rw : in std_logic; -- read (1) / write (0)
interrupt : out std_logic;
bus_data : inout T_DATA;
io_output : inout T_DATA;
@@ -37,8 +37,6 @@ architecture RTL of gpio is
-- Définition des composants utilisés.
--- TODO : CONtinuer à partir d'ICICICICCICIC
-
-- Registre.
component reg_rw is
port (
@@ -51,7 +49,7 @@ component reg_rw is
);
end component;
--- ET bit à bit à sortie three state.
+-- ET bit à bit à sortie three state.
component gpio_direction is
port (
direction_mask : in T_DATA;
@@ -93,20 +91,19 @@ end component;
-- définition des signaux.
-- clk, rst... sont définis dans l'entity du GPIO.
---
signal bus_direction_mask : T_DATA;
signal bus_it_up_mask : T_DATA;
signal bus_it_down_mask : T_DATA;
signal bus_reg_data : T_DATA;
signal rst_it : std_logic;
-signal it_up : std_logic;
-signal it_down : std_logic;
+signal it_up : std_logic;
+signal it_down : std_logic;
begin
-- Mapping des composants.
---
+-- Masque de direction.
Reg_direction_mask : reg_rw
port map (
clk_b,
@@ -117,7 +114,7 @@ port map (
bus_direction_mask
);
---
+-- Registre de données
Reg_data : reg_rw
port map (
clk_b,
@@ -128,7 +125,7 @@ port map (
bus_reg_data
);
---
+-- Masque d'interruption (front montant).
Reg_it_up_mask : reg_rw
port map (
clk_b,
@@ -139,7 +136,7 @@ port map (
bus_it_up_mask
);
---
+-- Masque d'interruption (front descendant).
Reg_it_down_mask : reg_rw
port map (
clk_b,
@@ -150,7 +147,7 @@ port map (
bus_it_down_mask
);
---
+-- Lecture de l'état de la sortie.
read_output : tristate
port map (
cs_read_output,
@@ -158,7 +155,7 @@ port map (
bus_data
);
---
+-- Gestionnaire de direction.
gest_direction : gpio_direction
port map (
bus_direction_mask,
@@ -169,7 +166,7 @@ port map (
-- signal intermédiaire.
rst_it <= rst or cs_read_output;
---
+-- Gestionnaire de d'interruption haut.
it_up_detector : gpio_it_detect_up
port map (
clk_m,
@@ -179,6 +176,7 @@ port map (
it_up
);
+-- Gestionnaire de d'interruption bas.
it_down_detector : gpio_it_detect_down
port map (
clk_m,
@@ -187,7 +185,8 @@ port map (
bus_it_down_mask,
it_down
);
-
-interrupt <= it_up or it_down;
+
+-- "Fusion" des deux signaux d'interruption.
+interrupt <= it_up or it_down;
end RTL;
diff --git a/2004/n/fpga/src/gpio/gpio_direction.vhd b/2004/n/fpga/src/gpio/gpio_direction.vhd
index 1daf3e2..ce07ed0 100644
--- a/2004/n/fpga/src/gpio/gpio_direction.vhd
+++ b/2004/n/fpga/src/gpio/gpio_direction.vhd
@@ -1,7 +1,7 @@
-- gpio_direction.vhd
-- Eurobot 2004 : APB Team
-- Auteur : Pierre-André Galmes
--- Registre dont la valeur est accessible en lecture.
+-- ET bit à bit à sortie three state (8 entrées / sorties).
-- Principe :
-- Bloc trois états (three-state) qui met les sorties en hautes impédance si
diff --git a/2004/n/fpga/src/three-state/tristate.vhd b/2004/n/fpga/src/three-state/tristate.vhd
index 07e440e..a438dde 100644
--- a/2004/n/fpga/src/three-state/tristate.vhd
+++ b/2004/n/fpga/src/three-state/tristate.vhd
@@ -1,7 +1,7 @@
-- tristate.vhd
-- Eurobot 2004 : APB Team
-- Auteur : Pierre-André Galmes
--- Registre dont la valeur est accessible en lecture.
+-- Composant three-state (trois états : 0, 1 ou Z).
-- Principe :
-- Bloc trois états (three-state) qui met les sorties en hautes impédance si