VHDL을 이용한 고속동작 곱셈기(Booth multiplier) 설계
- 최초 등록일
- 2011.06.25
- 최종 저작일
- 2011.05
- 15페이지/ 한컴오피스
- 가격 1,500원
소개글
서강대학교 디지털 논리회로 설계
2011년 1학기 2차 설계과제 결과입니다.
기본적으로 부스 멀티플라이어 방식을 사용하여, 곱셈을 연산하며,
에더트리를 이용하여 곱셈한 것을 다시 덧셈하여 결과를 출력하는 방식입니다.
VHDL 방식으로 설계하였으며, 코드는 문서에 첨부되어 있으며
MODELSIM 을 이용한 시뮬레이션 결과 역시 동봉되어 있으니 참고바랍니다.
목차
1. 제목
2. 목적
3. 목표 및 기준 설정
<multiplier-실제 연산을 할 수 있는 code 구현>
<booth - multiplier에 해당하는 input B를 3bit씩 잘라주는 code>
4. 합성 및 분석
1) 분석
2) 설계
5. 시험 및 평가
6. 논의 사항
7. 참고문헌
본문내용
- 곱셈 과정에 대한 이해
8bit의 두 input A와 B는 각각 multiplicand, multiplier을 의미한다. Booth`s algorithm에 의해 multiplier인 B는 마지막에 ‘0’을 붙여서 9bit으로 확장된 후, overlapping되도록 3bit씩 묶어준다. 위의 그림에서 묶는 방법을 보여주었다. 위의 수식으로 보면 증명하다가 부분이 필요함을 알수 있는데, 이부분이 바로 multiplicand인 B에 추가로 붙여주는 ‘0’인 부분이다. 따라서 위의 조건대로 이 되어야 한다.
이 때 각각의 3bit의 input에 따라서 곱해 줘야하는 partial product가 다르므로, 이에 해당하는 각각의 값을 계산해 놓는다(설계 code에서는 tmpA(= A), tmpN(= -A), tmp2A(= +2A), tmp2N(= -2A)에 해당). 또한 3bit의 input에 따라 곱해준 각각의 partial product를 모두 16bit로 일정하게 확장하는 과정을 거친 후, 이 partial product (총 4개)의 합을 바로 출력한다. 이 때 결과 값의 sign bit 이 만약 1이 나온다면 이 경우 결과값은 음수로 단정지을수 있다. 이 경우는 추가로 2`s complement 과정을 취해주어야 올바른 값을 얻을 수 있다.
참고 자료
VHDL 설계를 이용한 디지털 논리 / 교보문고 / 서동신,강진구,박도순 외 / 2005년
VHDL 에 의한 디지털 컴퓨터 설계와 구현 / 그린 / 박세현 저 / 1999년