강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

i3rdeye님의 프로필 이미지
i3rdeye

작성한 질문수

설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)

FSM에서 idle, run 두가지만 있어도 될것 같은데 done상태를 만든 이유가 뭔가요?

작성

·

467

0

제목 그대로

답변 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  

 

즐공하세요 :)

 

 

i3rdeye님의 프로필 이미지
i3rdeye
질문자

기존의 c로 작성한 프로그램에서는

 

1. idle 상태 확인

2. 딜레이 동작시키기

3. done 상태 확인

 

위의 순서대로 진행 하셨는데. 상태를 idle, run 상태 두개만 쓰면

아래의 순서로 해도 된다는 말씀이시군요.

 

1. idle 상태 확인

2. 딜레이 동작시키기 => 함수는 내부적으로 idle => run 상태로 변경후 리턴된다.

3. idle 상태 확인

 

결론은 현업에서 그렇게 쓰고 그런게 장점이 많으니 나중을 위해서 좋다. 이런 말씀이군요.

알겠습니다. 감사합니다.

 

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

상세하게 적어주시니 너무 좋네요!

정리해주신 내용에 동의 합니다.

즐공하세요 :)

i3rdeye님의 프로필 이미지
i3rdeye

작성한 질문수

질문하기