인프런 커뮤니티 질문&답변
답변 1
0
설계독학맛비
지식공유자
안녕하세요 :)
제곧내.. 가 나왔군요. (예의를 지켜주시면 감사하겠습니다. 저는 친구가 아니니까요.^^)
done 을 이용해서, Host 에게 Core 의 동작이 완료되었음을 알리기 위해서 done 상태를 사용했어요.
물론 done state 없이도 done 을 모방한 signal 설계가 가능합니다. (그런 의미에서 질문하신거죠?) 그렇게 추천? 드리고 싶진 않아요.
하지만, 1bit 를 줄이기 위해서 (done state 를 없앰으로 인해) "Designer 가 쓰지 않아도 된다", 라고 판단하면 안써도 됩니다. (질문자님 마음대로)
설계독학 강의에서는 done state 를 명시해서 사용하는 것을 추천드립니다.
(명확한 state 기술이 현업에서 도움이 되실거에요)
참고.
최소한 Xilinx 의 IP Control 시에는 idle -> start -> ready -> done 을 권장하구요.
(현업에서 IP 설계를 하시면, 유사한 state 로 설계하실겁니다.)
각각 state 의 의미는 다음 링크를 참고 부탁드릴께요. (70 page 의 table)
https://www.xilinx.com/support/documentation/sw_manuals/xilinx2013_1/ug871-vivado-high-level-synthesis-tutorial.pdf
즐공하세요 :)






기존의 c로 작성한 프로그램에서는
1. idle 상태 확인
2. 딜레이 동작시키기
3. done 상태 확인
위의 순서대로 진행 하셨는데. 상태를 idle, run 상태 두개만 쓰면
아래의 순서로 해도 된다는 말씀이시군요.
1. idle 상태 확인
2. 딜레이 동작시키기 => 함수는 내부적으로 idle => run 상태로 변경후 리턴된다.
3. idle 상태 확인
결론은 현업에서 그렇게 쓰고 그런게 장점이 많으니 나중을 위해서 좋다. 이런 말씀이군요.
알겠습니다. 감사합니다.