A
a s
Hello,
I am working with Xilinx tools and have troubles understanding the
purpose
of a string variable init_fsm_name in the FSM process posted below
(snipped).
The code below was generated by Xilinx Core Generator.
I guess it must be related to simulation, but simulation tools can
already
extract the name from the FSM state init_state_r.
I would be grateful for shedding a light regarding this question.
I am working with Xilinx tools and have troubles understanding the
purpose
of a string variable init_fsm_name in the FSM process posted below
(snipped).
The code below was generated by Xilinx Core Generator.
I guess it must be related to simulation, but simulation tools can
already
extract the name from the FSM state init_state_r.
I would be grateful for shedding a light regarding this question.
Code:
process (pma_reset_done_i, init_fsm_wait_lock_check, lock_r,
pcs_reset_done_i, wait_pcs_done_i,
pcs_error_r1,wait_ready_done_i,
pcs_error_count_done_i,init_state_r)
variable init_fsm_name : string(1 to 25);
begin
case init_state_r is
when C_RESET =>
init_next_state_r <= C_PMA_RESET;
init_fsm_name := ExtendString("C_RESET", 25);
when C_PMA_RESET =>
if (pma_reset_done_i = '1') then
init_next_state_r <= C_WAIT_LOCK;
else
init_next_state_r <= C_PMA_RESET;
end if;
init_fsm_name := ExtendString("C_PMA_RESET", 25);
when C_WAIT_LOCK =>
if(init_fsm_wait_lock_check = '1') then
init_next_state_r <= C_PCS_RESET;
else
init_next_state_r <= C_WAIT_LOCK;
end if;
init_fsm_name := ExtendString("C_WAIT_LOCK", 25);
-- some cases removed
when others =>
init_next_state_r <= C_RESET;
init_fsm_name := ExtendString("C_RESET", 25);
end case;
end process;