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

설계독학맛비님의 프로필 이미지
설계독학맛비

작성한 질문수

설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)

수체계와 반올림

해결된 질문

작성

·

541

0

아으니.. 질문을 지우시고 유튭에다 적으셨군요. 업로드 하려고 눌렀더니 안되서 봤더니.. ㅎ

되도록이면 인프런을 활용해주세요. 유튭 글쓰기 불편해요 ㅜ

============== 질문 =================

개인공부를 하다 궁금증이 생겨 질문드립니다 !!
fixed point 수 체계에서 반올림은 어떤식으로 구현되는지 궁금합니다. 검색 해보니까 Rounding down, Rounding up, Rounding away from zero, Rounding towards zero 이런 식으로 종류가 많던데 혹시 HW에서 특별이 선호되는 방법이 있나요?.

============== 답변 =================
반올림을 결정하는건 알고리즘 엔지니어의 역할 같아요 :)

왜냐하면, 반올림 여부에 따라 결과 값이 달라지기 때문에, 이를 보장하는 거는 HW 설계 엔지니어의 역할이라 생각되진 않습니다.

HW 엔지니어는 정답지와 동일하게 답을 내는 설계를 해야한다고 생각해요.

만약 반올림을 HW 엔지니어가 정할 수 있으면, 

제가 굳이 하나 고른다면, 구현이 가장 쉽고 logic size 가 작은 "버림" 을 취하지 않을까 싶습니다. 

답변 2

0

구현 방법은?! 

예를 들어서, "버림" 구현 한다고 하면 

10 bit 가 있을 때, 상위 5 bit 는 정수. 하위 5 bit 은 소수 (즉 소수점은 중간에 있겠네요)

그리고 정수만 취할꺼에요. 하위 5 bit 이 무엇이건 간에.

그러면, 하위 5 bit 버리고 다음과 같이 assign 하면 되겠네요.

wire [9:0]  result;

wire [9:0] fixed_in;

assign result = {fixed_in[9:5], 5'b0};

적절히 구현하시면 됩니다. :)

0

답변은 글에다 적었어요~~

설계독학맛비님의 프로필 이미지
설계독학맛비

작성한 질문수

질문하기