----------------------------------------------------------------------------------
-- Company: 
-- Engineer: 
-- 
-- Create Date: 
-- Design Name: 
-- Module Name: dig_iq_encoder - imp
-- Project Name: 
-- Target Devices: 
-- Tool Versions: 
-- Description: 
-- 
-- Dependencies: 
-- 
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
--
-- 
----------------------------------------------------------------------------------


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
--Library xpm;
--use xpm.vcomponents.all;
--library UNISIM;
--use UNISIM.VComponents.all;

entity dig_iq_encoder is

  port ( 
    aclk                  : in std_logic;
    aresetn               : in std_logic;
    
    s_axis_tdata          : in  std_logic_vector(223 downto 0);
    s_axis_tvalid         : in  std_logic;
    s_axis_tready         : out std_logic;

    m_axis_tdata          : out std_logic_vector(239 downto 0);
    m_axis_tvalid         : out std_logic;
    m_axis_tready         : in  std_logic
    );
end dig_iq_encoder;

architecture imp of dig_iq_encoder is



begin

  m_axis_tvalid                       <=  s_axis_tvalid;
  s_axis_tready                       <=  m_axis_tready;

  m_axis_tdata(15  downto 0   )       <=  s_axis_tdata(15  downto 0   );    --  REAL[0]
  m_axis_tdata(16)                    <=  '0';                              
  m_axis_tdata(32  downto 17  )       <=  s_axis_tdata(31  downto 16  );    --  IMAG[0]
  m_axis_tdata(33)                    <=  '0'; 
  m_axis_tdata(49  downto 34  )       <=  s_axis_tdata(47  downto 32  );    --  REAL[1]
  m_axis_tdata(50)                    <=  '0'; 
  m_axis_tdata(66  downto 51  )       <=  s_axis_tdata(63  downto 48  );    --  IMAG[1]
  m_axis_tdata(67)                    <=  '0'; 
  m_axis_tdata(83  downto 68  )       <=  s_axis_tdata(79  downto 64  );    --  REAL[2]
  m_axis_tdata(84)                    <=  '0'; 
  m_axis_tdata(100 downto 85  )       <=  s_axis_tdata(95  downto 80  );    --  IMAG[2]
  m_axis_tdata(101)                   <=  '0'; 
  m_axis_tdata(117 downto 102 )       <=  s_axis_tdata(111 downto 96  );    --  REAL[3]
  m_axis_tdata(118)                   <=  '0';   
  m_axis_tdata(134 downto 119 )       <=  s_axis_tdata(127 downto 112 );    --  IMAG[3]
  m_axis_tdata(135)                   <=  '0';
  m_axis_tdata(151 downto 136 )       <=  s_axis_tdata(143 downto 128 );    --  REAL[4]
  m_axis_tdata(152)                   <=  '0';
  m_axis_tdata(168 downto 153 )       <=  s_axis_tdata(159 downto 144 );    --  IMAG[4]
  m_axis_tdata(169)                   <=  '0';  
  m_axis_tdata(185 downto 170 )       <=  s_axis_tdata(175 downto 160 );    --  REAL[5]
  m_axis_tdata(186)                   <=  '0';
  m_axis_tdata(202 downto 187 )       <=  s_axis_tdata(191 downto 176 );    --  IMAG[5]
  m_axis_tdata(203)                   <=  '0';
  m_axis_tdata(219 downto 204 )       <=  s_axis_tdata(207 downto 192 );    --  REAL[6]
  m_axis_tdata(220)                   <=  '0';
  m_axis_tdata(236 downto 221 )       <=  s_axis_tdata(223 downto 208 );    --  IMAG[6] 
  m_axis_tdata(139 downto 237 )       <=  (others => '0');

 

end imp;
