Use a proper reset switch and test clock-while-reset.
authorMalte S. Stretz <mss@apache.org>
Tue, 30 Jun 2009 14:37:33 +0000 (16:37 +0200)
committerMalte S. Stretz <mss@apache.org>
Tue, 30 Jun 2009 14:37:33 +0000 (16:37 +0200)
bos2k9.vhd
bos2k9_t.vhd
fhw_sd_t/sd_flow_t.vhd
fhw_sd_t/sd_parser_t.vhd

index d0206df..61b8071 100644 (file)
@@ -16,7 +16,7 @@ entity bos2k9 is
   port(
     CLOCK_50 : in std_logic;
     
-    GPIO_0 : inout std_logic_vector(35 downto 0);
+    --GPIO_0 : inout std_logic_vector(35 downto 0);
     
     KEY  : in  std_logic_vector(3 downto 0);
     SW   : in  std_logic_vector(17 downto 0);
@@ -92,9 +92,10 @@ architecture board of bos2k9 is
   
 begin
   clock_s <= CLOCK_50;
-  reset_s <= GPIO_0(15);
+  --reset_s <= GPIO_0(15);
+  reset_s <= not SW(17);
 
-  GPIO_0 <= (others => 'Z');
+  --GPIO_0 <= (others => 'Z');
   
   start_button : button port map(
     input  => KEY(0),
@@ -106,15 +107,16 @@ begin
   SD_DAT3    <= spi_s.cs;
   
   LEDG <= (
-    8 => spi_s.miso,
-    7 => spi_s.mosi,
-    6 => spi_s.sck,
-    5 => spi_s.cs,
+    7 => spi_s.miso,
+    6 => spi_s.mosi,
+    5 => spi_s.sck,
+    4 => spi_s.cs,
     2 => error_led_s,
     1 => ready_led_s,
     0 => busy_led_s,
     others => '0');
   LEDR <= (
+   17 => not reset_s,
     7 => byte_led_s(7),
     6 => byte_led_s(6),
     5 => byte_led_s(5),
index 506e4a1..83ee372 100644 (file)
@@ -168,6 +168,7 @@ begin
   begin
     reset_s <= '1';
     wait until rising_edge(clock_s);
+    wait until rising_edge(clock_s);
     reset_s <= '0';
     wait;
   end process;
index 417935a..d76c65a 100644 (file)
@@ -163,6 +163,7 @@ begin
   begin
     reset_s <= '1';
     wait until rising_edge(clock_s);
+    wait until rising_edge(clock_s);
     reset_s <= '0';
     wait;
   end process;
index 3a68ac7..b9b34f5 100644 (file)
@@ -186,6 +186,7 @@ begin
   begin
     reset_s <= '1';
     wait until rising_edge(clock_s);
+    wait until rising_edge(clock_s);
     reset_s <= '0';
     wait;
   end process;