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

항상 감사하면 살기님의 프로필 이미지
항상 감사하면 살기

작성한 질문수

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

수업내용

작성

·

281

1

[9장] signed에 대한 질문

맛비님 안녕하세요, 9장 강의를 듣고 질문사항이 생겨서 올립니다.

signed a= 4'b1000 라는 변수가 있을때 해당 값은 -8이라고 알고 있습니다.

이때 궁금한 점은 2의보수를 취할때 MSB도 1->0 or 0->1로 바꿔져야 하는지 의문입니다.

답변 1

0

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

안녕하세요 :)

MSB 포함 전부 반전입니다. (설계 학원 느낌나네요.. 하나 만들까요..?ㅋㅋ)

image

즐공하세요 :)

질문 드리고 오랜만에 책을 다시 보니 방법이 잘 설명되어있어서 첨부합니다.

답장 감사드립니다.image

++ 추가 질문이 생겨 여쭤봅니다.image

initial 구문 안에 correct에 연산 결과를 대입하는 부분이 이해가 안가 글 남기게 되었습니다.

a라는 변수에는 '15'라는 양수 값이 담겨있고 signed로 type casting을 위해 앞에 부호 '0'을 붙여 a -> 5'b01111 이 된것을 확인했습니다.

하지만 b라는 변수는 '-8'이라는 음수 값이 담겨 -> 4'b1000 임을 확인했습니다.

이때 correct 라는 변수는 5bit이기 때문에 b변수를 부호 확장 시키면 5'b11000이 됩니다.

correct = 01111

11000+ = 6'b100111 carry가 발생하여 6bit가 되는데 앞에것을 버려주면 되는지 궁금합니다.

좋은 하루 되십시오.

 

 

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

correct = 01111

11000+ = 6'b100111 carry가 발생하여 6bit가 되는데 앞에것을 버려주면 되는지 궁금합니다.

저는 correct 가 이렇게 계산 되네요. (00111 인데요..?)

image

저도.. 학업을 끝낸지 오래라... ㅎㅎ 아마 저보다 잘 알고계실겁니다.

자유롭게 시뮬레이션 할 수 있는 모든 환경을 드렸고요.

연산관련 궁금증은 직접 코드를 돌려보시면 좋을 것 같아요.

즐공하세요 :)

항상 감사하면 살기님의 프로필 이미지
항상 감사하면 살기

작성한 질문수

질문하기