[an error occurred while processing this directive]
|
if (reset = '1')
then main_state <= IDLE;
else
if (rising_edge(clk)) then -- code
case main_state is
...............
when CHK_PES_HDR1 =>
if (outPES_001 = TO_STDLOGICVECTOR(x"000001")) then
misc_cnt <= rx_PES_header_dlen - 1;
main_state <= SKP_PES_HDR1;
end if;
--******************************************************************
when SKP_PES_HDR1 =>
if (пришел байт) then
...........
misc_cnt <= misc_cnt - 1;
if (misc_cnt = "00000000") then
............
main_state <= WR_PES_DATA;
end if;
end if;
.................
when WR_PES_DATA =>
............
end case
end if;
счетчик misc_cnt получает значение в состоянии
CHK_PES_HDR1 а в состоянии SKP_PES_HDR1 пропускается
прием misc_cnt байт. Синтезатор заводит на счетчик
misc_cnt сигнал reset. В данном случае в этом нет необходимости.
Как бы его оттуда убрать?
p.s. мб я действительно криво автоматы описываю?
E-mail: info@telesys.ru