Entity: cordic_arctg_mag_engine

Diagram

std_logic clk std_logic dv_in std_logic_vector (19 downto 0) x_in std_logic_vector (19 downto 0) y_in std_logic_vector (19 downto 0) arctg_out std_logic_vector (19 downto 0) mag_out std_logic dv_out

Description

Standard library. Implementation of arctg-magnitude cordic

Ports

Port name Direction Type Description
clk in std_logic Clock.
dv_in in std_logic Data valid input.
x_in in std_logic_vector (19 downto 0) x in Q2.17 format [0,1]
y_in in std_logic_vector (19 downto 0) y in Q2.17 format [0,1]
arctg_out out std_logic_vector (19 downto 0) arctan(y/x)
mag_out out std_logic_vector (19 downto 0) magnitude sqrt(xx+yy)
dv_out out std_logic Data valid output.

Signals

Name Type Description
r0_x signed(c_SIZE_INPUT-1 downto 0)
r0_y signed(c_SIZE_INPUT-1 downto 0)
r0_dv std_logic
r1_x_input typea_input
r1_y_input typea_input
r1_x typea_input
r1b_x_bis typea_input
r1_y typea_input
r1b_y_bis typea_input
r1_z typea_input
r1_shift_dv std_logic_vector(c_SIZE_INPUT-1 downto 0)
r2_arctg signed(c_SIZE_INPUT-1 downto 0)
r2_mag signed(2*c_SIZE_INPUT-c_SIZE_INT-1 downto 0)
r2b_mag signed(c_SIZE_INPUT-1 downto 0)
r2_dv std_logic

Constants

Name Type Value Description
c_SIZE_INPUT integer 20
c_SIZE_INT integer 2
c_SIZE_DECIM integer 17
c_Z_INIT signed(c_SIZE_INPUT-1 downto 0) "00000000000000000000"
c_NUM_STAGES integer 16
r1_ang typea_inputa ( "011001001000011111",
"001110110101100011",
"000111110101101101",
"000011111110101011",
"000001111111110101",
"000000111111111110",
"000000011111111111",
"000000001111111111",
"000000000111111111",
"000000000011111111",
"000000000001111111",
"000000000000111111",
"000000000000011111",
"000000000000001111",
"000000000000000111",
"000000000000000011" )
c_CORRECTION signed(c_SIZE_INPUT-c_SIZE_INT-1 downto 0) "010011011011101001"

Types

Name Type Description
typea_input
typea_inputa

Processes