Altera_Forum
Honored Contributor
12 years ago"ARCTAN" Function's Issue
Hi bros, this is my VHDL code to implement an "ARCTAN" function:
-- This is my code -- LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.MATH_REAL.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.numeric_std.ALL; USE ieee.std_logic_signed; USE ieee.std_logic_unsigned; ENTITY arctan IS GENERIC (NUMBER_BIT: INTEGER:=16); PORT ( clk: IN STD_LOGIC; reset: IN STD_LOGIC; data_inI: IN STD_LOGIC_VECTOR(NUMBER_BIT-1 DOWNTO 0); data_inQ: IN STD_LOGIC_VECTOR(NUMBER_BIT-1 DOWNTO 0); arc_out: OUT STD_LOGIC_VECTOR (5 DOWNTO 0) ); END arctan; ARCHITECTURE bhv OF arctan IS BEGIN PROCESS(clk,reset) VARIABLE real_val1: REAL :=0.0; VARIABLE real_val2: REAL :=0.0; VARIABLE temp : REAL := 0.0; BEGIN IF (reset='0') THEN arc_out<=(OTHERS=>'0'); ELSE IF(clk'EVENT AND clk='1') THEN ---convert STD_LOGIC type to REAL type---------- real_val1:= CONV_INTEGER(SIGNED(data_inI))**0.00003052; --1/(2^15)=1/32768=0.00003052 real_val2:= CONV_INTEGER(SIGNED(data_inQ))**0.00003052; -------------------------------------------------- temp:=ARCTAN(real_val1,real_val2); arc_out<= CONV_STD_LOGIC_VECTOR(CONV_SIGNED(INTEGER(temp*32768.0),6)); END IF; END IF; END PROCESS; END bhv; -- End of my code -- And when I tried to compile it with Modelsim-Altera Starter Edition 10.0, I got a message as shown below: Can you help me to solve this issue? Thank you so much.