Rename manager to flow and fix up the test.
authorMalte S. Stretz <mss@apache.org>
Mon, 29 Jun 2009 22:20:35 +0000 (00:20 +0200)
committerMalte S. Stretz <mss@apache.org>
Mon, 29 Jun 2009 22:20:35 +0000 (00:20 +0200)
doc/2_sd/sd_flow_e.fsm [moved from doc/2_sd/sd_manager_e.fsm with 98% similarity]
fhw_sd/sd_flow_e.vhd [moved from fhw_sd/sd_manager_e.vhd with 98% similarity]
fhw_sd/sd_host.vhd
fhw_sd_t/sd_flow_t.vhd [moved from fhw_sd_t/sd_manager_t.vhd with 72% similarity]

similarity index 98%
rename from doc/2_sd/sd_manager_e.fsm
rename to doc/2_sd/sd_flow_e.fsm
index b3fc4ae..2e22fc3 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0'?>
 <!DOCTYPE qfsmproject SYSTEM 'qfsm.dtd'>
 <qfsmproject version="0.51" author="Qfsm" >
-  <machine nummooreout="0" transfontitalic="0" draw_it="1" statefontsize="8" transfont="Helvetica" statefontitalic="0" author="Malte S. Stretz" description="" version="1" name="sd_manage_e" arrowtype="1" numbits="4" statefontweight="50" statefont="Helvetica" numin="1" transfontsize="8" transfontweight="50" type="2" numout="0" initialstate="0" >
+  <machine nummooreout="0" transfontitalic="0" draw_it="1" statefontsize="8" transfont="Helvetica" statefontitalic="0" author="Malte S. Stretz" description="" version="1" name="sd_flow_e" arrowtype="1" numbits="4" statefontweight="50" statefont="Helvetica" numin="1" transfontsize="8" transfontweight="50" type="2" numout="0" initialstate="0" >
     <outputnames_moore></outputnames_moore>
     <inputnames>i_0</inputnames>
     <outputnames></outputnames>
similarity index 98%
rename from fhw_sd/sd_manager_e.vhd
rename to fhw_sd/sd_flow_e.vhd
index 4cc36b6..e49a7ef 100644 (file)
@@ -20,7 +20,7 @@ library ieee;
 use ieee.std_logic_1164.all;
 use ieee.numeric_std.all;
 
-entity sd_manager_e is
+entity sd_flow_e is
   port(
     clock : in std_logic;
     reset : in std_logic;
@@ -37,12 +37,11 @@ entity sd_manager_e is
     shifting : in  std_logic;
     error    : in  std_logic;
     idled    : in  std_logic);
-end sd_manager_e;
+end sd_flow_e;
 
 -----------------------------------------------------------------------
 
-architecture rtl of sd_manager_e is
-  
+architecture rtl of sd_flow_e is
   type state_t is (
     rset_state_c,
     strt_state_c,
@@ -62,7 +61,6 @@ architecture rtl of sd_manager_e is
   signal curr_state_s : state_t;
   signal prev_state_s : state_t;
   signal next_state_s : state_t;
-
 begin
   
   sequence : process(clock, reset)
index 85a2eb5..152e586 100644 (file)
@@ -47,7 +47,7 @@ entity sd_host is
 
 architecture rtl of sd_host is
   
-  component sd_manager_e is
+  component sd_flow_e is
     port(
       clock : in std_logic;
       reset : in std_logic;
@@ -124,7 +124,7 @@ begin
   
   error <= sd_error_s;
   
-  driver : sd_manager_e port map(
+  driver : sd_flow_e port map(
     clock => clk,
     reset => rst,
     
similarity index 72%
rename from fhw_sd_t/sd_manager_t.vhd
rename to fhw_sd_t/sd_flow_t.vhd
index d613759..417935a 100644 (file)
@@ -1,7 +1,7 @@
 -----------------------------------------------------------------------
 -- Copyright (c) 2009 Malte S. Stretz <http://msquadrat.de> 
 --
--- Testing the sd_manager.
+-- Testing the sd_flow.
 -----------------------------------------------------------------------
 -- This entity is part of the following library:
 -- pragma library fhw_sd_t
@@ -16,15 +16,15 @@ use ieee.numeric_std.all;
 
 -----------------------------------------------------------------------
 
-entity sd_manager_t is
+entity sd_flow_t is
   generic(
     clock_interval : time := 20 us);
-end sd_manager_t;
+end sd_flow_t;
 
 -----------------------------------------------------------------------
 
-architecture test of sd_manager_t is
-  component sd_manager_e is
+architecture test of sd_flow_t is
+  component sd_flow_e is
     port(
       clock : in std_logic;
       reset : in std_logic;
@@ -34,13 +34,13 @@ architecture test of sd_manager_t is
       
       ready : out std_logic;
       busy  : out std_logic;
-      error : out std_logic;
     
       command  : out std_logic_cmd_t;
       argument : out std_logic_arg_t;
       trigger  : out std_logic;
-      response : in  std_logic_rsp_t;
-      shifting : in  std_logic);
+      shifting : in  std_logic;
+      error    : in  std_logic;
+      idled    : in  std_logic);
   end component;
 
   signal test_s : integer;
@@ -52,36 +52,35 @@ architecture test of sd_manager_t is
   signal start_i_s    : std_logic;
   signal ready_o_s    : std_logic;
   signal busy_o_s     : std_logic;
-  signal error_o_s    : std_logic;
   signal command_o_s  : std_logic_cmd_t;
   signal argument_o_s : std_logic_arg_t;
   signal trigger_o_s  : std_logic;
-  signal response_i_s : std_logic_rsp_t;
   signal shifting_i_s : std_logic;
+  signal error_i_s    : std_logic;
+  signal idled_i_s    : std_logic;
   
   signal response_sent_s : std_logic;
 begin
-  dut : sd_manager_e port map(clock_s, reset_s,
+  dut : sd_flow_e port map(clock_s, reset_s,
                        address_i_s,
                        start_i_s,
                        ready_o_s,
                        busy_o_s,
-                       error_o_s,
                        command_o_s,
                        argument_o_s,
                        trigger_o_s,
-                       response_i_s,
-                       shifting_i_s);
+                       shifting_i_s,
+                       error_i_s,
+                       idled_i_s);
   
   response : process
-    constant rsp_err_c  : std_logic_rsp_t := "1000000";
-    constant rsp_idle_c : std_logic_rsp_t := "0000001";
-    constant rsp_ok_c   : std_logic_rsp_t := "0000000";
     procedure respond(
-      rsp : std_logic_rsp_t) is
+      error : std_logic;
+      idled : std_logic) is
     begin
       wait until rising_edge(trigger_o_s);
-      response_i_s <= (others => 'U');
+      error_i_s <= 'U';
+      idled_i_s <= 'U';
       wait until rising_edge(clock_s);
       wait until rising_edge(clock_s);
       wait until rising_edge(clock_s);
@@ -90,38 +89,39 @@ begin
       wait until rising_edge(clock_s);
       wait until rising_edge(clock_s);
       wait until rising_edge(clock_s);
-      response_i_s <= rsp;
+      error_i_s <= error;
+      idled_i_s <= idled;
       response_sent_s <= '1';
       wait until rising_edge(clock_s);
       response_sent_s <= '0';
     end respond;
     procedure respond_init is
     begin
-      respond(rsp_ok_c);   -- rset
-      respond(rsp_ok_c);   -- strt
-      respond(rsp_idle_c); -- idle
-      respond(rsp_idle_c); -- init
-      respond(rsp_idle_c); -- init
-      respond(rsp_ok_c);   -- init
-      respond(rsp_ok_c);   -- bsiz
+      respond('0', '0');   -- rset
+      respond('0', '0');   -- strt
+      respond('0', '1'); -- idle
+      respond('0', '1'); -- init
+      respond('0', '1'); -- init
+      respond('0', '0');   -- init
+      respond('0', '0');   -- bsiz
     end;
   begin
     response_sent_s <= '0';
   
     respond_init;
-    respond(rsp_err_c);  -- read
+    respond('1', '0');  -- read
     
     respond_init;
-    respond(rsp_ok_c);   -- read
-    respond(rsp_ok_c);   -- seek
-    respond(rsp_ok_c);   -- pipe
-    respond(rsp_ok_c);   -- skip
-    respond(rsp_ok_c);   -- read
-    respond(rsp_ok_c);   -- seek
-    respond(rsp_ok_c);   -- pipe
-    respond(rsp_ok_c);   -- skip
+    respond('0', '0');   -- read
+    respond('0', '0');   -- seek
+    respond('0', '0');   -- pipe
+    respond('0', '0');   -- skip
+    respond('0', '0');   -- read
+    respond('0', '0');   -- seek
+    respond('0', '0');   -- pipe
+    respond('0', '0');   -- skip
     
-    respond(rsp_err_c);  -- read
+    respond('1', '0');  -- read
     
     wait;
   end process;