Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library IEEE;
- use IEEE.STD_LOGIC_1164.ALL;
- entity tanh is
- Port (
- aclock : IN STD_LOGIC;
- in_valid : IN STD_LOGIC;
- in_data : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
- out_valid : OUT STD_LOGIC;
- out_data : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
- );
- end tanh;
- architecture Behavioral of tanh is
- signal sin, cos, result, tmp : STD_LOGIC_VECTOR(15 DOWNTO 0);
- signal sincos : STD_LOGIC_VECTOR(31 DOWNTO 0);
- signal optional_out1 : STD_LOGIC_VECTOR (0 downto 0) ;
- signal final_sign, sinsign, cossign ,sinhvalid,coshvalid,tanhvalid ,optional_out: STD_LOGIC;
- COMPONENT cordic
- PORT (
- aclk : IN STD_LOGIC;
- s_axis_phase_tvalid : IN STD_LOGIC;
- s_axis_phase_tdata : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
- m_axis_dout_tvalid : OUT STD_LOGIC;
- m_axis_dout_tdata : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
- );
- END COMPONENT;
- COMPONENT div_gen_0
- PORT (
- aclk : IN STD_LOGIC;
- s_axis_divisor_tvalid : IN STD_LOGIC;
- s_axis_divisor_tready : OUT STD_LOGIC;
- s_axis_divisor_tdata : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
- s_axis_dividend_tvalid : IN STD_LOGIC;
- s_axis_dividend_tready : OUT STD_LOGIC;
- s_axis_dividend_tdata : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
- m_axis_dout_tvalid : OUT STD_LOGIC;
- m_axis_dout_tuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
- m_axis_dout_tdata : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
- );
- END COMPONENT;
- begin
- sinhcosh : cordic
- PORT MAP (
- aclk => aclock,
- s_axis_phase_tvalid => in_valid,
- s_axis_phase_tdata => in_data,
- m_axis_dout_tvalid => sinhvalid,
- m_axis_dout_tdata => sincos
- );
- sin <= sincos(31 downto 16);
- cos <= sincos(15 downto 0);
- tanh_divider : div_gen_0
- PORT MAP (
- aclk => aclock,
- s_axis_divisor_tvalid => sinhvalid,
- s_axis_divisor_tready =>optional_out ,
- -- doroste khate bala?
- s_axis_divisor_tdata => cos,
- s_axis_dividend_tvalid => sinhvalid,
- s_axis_dividend_tready => optional_out,
- s_axis_dividend_tdata => sin,
- m_axis_dout_tvalid => out_valid,
- m_axis_dout_tuser => optional_out1 ,
- m_axis_dout_tdata => out_data
- );,vi
- -- kollan doroste?
- end Behavioral;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement