• 카테고리

    질문 & 답변
  • 세부 분야

    반도체

  • 해결 여부

    미해결

CNN 연산 모듈 질문입니다.

23.03.30 23:13 작성 23.03.30 23:14 수정 조회수 371

1

안녕하세요 맛비님.

맛비님께서 3차원 Convolution 연산 모듈을 설계하기 위해서 3개의 계층을 가진 모듈로 설계하셨던 것에 궁금한 게 생겨서 질문드립니다.

1차원 연산을 위한 최하위 계층, 그 위의 2차원 연산을 위한 하위 계층, 그 위의 3차원 연산을 위한 Top 계층, 이렇게 세 개의 계층을 나누셨는데,

1.한 모듈에서 Register를 많이 추가하여 이 기능을 전부 할 순 없나요? (FSM으로) 즉 하나의 계층을 가진 모듈로 3차원 연산 모듈을 구현할 수는 없는 건가요?


2. 이와 같이 할 경우 단점이란 것이 존재할까요?

답변 1

답변을 작성해보세요.

0

안녕하세요 :)

  1. 한 모듈에서 Register를 많이 추가하여 이 기능을 전부 할 순 없나요? (FSM으로) 즉 하나의 계층을 가진 모듈로 3차원 연산 모듈을 구현할 수는 없는 건가요?
    가능합니다. :)

  2. 이와 같이 할 경우 단점이란 것이 존재할까요?

    Hierachy 를 나눔으로써, 가독성과 재사용성을 이점으로 둘 수 있겠네요. 디버깅도 용이하고요. 한 코드에 많은 내용을 작성하면 케바케 겠지만, 저는 그렇게 좋아하진 않아요. 취향것? 혹은 회사의 가이드 대로 설계하시면 되겠습니다.

즐공하세요 :)

osia0921님의 프로필

osia0921

질문자

2023.04.02

제가 아직 대학생이라 잘 모르지만, hierachy를 나눔으로써의 장점은 가독성, 재사용성이 다인가요?

모듈간의 통신, 즉 pipelining과는 관련이 없을까요? (사실 저는 레지스터만으로 pipelining을 할 수 있다고 생각하기 때문에 관련이 없다고 생각하긴 합니다)

 

이론상!!!!!!!! (이론입니다. 저는 이렇게 안해요. 그리고 제 말이 무조건 정답은 아닙니다. 이런류의 질문은 정답이 없어요.)
"hierarchy 를 전부 해체하고 한 모듈에 어떠한 모든 회로를 기술할 수 있다." 가 저의 생각이에요.

그게 가능하단 근거는

"Tool 로 합성 시, 모듈 hierarchy 를 전부 풀고.. 하나의 .v netlist 로 추출 가능하다"

인간도 할 수 있어요. 그렇게 할 이유를 못찾거나 or 역량에 의해서 못할 뿐이지..

============================

자 그럼 질문의 답변을 해보죠.

제가 아직 대학생이라 잘 모르지만, hierachy를 나눔으로써의 장점은 가독성, 재사용성이 다인가요?

-> 더 있어요. (hierarchical 설계도요. 그 외 숨은 장점이 많은데, 이거는 직접 설계해보시면서 부딪혀보면서 답을 찾을 수 있을 것 같아요. 경험이 아닌 이론적인 답을 원하신다면, 이런류의 질문은 GPT 가 잘 답변해 줄 겁니다.)

모듈간의 통신, 즉 pipelining과는 관련이 없을까요? (사실 저는 레지스터만으로 pipelining을 할 수 있다고 생각하기 때문에 관련이 없다고 생각하긴 합니다)

-> 설계자가 그렇다고 하면 그런 겁니다. (질문자님께서 "Pipeline 과 관련이 있기 때문에 나눌껍니다!" 하면 제가 전체 내용을 모르니 (알려주지 않으셔도 됩니다 ㅎㅎ), "그렇게 하세요." 할 것 같아요)


하지만 거듭 말씀드리지만 이론 상 하나의 모듈로 모든 것을 구현할 수 있습니다.

그래서 제가 다음처럼 답변 드렸어요.

image

즐공하세요 :)