2

I am writing the verilog code for CORDIC (COordinate Rotation DIgital Computer) in xilinx vivado. For that I need 45, 26.565 degree rotation angle in 32-bit binary form. After searching in the internet I got 45 degree angle can be represented as

assign z[00] = 'b00100000000000000000000000000000;

and 26.565 degree angle can be represented as

assign z[01] = 'b00010010111001000000010100011101;

Can anybody explain to me how they are representing the 45 degree and 26.565 degree angle in binary form? Is there any formula behind it?

David
  • 53
  • 4

1 Answers1

1

round((45 / 360) * 2 ** 32) is equal to 'b00100000000000000000000000000000 (exacly your number)

round((26.565 / 360) * 2 ** 32) is equal to 'b00010010111001000000001010111011 (almost your number, difference 0.00005 degree)

Formula propably is equal to (angle / 360) * 2 ** 32.

ToTamire
  • 1,425
  • 1
  • 13
  • 23