2017-02-06 4 views
-1

VHDL에서 arctan을 계산해야합니다. 이를 위해 Cilinx IP 코어 "Cordic V4.0"을 사용할 것입니다. 아니오 I've은 아크 탄젠트 계산 -1VHDL - XILINX CORDIC 알고리즘

내 값 1이 2^32 비트 (정수의 범위를 갖도록 입력 값을 필요로하는 판독

https://www.xilinx.com/support/documentation/ip_documentation/cordic_ds249.pdf

: 이는 시트이며 분수).

입력 값을 Cordic-Algorithm으로 변환하기 전에 입력 값을 변환해야합니까?

그렇다면 어떻게 변환해야합니까?

감사 기록 된 자일링스 사양 에릭

답변

0

:

"입력 벡터 (시안, 음), 및 상기 출력 벡터 (XOUT, 행해져 Yout)의 쌍으로 표현되는 입력 회전 각도, 핀 라디안은 고정 소수점 2의 보수이지만 정수 너비는 3 비트 (2QN 형식)로 표시됩니다. 고정 소수점 2의 보수는 정수 폭 2 비트 (1QN 형식)입니다. . "

32 비트 폭 벡터를 사용하는 경우 2 개의 최상위 비트가 정수 부분으로 사용되고 30 개의 다른 소수 비트가 소수 부분으로 사용됩니다.

어떻게 고정 소수점 숫자의 일을 알 수없는 경우

, 나는 당신이 그것에 대해 조금 읽으십시오 : 아 그냥이 부분에 읽어

https://en.wikipedia.org/wiki/Fixed-point_arithmetic

+0

. 고맙습니다. 위키 피 디아에 따라서 : "스케일링 인자 R을 가진 고정 소수점 타입에서 스케일링 인자 S를 가진 다른 타입으로 숫자를 변환하려면, 밑에있는 정수에 R을 곱하고 S로 나누어야합니다. ratio R/S "라고 말합니다. Mantisse가 30자인 경우 Number를 확장해야합니까? 그래서 2^30으로 나누고 2^2로 나누는 것은 쉼표를 움직여서 할 수 있습니다. 그게 맞습니까? – oleeiner

+0

실제 범위 [-1; 1 [[-2^31; 2^31 [로 표시됩니다. 따라서 두 번째 세그먼트의 한 단계는 1/2^31을 나타냅니다 (예 : 4.66 * 10^-10) –