]> jspc29.x-matter.uni-frankfurt.de Git - dirich.git/commitdiff
new dirich flash scheme, IF
authorIngo Froehlich <ingo@nomail.fake>
Tue, 22 Aug 2017 14:16:12 +0000 (16:16 +0200)
committerIngo Froehlich <ingo@nomail.fake>
Tue, 22 Aug 2017 14:16:12 +0000 (16:16 +0200)
thresholds/thresholds.vhd

index 1f4d8e04622debc25da8419121633f8a4615f6fe..86a45ec81a5ca44234289d1218b1dba10fe9f839 100644 (file)
@@ -23,7 +23,8 @@ end entity;
 \r
 architecture arch of thresholds is\r
   type ram_t is array (15 downto 0) of std_logic_vector(15 downto 0);\r
-\r
+  signal ram_data : ram_t := (others =>("0000000000100001"));\r
+  \r
   signal clk_osc, clk_i : std_logic;\r
 \r
   signal spi_rx_data : std_logic_vector(15 downto 0);\r
@@ -34,52 +35,25 @@ architecture arch of thresholds is
   signal bus_ready    : std_logic; \r
   --signal spi_busy    : std_logic; \r
 \r
+  signal spi_data_out  : std_logic_vector(15 downto 0);\r
+  signal spi_data_in   : std_logic_vector(15 downto 0);\r
+  signal spi_addr_out  : std_logic_vector(7 downto 0);\r
+  signal spi_write_out : std_logic;\r
+  signal spi_read_out  : std_logic;\r
+  signal spi_ready_in  : std_logic;\r
+  \r
+  \r
   signal sed_error : std_logic;\r
   signal sed_debug : std_logic_vector(31 downto 0);\r
   signal controlsed_i : std_logic_vector(3 downto 0);\r
  \r
-  signal pwm_data_i    : std_logic_vector(15 downto 0):= x"6000";\r
-  signal pwm_write_i   : std_logic;\r
-  signal pwm_addr_i    : std_logic_vector(4 downto 0);\r
-  signal pwm_data_ii   : std_logic_vector(15 downto 0);\r
-  signal pwm_write_ii  : std_logic;\r
-  signal pwm_addr_ii   : std_logic_vector(4 downto 0);\r
-  signal pwm_data_iii  : std_logic_vector(15 downto 0);\r
-  signal pwm_write_iii : std_logic;\r
-  signal pwm_addr_iii  : std_logic_vector(4 downto 0);\r
-\r
---  signal flashram_reset  : std_logic;\r
-  --signal flashram_write_i: std_logic;\r
-  signal flashram_data_i : std_logic_vector(7 downto 0);\r
-  signal flashram_data_o : std_logic_vector(7 downto 0) := "00000010";\r
-  signal ram_data : ram_t := (others =>("0000000000100001"));--: std_logic_vector(15 downto 0);\r
-  --signal ram_data_o : ram_t := (others =>("0000000000000000"));--std_logic_vector(15 downto 0);\r
-\r
-  signal flash_command : std_logic := '0';\r
-  --signal flash_page    : std_logic_vector(12 downto 0);\r
-  signal flash_go      : std_logic := '1';\r
-  signal flash_busy    : std_logic;\r
-  signal flash_err     : std_logic;\r
+  signal pwm_data    : std_logic_vector(15 downto 0):= x"6000";\r
+  signal pwm_write   : std_logic;\r
+  signal pwm_addr    : std_logic_vector(4 downto 0);\r
 \r
   signal compensate_i  : signed(15 downto 0) := (others =>'0');\r
   signal pwm_i         : std_logic_vector(16 downto 1);\r
-  signal ufm_bus_ready_in  : std_logic;\r
-  signal ufm_bus_ready_out : std_logic;\r
-  signal ufm_databyte_counter : unsigned(14 downto 0);\r
-  \r
-  signal ram_spi_addr  : std_logic_vector( 7 downto 0);\r
-  signal ram_spi_data  : std_logic_vector(15 downto 0):= "0000111100001111";\r
-  signal ram_spi_write : std_logic;\r
 \r
-  signal show_flash_err : std_logic := '0';\r
-  signal ram_spi_read :std_logic := '0';\r
-  signal flash_temp : std_logic_vector(7 downto 0);\r
-  \r
-  --type state_type is (Start,IDLE,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15);  --type of state machine.\r
-  --signal state: state_type := Start;\r
-  --signal init : std_logic:='1';\r
-  \r
---   signal temp : std_logic_vector(3 downto 0):= "0000";\r
   \r
   component OSCH\r
     generic (NOM_FREQ: string := "33.25");\r
@@ -112,180 +86,85 @@ clk_i <= clk_osc;
 THE_SPI : entity work.spi_slave\r
   port map(\r
     CLK       => clk_i,\r
+\r
     SPI_CLK   => SCLK_IN,\r
     SPI_CS    => CS_IN ,\r
     SPI_IN    => MOSI_IN,\r
     SPI_OUT   => MISO_OUT,\r
-   \r
-    DATA_OUT  => spi_rx_data,\r
-    DATA_IN   => spi_tx_data,\r
-    ADDR_OUT  => spi_addr,       \r
-    WRITE_OUT => bus_write,\r
-    READ_OUT  => bus_read,\r
-    READY_IN  => bus_ready,\r
+\r
+    DATA_OUT  => spi_data_out,\r
+    DATA_IN   => spi_data_in,\r
+    ADDR_OUT  => spi_addr_out,\r
+    WRITE_OUT => spi_write_out,\r
+    READ_OUT  => spi_read_out,\r
+    READY_IN  => spi_ready_in,\r
+    \r
+--    DATA_OUT  => spi_rx_data,\r
+--    DATA_IN   => spi_tx_data,\r
+--    ADDR_OUT  => spi_addr,       \r
+--    WRITE_OUT => bus_write,\r
+--    READ_OUT  => bus_read,\r
+--    READY_IN  => bus_ready,\r
     \r
     DEBUG     => open\r
   );\r
 \r
-  \r
--- count : process (clk_i)\r
--- begin\r
---   if rising_edge(clk_i) then\r
---             if temp="1001" then\r
---                temp<="0000";\r
---             else\r
---                temp <= std_logic_vector(unsigned(temp) + 1);\r
---             end if;\r
---   end if;\r
--- \r
--- end process;\r
-  \r
--- state_machine :  process (clk_i)\r
--- begin\r
--- if rising_edge(clk_i) then\r
---   pwm_write_i <= '0';\r
---   --pwm_data_i <= x"6000";\r
---   case state is\r
---      when Start =>        --when current state is "s0"\r
---           if init = '1' then\r
---              pwm_write_i <= '0';\r
---              state <= c0;\r
---           end if;\r
--- \r
---      when c0 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "00000";\r
---             state <= c1;\r
---      \r
---      when c1 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "00001";\r
---             state <= c2;\r
---             \r
---      when c2 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "00010";\r
---             state <= c3;\r
--- \r
---      when c3 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "00011";\r
---             state <= c4;\r
---             \r
---      when c4 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "00100";\r
---             state <= c5;\r
---             \r
---      when c5 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "00101";\r
---             state <= c6;\r
---             \r
---      when c6 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "00110";\r
---             state <= c7;\r
---             \r
---      when c7 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "00111";\r
---             state <= c8;\r
---             \r
---      when c8 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "01000";\r
---             state <= c9;\r
---             \r
---      when c9 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "01001";\r
---             state <= c10;\r
---             \r
---      when c10 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "01010";\r
---             state <= c11;\r
--- \r
---      when c11 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "01011";\r
---             state <= c12;\r
---             \r
---      when c12 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "01100";\r
---             state <= c13;\r
---             \r
---      when c13 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "01101";\r
---             state <= c14;\r
---             \r
---      when c14 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "01110";\r
---             state <= c15;\r
---             \r
---      when c15 => pwm_write_i <= '1';\r
---             pwm_addr_i <= "01111";\r
---             init <= '0';\r
---             state <= IDLE;\r
---             init <= '0';\r
---             \r
---      when IDLE => pwm_write_i <= pwm_write_ii;\r
---               pwm_addr_i <= pwm_addr_ii;\r
---               pwm_data_i <= pwm_data_ii;\r
---               \r
---   end case;\r
---   \r
---   end if;\r
--- end process;\r
-\r
-\r
-PWM_select : process begin\r
-    wait until rising_edge(clk_i);\r
-  \r
-    pwm_write_i <= '0';\r
-    if pwm_write_ii = '1' then\r
-      pwm_data_i  <= pwm_data_ii;\r
-      pwm_addr_i  <= pwm_addr_ii;\r
-      pwm_write_i <= pwm_write_ii;\r
-    else\r
-      pwm_data_i  <= pwm_data_iii;\r
-      pwm_addr_i  <= pwm_addr_iii;\r
-      pwm_write_i <= pwm_write_iii;\r
-    end if;\r
-\r
-end process;\r
+THE_FLASH_CONTROLLER : entity generic_flash_ctrl\r
+  port map(\r
 \r
+    CLK => clk_i,\r
+    RESET => '0',\r
+    \r
+    SPI_DATA_IN   => spi_data_out,\r
+    SPI_DATA_OUT  => spi_data_in,\r
+    SPI_ADDR_IN   => spi_addr_out,\r
+    SPI_WRITE_IN  => spi_write_out,\r
+    SPI_READ_IN   => spi_read_out,\r
+    SPI_READY_OUT => spi_ready_in,\r
     \r
+    LOC_DATA_OUT  => spi_rx_data,\r
+    LOC_DATA_IN   => spi_tx_data,\r
+    LOC_ADDR_OUT  => spi_addr,\r
+    LOC_WRITE_OUT => bus_write,\r
+    LOC_READ_OUT  => bus_read,\r
+    LOC_READY_IN  => bus_ready\r
+                      \r
+  );  \r
+\r
 PROC_REGS : process begin\r
   wait until rising_edge(clk_i);\r
   bus_ready     <= '0';\r
-  pwm_write_iii <= '0';\r
-  flash_go      <= '0';\r
-  ram_spi_write <= '0';\r
-  ram_spi_read  <= '0';\r
+  pwm_write     <= '0';\r
   \r
     if bus_read = '1' then\r
       bus_ready <= '1';\r
-\r
       if (spi_addr >= x"10") and (spi_addr < X"20") then\r
-         spi_tx_data <= ram_data(to_integer(unsigned(spi_addr(4 downto 0)))); -- Read RAM\r
+       spi_tx_data <= ram_data(to_integer(unsigned(spi_addr(3 downto 0)))); -- Read RAM\r
+        --spi_tx_data <= "00000000" & spi_addr; \r
       else\r
         case spi_addr is\r
-             --when x"10" => spi_tx_data <= reg_spi_o(15 downto  0);\r
-             --when x"11" => spi_tx_data <= reg_spi_o(31 downto 16);\r
              when x"ee" => spi_tx_data <= sed_debug(15 downto 0);\r
              when x"ef" => spi_tx_data <= sed_debug(31 downto 16);\r
-  -- \r
              when others => null;\r
         end case; \r
       end if;\r
+      \r
     elsif bus_write = '1' then\r
       if (spi_addr >= x"00") and (spi_addr < x"10") then  -- write directly to PWM\r
-         pwm_data_iii  <= spi_rx_data;\r
-         pwm_addr_iii  <= spi_addr(4 downto 0);\r
-         pwm_write_iii <= '1';\r
-      elsif ( spi_addr >= x"10") and (spi_addr <  x"20") then  -- write to RAM\r
-         ram_spi_data(15 downto  0) <= spi_rx_data;\r
-         ram_spi_write <= '1';\r
-         ram_spi_addr  <= "0000" & spi_addr(3 downto 0);\r
-         pwm_data_iii  <= spi_rx_data;\r
-         pwm_addr_iii  <= spi_addr(4 downto 0);\r
-         pwm_write_iii <= '1';\r
+         pwm_data  <= spi_rx_data;\r
+         pwm_addr  <= spi_addr(4 downto 0);\r
+         pwm_write <= '1';\r
+      elsif (spi_addr >= x"10") and (spi_addr <  x"20") then  -- write to RAM\r
+         ram_data(to_integer(unsigned(spi_addr(3 downto 0)))) <= spi_rx_data;\r
+         pwm_data  <= spi_rx_data;\r
+         pwm_addr  <= spi_addr(4 downto 0);\r
+         pwm_write <= '1';\r
       else\r
           case spi_addr is\r
-             when x"20" => flash_command <= '1'; --write to flash;\r
-                           flash_go      <= '1';\r
-             when x"21" => flash_command <= '0'; --read from flash;\r
-                           flash_go      <= '1';\r
+--           when x"20" => flash_command <= '1'; --write to flash;\r
+--                         flash_go      <= '1';\r
+--           when x"21" => flash_command <= '0'; --read from flash;\r
+--                         flash_go      <= '1';\r
               when x"22" => compensate_i  <= signed(spi_rx_data(15 downto 0));--signed(uart_rx_data(15 downto 0);\r
               when x"ee" => controlsed_i  <= spi_rx_data(3 downto 0);\r
              when others => null;\r
@@ -294,38 +173,6 @@ PROC_REGS : process begin
     end if;  \r
 end process;\r
 \r
--- ManSel : process begin\r
---   wait until rising_edge(clk_i);\r
---   flash_go    <= '0';\r
---   ram_spi_write <= '0';\r
---   --ram_spi_read  <= '0';\r
---     if pwm_write_ii = '1' then\r
---       pwm_data_i  <= pwm_data_ii;\r
---       pwm_addr_i  <= pwm_addr_ii;\r
---       pwm_write_i <= pwm_write_ii;\r
---     elsif DIPSW(0) = '0' then\r
---      case DIPSW(3 downto 1) is\r
---        when "000" => ram_spi_data(15 downto  0) <= "1100011100111000";\r
---                  ram_spi_write <= '1';\r
---                  ram_spi_addr  <= "00000" & DIPSW(3 downto 1);\r
---        --when "010" => ram_spi_read  <= '1';\r
---        when "011" => flash_command <= '0'; --read from flash;\r
---                  flash_go      <= '1';\r
---        when "100" => flash_command <= '1'; --write to flash;\r
---                  flash_go      <= '1';\r
---        when "101" => ram_spi_data(15 downto  0) <= "0000011000101010";\r
---                  ram_spi_write <= '1';\r
---                  ram_spi_addr  <= "00000" & DIPSW(3 downto 1);\r
---        when others => null;\r
---      end case;\r
---    else   \r
---      LED <= not ram_data(to_integer(unsigned(DIPSW(3 downto 1))))(7 downto 0);\r
---    end if;\r
---    \r
--- \r
--- end process;\r
-\r
-\r
 THE_SED : entity work.sedcheck\r
   generic map(\r
     DEV_DENSITY =>"4300L"\r
@@ -347,11 +194,11 @@ THE_PWM_GEN : entity work.pwm_generator
     )\r
   port map(\r
     CLK        => clk_i,\r
-    DATA_IN    => pwm_data_i,   -- 16 Bits\r
+    DATA_IN    => pwm_data,     -- 16 Bits\r
     DATA_OUT   => open,\r
     COMP_IN    => compensate_i, -- 16 Bits\r
-    WRITE_IN   => pwm_write_i,  -- 16 Bits\r
-    ADDR_IN    => pwm_addr_i,   --  5 Bits\r
+    WRITE_IN   => pwm_write,    -- 16 Bits\r
+    ADDR_IN    => pwm_addr,     --  5 Bits\r
     PWM        => pwm_i         -- 16 Bits\r
     );    \r
 \r
@@ -380,204 +227,7 @@ process(pwm_i,DAC_FLAG)
    \r
     end if;\r
   end process;  \r
-    \r
-    \r
----------------------------------------------------------------------------\r
--- Flash Controller\r
----------------------------------------------------------------------------      \r
-\r
-THE_UFM : entity work.UFM_control\r
- generic map(\r
-   NO_DATAPAGES   => 2,\r
-   UFM_STARTPAGE  => "00"&x"00"\r
-   )\r
- port map(\r
-   CLK              => clk_i,\r
-   CMD              => flash_command,\r
-   GO               => flash_go,\r
-   BUSY            => flash_busy,\r
-   RESET           => '0',\r
-   DATA_IN         => flashram_data_i,\r
-   DATA_OUT        => flashram_data_o,\r
-   DATABYTE_COUNTER => ufm_databyte_counter, --specifies current databyte \r
-   BUS_READY_IN     => ufm_bus_ready_in,\r
-   BUS_READY_OUT    => ufm_bus_ready_out,\r
-   FLASH_ERROR      => flash_err\r
-   );\r
-\r
-   \r
---    PROC_REGS_FLASH: process begin\r
---    wait until rising_edge( clk_i );\r
---       ufm_bus_ready_in <= '0';\r
---       pwm_write_ii     <= '0';\r
---       \r
---     if flash_command = '0' and ufm_bus_ready_out = '1' then\r
---       -- copy data from UFM to registers\r
---       ufm_bus_ready_in <= '1';\r
---       case to_integer ( ufm_databyte_counter ) is\r
---         when  0 => ram_temp <= flashram_data_o;\r
---         when  1 => ram_data(0)(15 downto  0) <= flashram_data_o & ram_temp;\r
---         when  2 => ram_temp <= flashram_data_o;\r
---         when  3 => ram_data(1)(15 downto  0) <= flashram_data_o & ram_temp;\r
---         when others => null;\r
---       end case ;\r
---     \r
---     elsif flash_command = '1' and ufm_bus_ready_out = '1' then\r
---            -- save data from registers to UFM\r
---           ufm_bus_ready_in <= '1';\r
---           case to_integer ( ufm_databyte_counter ) is\r
---         when  0 => flashram_data_i <= ram_data(1)( 7 downto  0);\r
---         when  1 => flashram_data_i <= ram_data(1)(15 downto  8);\r
---         --when  2 => flashram_data_i <= ram_data(1)( 7 downto  0);\r
---         --when  3 => flashram_data_i <= ram_data(1)(15 downto  8);\r
---         when others => null ;\r
---           end case ;\r
---           \r
---        elsif ram_data_f_spi_write = '1' then\r
---        ram_data(1) <= reg_spi;\r
---        elsif ram_data_f_spi_read = '1' then\r
---        reg_spi_o <= ram_data(1);\r
---        end if ;\r
-   \r
-   \r
-\r
-PROC_REGS_FLASH: process begin\r
-wait until rising_edge( clk_i );\r
-      ufm_bus_ready_in <= '0';\r
-      pwm_write_ii     <= '0';\r
-      if flash_command = '0' and ufm_bus_ready_out = '1' then\r
-         -- copy data from UFM to registers\r
-         ufm_bus_ready_in <= '1';\r
-         case to_integer ( ufm_databyte_counter ) is\r
-           when  0 => flash_temp   <= flashram_data_o;\r
-           when  1 => ram_data( 0) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "00000";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when  2 => flash_temp   <= flashram_data_o;\r
-           when  3 => ram_data( 1) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "00001";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when  4 => flash_temp   <= flashram_data_o;\r
-           when  5 => ram_data( 2) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "00010";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when  6 => flash_temp   <= flashram_data_o;\r
-           when  7 => ram_data( 3) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "00011";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when  8 => flash_temp   <= flashram_data_o;\r
-           when  9 => ram_data( 4) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "00100";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 10 => flash_temp   <= flashram_data_o;\r
-           when 11 => ram_data( 5) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "00101";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 12 => flash_temp   <= flashram_data_o;\r
-           when 13 => ram_data( 6) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "00110";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 14 => flash_temp   <= flashram_data_o;\r
-           when 15 => ram_data( 7) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "00111";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 16 => flash_temp   <= flashram_data_o;\r
-           when 17 => ram_data( 8) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "01000";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 18 => flash_temp   <= flashram_data_o;\r
-           when 19 => ram_data( 9) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "01001";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 20 => flash_temp   <= flashram_data_o;\r
-           when 21 => ram_data(10) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "01010";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 22 => flash_temp   <= flashram_data_o;\r
-           when 23 => ram_data(11) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "01011";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 24 => flash_temp   <= flashram_data_o;\r
-           when 25 => ram_data(12) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "01100";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 26 => flash_temp   <= flashram_data_o;\r
-           when 27 => ram_data(13) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "01101";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 28 => flash_temp   <= flashram_data_o;\r
-           when 29 => ram_data(14) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "01110";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when 30 => flash_temp   <= flashram_data_o;\r
-           when 31 => ram_data(15) <= flashram_data_o & flash_temp;\r
-                      pwm_write_ii <= '1';\r
-                      pwm_addr_ii  <= "01111";\r
-                      pwm_data_ii  <= flashram_data_o & flash_temp;\r
-           when others => null;\r
-         end case ;\r
-       \r
-       elsif flash_command = '1' and ufm_bus_ready_out = '1' then\r
-           -- save data from registers to UFM\r
-          ufm_bus_ready_in <= '1';\r
-          case to_integer ( ufm_databyte_counter ) is\r
-           when  0 => flashram_data_i <= ram_data( 0)( 7 downto  0);\r
-           when  1 => flashram_data_i <= ram_data( 0)(15 downto  8);\r
-           when  2 => flashram_data_i <= ram_data( 1)( 7 downto  0);\r
-           when  3 => flashram_data_i <= ram_data( 1)(15 downto  8);\r
-           when  4 => flashram_data_i <= ram_data( 2)( 7 downto  0);\r
-           when  5 => flashram_data_i <= ram_data( 2)(15 downto  8);\r
-           when  6 => flashram_data_i <= ram_data( 3)( 7 downto  0);\r
-           when  7 => flashram_data_i <= ram_data( 3)(15 downto  8);\r
-           when  8 => flashram_data_i <= ram_data( 4)( 7 downto  0);\r
-           when  9 => flashram_data_i <= ram_data( 4)(15 downto  8);\r
-           when 10 => flashram_data_i <= ram_data( 5)( 7 downto  0);\r
-           when 11 => flashram_data_i <= ram_data( 5)(15 downto  8);\r
-           when 12 => flashram_data_i <= ram_data( 6)( 7 downto  0);\r
-           when 13 => flashram_data_i <= ram_data( 6)(15 downto  8);\r
-           when 14 => flashram_data_i <= ram_data( 7)( 7 downto  0);\r
-           when 15 => flashram_data_i <= ram_data( 7)(15 downto  8);\r
-           when 16 => flashram_data_i <= ram_data( 8)( 7 downto  0);\r
-           when 17 => flashram_data_i <= ram_data( 8)(15 downto  8);\r
-           when 18 => flashram_data_i <= ram_data( 9)( 7 downto  0);\r
-           when 19 => flashram_data_i <= ram_data( 9)(15 downto  8);\r
-           when 20 => flashram_data_i <= ram_data(10)( 7 downto  0);\r
-           when 21 => flashram_data_i <= ram_data(10)(15 downto  8);\r
-           when 22 => flashram_data_i <= ram_data(11)( 7 downto  0);\r
-           when 23 => flashram_data_i <= ram_data(11)(15 downto  8);\r
-           when 24 => flashram_data_i <= ram_data(12)( 7 downto  0);\r
-           when 25 => flashram_data_i <= ram_data(12)(15 downto  8);\r
-           when 26 => flashram_data_i <= ram_data(13)( 7 downto  0);\r
-           when 27 => flashram_data_i <= ram_data(13)(15 downto  8);\r
-           when 28 => flashram_data_i <= ram_data(14)( 7 downto  0);\r
-           when 29 => flashram_data_i <= ram_data(14)(15 downto  8);\r
-           when 30 => flashram_data_i <= ram_data(15)( 7 downto  0);\r
-           when 31 => flashram_data_i <= ram_data(15)(15 downto  8);\r
-           when others => null ;\r
-          end case ;\r
-          \r
-       elsif ram_spi_write = '1' then\r
-         ram_data(to_integer(unsigned(ram_spi_addr))) <= ram_spi_data;\r
-       end if ;\r
-end process ;\r
-\r
-    \r
-    \r
+        \r
 end architecture;\r
 \r
        \r