OpenCores
URL https://opencores.org/ocsvn/gecko3/gecko3/trunk

Subversion Repositories gecko3

[/] [gecko3/] [trunk/] [GECKO3COM/] [gecko3com-ip/] [core/] [GECKO3COM_simple_test.vhd] - Diff between revs 26 and 27

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 26 Rev 27
Line 255... Line 255...
  -- inputs : s_mode, s_prng_data, s_message_rom_data
  -- inputs : s_mode, s_prng_data, s_message_rom_data
  -- outputs: s_send_fifo_data
  -- outputs: s_send_fifo_data
  send_data_mux: process (s_mode, s_prng_data, s_message_rom_data)
  send_data_mux: process (s_mode, s_prng_data, s_message_rom_data)
  begin  -- process send_data_mux
  begin  -- process send_data_mux
    case s_mode is
    case s_mode is
      when "00" => s_send_fifo_data <= s_message_rom_data;
      -- we have to change here the "16bit word order" else the data is
      when "01" => s_send_fifo_data <= s_prng_data;
      -- transmitted in the wrong order
 
      when "00" => s_send_fifo_data <= s_message_rom_data(15 downto 0) &
 
                                       s_message_rom_data(31 downto 16);
 
      when "01" => s_send_fifo_data <= s_prng_data(15 downto 0) &
 
                                       s_prng_data(31 downto 16);
      when others => s_send_fifo_data <= (others => 'X');
      when others => s_send_fifo_data <= (others => 'X');
    end case;
    end case;
  end process send_data_mux;
  end process send_data_mux;
 
 
 
 
Line 457... Line 461...
        elsif s_send_data_request = '1' then
        elsif s_send_data_request = '1' then
          next_state <= st3_load_total_transfer_size;
          next_state <= st3_load_total_transfer_size;
        end if;
        end if;
 
 
      when st2_get_data =>
      when st2_get_data =>
 
        if s_receive_fifo_empty = '0' then
        s_receive_fifo_rd_en <= '1';
        s_receive_fifo_rd_en <= '1';
 
        end if;
 
 
        if s_receive_fifo_empty = '1' then
        if s_receive_fifo_empty = '1' then
          next_state <= st1_idle;
          next_state <= st1_idle;
        end if;
        end if;
 
 
Line 476... Line 482...
        s_send_transfersize_en <= '1';
        s_send_transfersize_en <= '1';
 
 
        next_state <= st5_send_data;
        next_state <= st5_send_data;
 
 
      when st5_send_data =>
      when st5_send_data =>
 
        if s_send_fifo_full = '0' then
        s_send_fifo_wr_en <= '1';
        s_send_fifo_wr_en <= '1';
        s_send_counter_en <= '1';
        s_send_counter_en <= '1';
        if s_mode = "01" then
        if s_mode = "01" then
          s_prng_en <= '1';
          s_prng_en <= '1';
        end if;
        end if;
 
        end if;
 
 
        if s_send_counter_equals_transfer_size = '1' and
        if s_send_counter_equals_transfer_size = '1' and
          s_send_have_more_data = '0'
          s_send_have_more_data = '0'
        then
        then
          next_state <= st1_idle;
          next_state <= st1_idle;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.