Robotics/Hardware
32bit Floating-point Multiplier using VHDL
아슈람
2009. 6. 10. 12:08
반응형
VHDL로 작성한 32bit 부동소수점 프로세서 중 곱셈기입니다. Altera의 Quartus2에서 설계하였습니다.
연산 원리는 대략 아래와 같습니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
덧셈/뺄셈기에 비해 곱셈기는 그 구조가 상대적으로 간단하다. 부동소수점 포맷이 부호, 지수부, 가수부로 나뉘어 있기 때문이다. 따라서 지수부끼리의 덧셈과 가수부끼리의 곱셈 결과를 조정하여 연산 결과를 만들어낸다. 이 과정에서 발생 가능한 zero, overflow, underflow, denormalized error를 체크한다.
또한 설계된 Adder/Subtractor의 연산 성능을 시뮬레이션한 결과는 아래와 같습니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Mul Operation
Operand1: 01000000010010010000111111011010 (≒ 3.14159265)
Operand2: 01000000001011011111100001010100 (≒ 2.71828182)
Result: 01000001000010001010001010111111(≒ 8.53973293304443)
Error: | 8.539734186340623 - 8.53973293304443 | = 0.000001253296193
반응형