1. 제목: 고속 동작 곱셈기 설계
2. 목적
고속 동작 곱셈기의 설계를 통해 곱셈 과정에 있어서 shift and add를 이해하고 곱셈기 구현을 위한 여러 가지 기법들을 익히며 sequential circuit의 설계 흐름을 숙지한다. 또한 VHDL을 이용한 곱셈기 설계를 통해 VHDL을 이용한 sequential circuit의 description 방법을 익히고 동작 확인 과정을 통해 simulation tool의 사용법을 익힌다.
3. 목표 및 기준 설정
(1) 목표 및 기준설정
shift and add 횟수 감소를 통해 고속 연산을 가능하게 하는 Booth s multiplier를 설계한다. 이때 16-bit word의 입력과 출력을 가지도록 한다.
-곱셈기를 구현하기 위해 곱셈 과정에 대한 수학적 이론 정리
-곱셈 과정에서의 shift and add 동작에 대한 이해
4. 합성 및 분석
(1) 분석
-Booth 알고리듬에 대한 이해
이 알고리즘은 2의 보수 숫자에 대해 직접 작용한다. 즉, 양수와 음수 사이의 변환이 필요 없다. 이 알고리즘은 앞의 알고리즘과 마찬가지로 승수의 각 비트를 조사하고, 알고리즘이 조사하는 각 비트에 대해 결과를 오른쪽으로 1비트 시프트 시킨다. 그러나 이 알고리즘은 승수에 있는 1에 대하여 데이터를 더하는 것이 아니라, 1의 문자열에 있는 첫 번째 1에 대하여 뺄셈을 수행하고, 문자열의 마지막 1에 대하여는 덧셈을 수행한다. 이렇게 하는 이유는 1의 문자열이 두 값의 차이로서 취급되기 때문이다.
예를 들어, 이 알고리즘은 곱 1011(-5)*0111(7)을 1011(-5)*1000-0001(7)로 취급한다. 물론 이 둘은 동일한 결과를 산출한다.
1. 최하위 비트부터 조사해가면서 승수의 1 을 처음 만나게 되면 피승수를 부분곱으로 뺀다.
2. 승수의 0 의 string 에서 처음 0 을 만나게 되면 피승수의 부분곱에 더한다.
.... |