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

Subversion Repositories gecko3

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

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

Rev 26 Rev 27
Line 94... Line 94...
architecture fsm of GECKO3COM_simple_fsm is
architecture fsm of GECKO3COM_simple_fsm is
 
 
  -- XST specific synthesize attributes
  -- XST specific synthesize attributes
  attribute safe_implementation : string;
  attribute safe_implementation : string;
  attribute safe_recovery_state : string;
  attribute safe_recovery_state : string;
 
  attribute fsm_encoding       : string;
 
 
  type   state_type is (st1_idle, st2_abort, st3_read_msg_id, st4_check_msg_id,
  type   state_type is (st1_idle, st2_abort, st3_read_msg_id, st4_check_msg_id,
                        st5_read_nbtag, st6_read_transfer_size_low,
                        st5_read_nbtag, st6_read_transfer_size_low,
                        st7_read_transfer_size_high, st8_check_attributes,
                        st7_read_transfer_size_high, st8_check_attributes,
                        st9_signal_data_request, st10_signal_receive_new_data,
                        st9_signal_data_request, st10_signal_receive_new_data,
Line 111... Line 112...
  signal state, next_state : state_type;
  signal state, next_state : state_type;
 
 
  -- XST specific synthesize attributes
  -- XST specific synthesize attributes
  attribute safe_recovery_state of state : signal is "st1_idle";
  attribute safe_recovery_state of state : signal is "st1_idle";
  attribute safe_implementation of state : signal is "yes";
  attribute safe_implementation of state : signal is "yes";
 
  attribute fsm_encoding of state        : signal is "johnson";
 
 
 
 
  --Declare internal signals for all outputs of the state-machine
  --Declare internal signals for all outputs of the state-machine
  signal s_receive_fifo_wr_en         : std_logic;
  signal s_receive_fifo_wr_en         : std_logic;
  signal s_receive_fifo_reset         : std_logic;
  signal s_receive_fifo_reset         : std_logic;
  signal s_receive_transfersize_en    : std_logic_vector((32/SIZE_DBUS_GPIF)-1 downto 0);
  signal s_receive_transfersize_en    : std_logic_vector((32/SIZE_DBUS_GPIF)-1 downto 0);
Line 348... Line 351...
         state = st17_send_nbtag or
         state = st17_send_nbtag or
         state = st18_send_transfer_size_low or
         state = st18_send_transfer_size_low or
         state = st19_send_transfer_size_high or
         state = st19_send_transfer_size_high or
         state = st20_send_attributes or
         state = st20_send_attributes or
         state = st21_send_reserved))
         state = st21_send_reserved))
      or state = st22_send_data
      or (state = st22_send_data and
 
          i_gpif_tx_full = '0' and
 
          i_send_fifo_empty = '0')
 
      or (state = st23_send_wait and
 
          i_gpif_tx_full = '0' and
 
          i_send_fifo_empty = '0')
    then
    then
      s_gpif_tx_wr_en <= '1';
      s_gpif_tx_wr_en <= '1';
    end if;
    end if;
  end process;
  end process;
 
 
Line 374... Line 382...
        elsif i_gpif_rx_empty = '0' then
        elsif i_gpif_rx_empty = '0' then
          next_state <= st3_read_msg_id;
          next_state <= st3_read_msg_id;
        end if;
        end if;
 
 
      when st2_abort =>
      when st2_abort =>
 
        if i_gpif_abort = '0' then
        next_state <= st1_idle;
        next_state <= st1_idle;
 
        end if;
 
 
      when st3_read_msg_id =>
      when st3_read_msg_id =>
        next_state <= st4_check_msg_id;
        next_state <= st4_check_msg_id;
 
 
      when st4_check_msg_id =>
      when st4_check_msg_id =>

powered by: WebSVN 2.1.0

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