강의

멘토링

커뮤니티

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

Grid님의 프로필 이미지
Grid

작성한 질문수

설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)

[AI HW Lab1] CNN Core C 코딩 (Golden Model 만들기)

강의 11:57분 bit 계산 질문드립니다.

작성

·

285

1

안녕하세요! SW전공잔데 AI에 관심이 있어서 이 강의를 듣다가, 강의에서 넘어가신 bit계산이 어떻게 계산된 값인지 이해가 안가서 질문드립니다. 프로그래밍 언어의 자료형이랑은 다른 개념같은데, HW 설계에서는 어떤 식으로 미리 계산을 하는지 궁금합니다.

답변 1

1

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

안녕하세요 :)

해당 내용은 Verilog HDL Season1 에서 다룬적이 있고요.

image질문자 분께서 SW 전공자시니 SW 관점에서 설명을 드리겠습니다.

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

C 언어와 같은 CPU 기반의 SW 언어들은 "지정된 Type" 이 존재합니다.

예를 들면 bool, char, int, long, double , float etc.. 등등이죠.

이 "지정된 Type" 은 고유 byte 를 갖고 연산방법또한 정해져있습니다.

강의에서 사용한 unsigned int 를 예를들어볼께요.

unsigned char 는 32bit 4 byte 입니다. 그리고 unsigned int 의 연산방식을 취합니다.

HW 는 이론상 선언 bit 의 제약이 없습니다.

33bit 을 선언할 수 있고, 25 bit 선언할 수 있고, 1111 bit 등 자유롭게 선언할 수 있죠.

그리고 이 선언된 bit 는 실제 HW 로 생성이 됩니다. (적은 bit 사용이 작은 HW 를 만들 수 있겠죠. 무조건 큰 bit 를 사용하지 않습니다.)

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

연산시 Overflow 는 없다 라는 가정이면, 큰 bit 를 사용해야 합니다.

SW 는 고정된 type 인 unsigned int (32b) 를 사용했다면, (현재 실습에서 사용하는 max bit 는 27 bit 입니다. 그래서 32b 으로 커버가 돼죠)

HW 의 실습코드를 보시면, 설계자가 직접 사용할 bit 수를 지정해서 사용하신 것을 확인하실 수 있습니다.

image

 즐공하세요 :)

Grid님의 프로필 이미지
Grid

작성한 질문수

질문하기