작성
·
195
2
혹시 에러나는 부분이 always 첫문장에 nstate=idle때문에 is_done이 0이 될때를 명시하지 않으면 state가 idle로 가기 때문에 문제가 되는거로 이해했는데 혹시 맞나요?
답변 2
1
0
아주 정확하게 맞습니다!!!!!!!!!!!! 맛비의 버그입니다.
다른 솔루션으로는 (평소에 이렇게 설계 하는데;;; 이 예제에서는 본의아니게 버그를 심어놨..)
59 번째 라인을
n_state = S_IDLE; 대신에
n_state = c_state; 로 바꾸면
사실상, 65,66 번째 라인의
else
n_state = S_RUN;
은 필요 없습니다.
좋은 질문 감사합니다.