인프런 커뮤니티 질문&답변
수체계와 반올림
해결된 질문
작성
·
612
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




