-- Packages Used ieee.STD_LOGIC_1164 ieee.STD_LOGIC_SIGNED ieee.NUMERIC_STD GTS.gts_pack -- Interface msg_in : in std_logic_vector (7 downto 0); msg_strobe : in std_logic_vector (1 downto 0); bclk : in std_logic ; lreset : in std_logic ; tag : in std_logic_vector (15 downto 0); strobe : in std_logic ; ack : out std_logic ; DataOut : out std_logic_vector (0 to 7); ts_16 : in std_logic_vector (15 downto 0); a_idle : in std_logic ; a_comma : in std_logic ; a_ack : out std_logic ; bp_ack : out std_logic ; bp_stop : in std_logic ; bp_start : in std_logic ; -- Controls Initial State: S0 ------------------- Machine: Synchronous Clock: bclk Clock Enable: - Clock Polarity: Rising Reset: lreset Reset Mode: Asynchronous Reset State: S0 Reset Polarity: High State Transition Process: Synchronous State Selection: Case Transition Selection: If -- Current State Current Signal Name: visual_S0_current Next Signal Name: visual_S0_next Type: enumeration Hierarchy Mode: Flat Encoding: User Defined S0 => S2 => S17 => S9 => S10 => S16 => S19 => S3 => S4 => S11 => S12 => S13 => S14 => S15 => S1 => S5 => S6 => S7 => S8 => -- States and Transitions Initial State: S0 ------------------- State: S0 Enter Action: DataOut<=(others =>'0'); ack<='0'; a_ack<='0'; bp_ack<='0'; Transitions of state S0: T2 to s_bp_on Priority: 1 Guard: bp_start = '1' T37 to s_bp_off Priority: 2 Guard: bp_stop='1' T1 to s_trgreq Priority: 3 Guard: strobe = '1' T23 to s_idle Priority: 4 Guard: a_idle='1' T26 to s_comma Priority: 5 Guard: a_comma='1' T32 to S0 State: s_bp_off Hierarchical: Yes Subdesign: s_bp_off Transitions of state s_bp_off: T36 to S0 State: s_bp_on Hierarchical: Yes Subdesign: s_bp_on Transitions of state s_bp_on: T34 to S0 State: s_comma Hierarchical: Yes Subdesign: s_comma Transitions of state s_comma: T31 to S0 State: s_idle Hierarchical: Yes Subdesign: s_idle Transitions of state s_idle: T35 to S0 State: s_trgreq Hierarchical: Yes Subdesign: s_trgreq Transitions of state s_trgreq: T33 to S0 Subdesign s_trgreq --------------- Initial State: S1 ------------------- State: S1 Enter Action: DataOut(0 to 3)<="1111"; -- start of cmd DataOut(4 to 7)<="0011"; -- cmd length Transitions of state S1: T5 to S5 State: S5 Enter Action: DataOut<=C_TRGREQ; -- TRIGGER REQUEST Transitions of state S5: T6 to S6 State: S6 Enter Action: DataOut<= tag(7 downto 0); Transitions of state S6: T7 to S8 State: S7 Enter Action: DataOut<=(others =>'0'); ack<='1'; Transitions of state S7: T9 to G1 Guard: strobe = '0' T10 to S7 State: S8 Enter Action: DataOut<=tag(15 downto 8); Transitions of state S8: T11 to S7 Subdesign s_idle --------------- Initial State: S11 ------------------- State: S11 Enter Action: DataOut(0 to 3)<="1111"; -- start of cmd DataOut(4 to 7)<="0011"; -- cmd length Transitions of state S11: T16 to S12 State: S12 Enter Action: DataOut<=C_IDLE; -- send idle = comma Transitions of state S12: T17 to S13 State: S13 Enter Action: DataOut<= ts_16(7 downto 0); Transitions of state S13: T18 to S14 State: S14 Enter Action: DataOut<=ts_16(15 downto 8); Transitions of state S14: T19 to S15 State: S15 Enter Action: DataOut<=(others =>'0'); a_ack<='1'; Transitions of state S15: T20 to G4 Guard: a_idle='0' T25 to S15 Subdesign s_comma --------------- Initial State: S3 ------------------- State: S3 Enter Action: DataOut<="00111100"; --0x3c Transitions of state S3: T30 to S4 State: S4 Enter Action: DataOut<=(others=>'0'); a_ack<='1'; Transitions of state S4: T28 to G5 Guard: a_comma='0' T27 to S4 Subdesign s_bp_on --------------- Initial State: S10 ------------------- State: S10 Enter Action: DataOut(0 to 3)<="1111"; -- start of cmd DataOut(4 to 7)<="0001"; -- cmd length Transitions of state S10: T16 to S16 State: S16 Enter Action: DataOut<=C_BACKPON; -- backpressure on Transitions of state S16: T19 to S19 State: S19 Enter Action: DataOut<=(others =>'0'); bp_ack<='1'; Transitions of state S19: T20 to G4 Guard: bp_start='0' T25 to S19 Subdesign s_bp_off --------------- Initial State: S2 ------------------- State: S2 Enter Action: DataOut(0 to 3)<="1111"; -- start of cmd DataOut(4 to 7)<="0001"; -- cmd length Transitions of state S2: T16 to S9 State: S17 Enter Action: DataOut<=(others =>'0'); bp_ack<='1'; Transitions of state S17: T20 to G4 Guard: bp_stop='0' T25 to S17 State: S9 Enter Action: DataOut<=C_BACKPOFF; -- backpressure off Transitions of state S9: T19 to S17