---------------------------------------------- wrapper for the iserdes_ddr and pack_data--library ieee;use ieee.std_logic_1164.all;library UNISIM;use UNISIM.vcomponents.all;entity myserdes_ddr_wrapper isgeneric(-- width of the data for the systemsys_w : integer := 1;-- width of the data for the devicedev_w : integer := 8);port (-- CLOCK:clk_in : in std_logic;clk_in_div : in std_logic;-- PADS IN:data_in_from_pins_p : in std_logic;data_in_from_pins_n : in std_logic;data_in_to_device : out std_logic_vector( dev_w - 1 downto 0 );bitslip : in std_logic;rst_in : in std_logic );end myserdes_ddr_wrapper;architecture behavioral of myserdes_ddr_wrapper iscomponent myserdes_ddr isgeneric(-- width of the data for the systemsys_w : integer := 1;-- width of the data for the devicedev_w : integer := 8);port(-- From the system into the deviceDATA_IN_FROM_PINS_P : in std_logic_vector(sys_w-1 downto 0);DATA_IN_FROM_PINS_N : in std_logic_vector(sys_w-1 downto 0);DATA_IN_TO_DEVICE : out std_logic_vector(dev_w-1 downto 0);BITSLIP : in std_logic; -- Bitslip module is enabled in NETWORKING mode-- User should tie it to '0' if not needed-- Clock and reset signalsCLK_IN : in std_logic; -- Fast clock from IOB, after IBUFGDS and BUFIOCLK_DIV_IN : in std_logic; -- Divided fast clock from IBUFGDS and BUFRIO_RESET : in std_logic); -- Reset signal for IO circuitend component;-- data in signal:signal s_data_in_from_pins_p : std_logic_vector( sys_w-1 downto 0 );signal s_data_in_from_pins_n : std_logic_vector( sys_w-1 downto 0 );begin-- convert std_logic to std_logic_vectors_data_in_from_pins_n(0) <= data_in_from_pins_n;s_data_in_from_pins_p(0) <= data_in_from_pins_p;-- instantiate the myserdes_ddrmyserdes_ddr_inst : myserdes_ddrport map (DATA_IN_FROM_PINS_P => s_data_in_from_pins_p, DATA_IN_FROM_PINS_N => s_data_in_from_pins_n,DATA_IN_TO_DEVICE => data_in_to_device,BITSLIP => bitslip, CLK_IN => clk_in, CLK_DIV_IN => clk_in_div, IO_RESET => rst_in );end architecture;