Vhdl 如何使用GHDL模拟生成的XilinX IP?

Vhdl 如何使用GHDL模拟生成的XilinX IP?,vhdl,xilinx,vivado,Vhdl,Xilinx,Vivado,我在Vivado 2016.4中使用了XilinX core generator为除法器生成VHDL代码,如下所示: !![等待Vivado创建项目](等待Vivado创建项目.jpg) 然后,我在div_gen_0.vho中使用了添加的模板信息,如下所示: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_1164.all; entity DividingExample is port

我在Vivado 2016.4中使用了XilinX core generator为除法器生成VHDL代码,如下所示:

!![等待Vivado创建项目](等待Vivado创建项目.jpg)

然后,我在div_gen_0.vho中使用了添加的模板信息,如下所示:

library ieee;      
use ieee.std_logic_1164.all;
use ieee.std_logic_1164.all;

entity DividingExample is
  port (
    clk : in std_logic;
    reset : in std_logic;
    InputSignal : in std_logic_vector(15 downto 0);
    OutputSignal : out std_logic_vector(15 downto 0)
    );
end DividingExample;

architecture behaviour of DividingExample is
-- declarations

  COMPONENT div_gen_0                                                                                                                                                                                                                    
    PORT (                                                                                                                                                                                                                               
      aclk : IN STD_LOGIC;                                                                                                                                                                                                               
      s_axis_divisor_tvalid : IN STD_LOGIC;                                                                                                                                                                                              
      s_axis_divisor_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);                                                                                                                                                                           
      s_axis_dividend_tvalid : IN STD_LOGIC;                                                                                                                                                                                             
      s_axis_dividend_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);                                                                                                                                                                          
      m_axis_dout_tvalid : OUT STD_LOGIC;                                                                                                                                                                                                
      m_axis_dout_tdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0)                                                                                                                                                                              
    );                                                                                                                                                                                                                                   
  END COMPONENT;

  signal numerator : integer;
begin
-- behaviour

  DIVIDER : div_gen_0                                                                                                                                                                                                         
    PORT MAP (                                                                                                                                                                                                                           
      aclk => aclk,                                                                                                                                                                                                                      
      s_axis_divisor_tvalid => s_axis_divisor_tvalid,                                                                                                                                                                                    
      s_axis_divisor_tdata => s_axis_divisor_tdata,                                                                                                                                                                                      
      s_axis_dividend_tvalid => s_axis_dividend_tvalid,                                                                                                                                                                                  
      s_axis_dividend_tdata => s_axis_dividend_tdata,                                                                                                                                                                                    
      m_axis_dout_tvalid => m_axis_dout_tvalid,                                                                                                                                                                                          
      m_axis_dout_tdata => m_axis_dout_tdata                                                                                                                                                                                             
    ); 

  process(clk)
  begin
    if(rising_edge(clk)) then
      if(reset = '1') then
        -- reset values
        numerator <= 1000;  
      else
        -- calculate value to be output
        -- OutputSignal <= numerator/to_integer(signed(InputSignal))
    end if;
  end if;
end process;
end behaviour;
我不能使用分隔器,因为分隔器单元未绑定。这是我可以通过在Vivado中指定不同的目标模拟器来解决的问题,还是我必须使用ModelSim之类的软件包才能使用此库

div_gen_0.vhd包含以下代码:

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;

LIBRARY div_gen_v5_1_11;
USE div_gen_v5_1_11.div_gen_v5_1_11;

ENTITY div_gen_0 IS
  PORT (
    aclk : IN STD_LOGIC;
    s_axis_divisor_tvalid : IN STD_LOGIC;
    s_axis_divisor_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
    s_axis_dividend_tvalid : IN STD_LOGIC;
    s_axis_dividend_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
    m_axis_dout_tvalid : OUT STD_LOGIC;
    m_axis_dout_tdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0)
  );
END div_gen_0;

ARCHITECTURE div_gen_0_arch OF div_gen_0 IS
  ATTRIBUTE DowngradeIPIdentifiedWarnings : STRING;
  ATTRIBUTE DowngradeIPIdentifiedWarnings OF div_gen_0_arch: ARCHITECTURE IS "yes";
  COMPONENT div_gen_v5_1_11 IS
    GENERIC (
      C_XDEVICEFAMILY : STRING;
      C_HAS_ARESETN : INTEGER;
      C_HAS_ACLKEN : INTEGER;
      C_LATENCY : INTEGER;
      ALGORITHM_TYPE : INTEGER;
      DIVISOR_WIDTH : INTEGER;
      DIVIDEND_WIDTH : INTEGER;
      SIGNED_B : INTEGER;
      DIVCLK_SEL : INTEGER;
      FRACTIONAL_B : INTEGER;
      FRACTIONAL_WIDTH : INTEGER;
      C_HAS_DIV_BY_ZERO : INTEGER;
      C_THROTTLE_SCHEME : INTEGER;
      C_TLAST_RESOLUTION : INTEGER;
      C_HAS_S_AXIS_DIVISOR_TUSER : INTEGER;
      C_HAS_S_AXIS_DIVISOR_TLAST : INTEGER;
      C_S_AXIS_DIVISOR_TDATA_WIDTH : INTEGER;
      C_S_AXIS_DIVISOR_TUSER_WIDTH : INTEGER;
      C_HAS_S_AXIS_DIVIDEND_TUSER : INTEGER;
      C_HAS_S_AXIS_DIVIDEND_TLAST : INTEGER;
      C_S_AXIS_DIVIDEND_TDATA_WIDTH : INTEGER;
      C_S_AXIS_DIVIDEND_TUSER_WIDTH : INTEGER;
      C_M_AXIS_DOUT_TDATA_WIDTH : INTEGER;
      C_M_AXIS_DOUT_TUSER_WIDTH : INTEGER
    );
    PORT (
      aclk : IN STD_LOGIC;
      aclken : IN STD_LOGIC;
      aresetn : IN STD_LOGIC;
      s_axis_divisor_tvalid : IN STD_LOGIC;
      s_axis_divisor_tready : OUT STD_LOGIC;
      s_axis_divisor_tuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
      s_axis_divisor_tlast : IN STD_LOGIC;
      s_axis_divisor_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
      s_axis_dividend_tvalid : IN STD_LOGIC;
      s_axis_dividend_tready : OUT STD_LOGIC;
      s_axis_dividend_tuser : IN STD_LOGIC_VECTOR(0 DOWNTO 0);
      s_axis_dividend_tlast : IN STD_LOGIC;
      s_axis_dividend_tdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
      m_axis_dout_tvalid : OUT STD_LOGIC;
      m_axis_dout_tready : IN STD_LOGIC;
      m_axis_dout_tuser : OUT STD_LOGIC_VECTOR(0 DOWNTO 0);
      m_axis_dout_tlast : OUT STD_LOGIC;
      m_axis_dout_tdata : OUT STD_LOGIC_VECTOR(63 DOWNTO 0)
    );
  END COMPONENT div_gen_v5_1_11;
  ATTRIBUTE X_CORE_INFO : STRING;
  ATTRIBUTE X_CORE_INFO OF div_gen_0_arch: ARCHITECTURE IS "div_gen_v5_1_11,Vivado 2016.4";
  ATTRIBUTE CHECK_LICENSE_TYPE : STRING;
  ATTRIBUTE CHECK_LICENSE_TYPE OF div_gen_0_arch : ARCHITECTURE IS "div_gen_0,div_gen_v5_1_11,{}";
  ATTRIBUTE CORE_GENERATION_INFO : STRING;
  ATTRIBUTE CORE_GENERATION_INFO OF div_gen_0_arch: ARCHITECTURE IS "div_gen_0,div_gen_v5_1_11,{x_ipProduct=Vivado 2016.4,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=div_gen,x_ipVersion=5.1,x_ipCoreRevision=11,x_ipLanguage=VHDL,x_ipSimLanguage=VHDL,C_XDEVICEFAMILY=kintex7,C_HAS_ARESETN=0,C_HAS_ACLKEN=0,C_LATENCY=36,ALGORITHM_TYPE=1,DIVISOR_WIDTH=32,DIVIDEND_WIDTH=32,SIGNED_B=1,DIVCLK_SEL=1,FRACTIONAL_B=0,FRACTIONAL_WIDTH=32,C_HAS_DIV_BY_ZERO=0,C_THROTTLE_SCHEME=3,C_TLAST_RESOLUTION=0,C_HAS_S_AXIS_DIVISOR_TUSER=0,C_HAS_S_AXIS_DIVISOR_TLAST=0,C_S_AXIS_DIVISOR_TDA" & 
"TA_WIDTH=32,C_S_AXIS_DIVISOR_TUSER_WIDTH=1,C_HAS_S_AXIS_DIVIDEND_TUSER=0,C_HAS_S_AXIS_DIVIDEND_TLAST=0,C_S_AXIS_DIVIDEND_TDATA_WIDTH=32,C_S_AXIS_DIVIDEND_TUSER_WIDTH=1,C_M_AXIS_DOUT_TDATA_WIDTH=64,C_M_AXIS_DOUT_TUSER_WIDTH=1}";
  ATTRIBUTE X_INTERFACE_INFO : STRING;
  ATTRIBUTE X_INTERFACE_INFO OF aclk: SIGNAL IS "xilinx.com:signal:clock:1.0 aclk_intf CLK";
  ATTRIBUTE X_INTERFACE_INFO OF s_axis_divisor_tvalid: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_DIVISOR TVALID";
  ATTRIBUTE X_INTERFACE_INFO OF s_axis_divisor_tdata: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_DIVISOR TDATA";
  ATTRIBUTE X_INTERFACE_INFO OF s_axis_dividend_tvalid: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_DIVIDEND TVALID";
  ATTRIBUTE X_INTERFACE_INFO OF s_axis_dividend_tdata: SIGNAL IS "xilinx.com:interface:axis:1.0 S_AXIS_DIVIDEND TDATA";
  ATTRIBUTE X_INTERFACE_INFO OF m_axis_dout_tvalid: SIGNAL IS "xilinx.com:interface:axis:1.0 M_AXIS_DOUT TVALID";
  ATTRIBUTE X_INTERFACE_INFO OF m_axis_dout_tdata: SIGNAL IS "xilinx.com:interface:axis:1.0 M_AXIS_DOUT TDATA";
BEGIN
  U0 : div_gen_v5_1_11
    GENERIC MAP (
      C_XDEVICEFAMILY => "kintex7",
      C_HAS_ARESETN => 0,
      C_HAS_ACLKEN => 0,
      C_LATENCY => 36,
      ALGORITHM_TYPE => 1,
      DIVISOR_WIDTH => 32,
      DIVIDEND_WIDTH => 32,
      SIGNED_B => 1,
      DIVCLK_SEL => 1,
      FRACTIONAL_B => 0,
      FRACTIONAL_WIDTH => 32,
      C_HAS_DIV_BY_ZERO => 0,
      C_THROTTLE_SCHEME => 3,
      C_TLAST_RESOLUTION => 0,
      C_HAS_S_AXIS_DIVISOR_TUSER => 0,
      C_HAS_S_AXIS_DIVISOR_TLAST => 0,
      C_S_AXIS_DIVISOR_TDATA_WIDTH => 32,
      C_S_AXIS_DIVISOR_TUSER_WIDTH => 1,
      C_HAS_S_AXIS_DIVIDEND_TUSER => 0,
      C_HAS_S_AXIS_DIVIDEND_TLAST => 0,
      C_S_AXIS_DIVIDEND_TDATA_WIDTH => 32,
      C_S_AXIS_DIVIDEND_TUSER_WIDTH => 1,
      C_M_AXIS_DOUT_TDATA_WIDTH => 64,
      C_M_AXIS_DOUT_TUSER_WIDTH => 1
    )
    PORT MAP (
      aclk => aclk,
      aclken => '1',
      aresetn => '1',
      s_axis_divisor_tvalid => s_axis_divisor_tvalid,
      s_axis_divisor_tuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
          s_axis_divisor_tlast => '0',
          s_axis_divisor_tdata => s_axis_divisor_tdata,
          s_axis_dividend_tvalid => s_axis_dividend_tvalid,
          s_axis_dividend_tuser => STD_LOGIC_VECTOR(TO_UNSIGNED(0, 1)),
          s_axis_dividend_tlast => '0',
          s_axis_dividend_tdata => s_axis_dividend_tdata,
          m_axis_dout_tvalid => m_axis_dout_tvalid,
          m_axis_dout_tready => '0',
          m_axis_dout_tdata => m_axis_dout_tdata
          );
END div_gen_0_arch;
它是行库div_gen_v5_1_11;这就是布莱恩在下面指出的问题。因此,我需要VHDL代码编译到此库。vivado创建的目录树结构如下所示:

.
├── cmodel
│   ├── div_gen_v5_1_bitacc_cmodel_lin64.zip
│   └── div_gen_v5_1_bitacc_cmodel_nt64.zip
├── demo_tb
│   └── tb_div_gen_0.vhd
├── div_gen_0.dcp
├── div_gen_0_ooc.xdc
├── div_gen_0_sim_netlist.v
├── div_gen_0_sim_netlist.vhdl
├── div_gen_0_stub.v
├── div_gen_0_stub.vhdl
├── div_gen_0.veo
├── div_gen_0.vho
├── div_gen_0.xci
├── div_gen_0.xml
├── doc
│   └── div_gen_v5_1_changelog.txt
├── hdl
│   ├── axi_utils_v2_0_vh_rfs.vhd
│   ├── div_gen_v5_1_vh_rfs.vhd
│   ├── floating_point_v7_0_vh_rfs.vhd
│   ├── mult_gen_v12_0_vh_rfs.vhd
│   ├── xbip_bram18k_v3_0_vh_rfs.vhd
│   ├── xbip_dsp48_addsub_v3_0_vh_rfs.vhd
│   ├── xbip_dsp48_multadd_v3_0_vh_rfs.vhd
│   ├── xbip_dsp48_mult_v3_0_vh_rfs.vhd
│   ├── xbip_dsp48_wrapper_v3_0_vh_rfs.vhd
│   ├── xbip_pipe_v3_0_vh_rfs.vhd
│   └── xbip_utils_v3_0_vh_rfs.vhd
├── sim
│   └── div_gen_0.vhd
└── synth
    └── div_gen_0.vhd
在Brian的帮助下,我发现
div\u gen\u 0\u sim\u netlist.vhdl
文件编译到库中。此文件包含以下内容:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
library UNISIM;
use UNISIM.VCOMPONENTS.ALL;
entity div_gen_0_div_gen_v5_1_11 is 
  port (
    aclk : in STD_LOGIC;
    aclken : in STD_LOGIC;
    aresetn : in STD_LOGIC;
    s_axis_divisor_tvalid : in STD_LOGIC;
    s_axis_divisor_tready : out STD_LOGIC;
    s_axis_divisor_tuser : in STD_LOGIC_VECTOR ( 0 to 0 );
    s_axis_divisor_tlast : in STD_LOGIC;
    s_axis_divisor_tdata : in STD_LOGIC_VECTOR ( 31 downto 0 );
    s_axis_dividend_tvalid : in STD_LOGIC;
    s_axis_dividend_tready : out STD_LOGIC;
    s_axis_dividend_tuser : in STD_LOGIC_VECTOR ( 0 to 0 );
    s_axis_dividend_tlast : in STD_LOGIC;
    s_axis_dividend_tdata : in STD_LOGIC_VECTOR ( 31 downto 0 );
    m_axis_dout_tvalid : out STD_LOGIC;
    m_axis_dout_tready : in STD_LOGIC;
    m_axis_dout_tuser : out STD_LOGIC_VECTOR ( 0 to 0 );
    m_axis_dout_tlast : out STD_LOGIC;
    m_axis_dout_tdata : out STD_LOGIC_VECTOR ( 63 downto 0 )
  );
  attribute ALGORITHM_TYPE : integer;
  attribute ALGORITHM_TYPE of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute C_HAS_ACLKEN : integer;
  attribute C_HAS_ACLKEN of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_ARESETN : integer;
  attribute C_HAS_ARESETN of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_DIV_BY_ZERO : integer;
  attribute C_HAS_DIV_BY_ZERO of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TLAST : integer;
  attribute C_HAS_S_AXIS_DIVIDEND_TLAST of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TUSER : integer;
  attribute C_HAS_S_AXIS_DIVIDEND_TUSER of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TLAST : integer;
  attribute C_HAS_S_AXIS_DIVISOR_TLAST of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TUSER : integer;
  attribute C_HAS_S_AXIS_DIVISOR_TUSER of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_LATENCY : integer;
  attribute C_LATENCY of div_gen_0_div_gen_v5_1_11 : entity is 36;
  attribute C_M_AXIS_DOUT_TDATA_WIDTH : integer;
  attribute C_M_AXIS_DOUT_TDATA_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 64;
  attribute C_M_AXIS_DOUT_TUSER_WIDTH : integer;
  attribute C_M_AXIS_DOUT_TUSER_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute C_S_AXIS_DIVIDEND_TDATA_WIDTH : integer;
  attribute C_S_AXIS_DIVIDEND_TDATA_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 32;
  attribute C_S_AXIS_DIVIDEND_TUSER_WIDTH : integer;
  attribute C_S_AXIS_DIVIDEND_TUSER_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute C_S_AXIS_DIVISOR_TDATA_WIDTH : integer;
  attribute C_S_AXIS_DIVISOR_TDATA_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 32;
  attribute C_S_AXIS_DIVISOR_TUSER_WIDTH : integer;
  attribute C_S_AXIS_DIVISOR_TUSER_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute C_THROTTLE_SCHEME : integer;
  attribute C_THROTTLE_SCHEME of div_gen_0_div_gen_v5_1_11 : entity is 3;
  attribute C_TLAST_RESOLUTION : integer;
  attribute C_TLAST_RESOLUTION of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_XDEVICEFAMILY : string;
  attribute C_XDEVICEFAMILY of div_gen_0_div_gen_v5_1_11 : entity is "kintex7";
  attribute DIVCLK_SEL : integer;
  attribute DIVCLK_SEL of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute DIVIDEND_WIDTH : integer;
  attribute DIVIDEND_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 32;
  attribute DIVISOR_WIDTH : integer;
  attribute DIVISOR_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 32;
  attribute FRACTIONAL_B : integer;
  attribute FRACTIONAL_B of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute FRACTIONAL_WIDTH : integer;
  attribute FRACTIONAL_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 32;
  attribute ORIG_REF_NAME : string;
  attribute ORIG_REF_NAME of div_gen_0_div_gen_v5_1_11 : entity is "div_gen_v5_1_11";
  attribute SIGNED_B : integer;
  attribute SIGNED_B of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute downgradeipidentifiedwarnings : string;
  attribute downgradeipidentifiedwarnings of div_gen_0_div_gen_v5_1_11 : entity is "yes";
end div_gen_0_div_gen_v5_1_11;

architecture STRUCTURE of div_gen_0_div_gen_v5_1_11 is
  signal \<const0>\ : STD_LOGIC;
  signal \<const1>\ : STD_LOGIC;
  signal NLW_i_synth_m_axis_dout_tlast_UNCONNECTED : STD_LOGIC;
  signal NLW_i_synth_s_axis_dividend_tready_UNCONNECTED : STD_LOGIC;
  signal NLW_i_synth_s_axis_divisor_tready_UNCONNECTED : STD_LOGIC;
  signal NLW_i_synth_m_axis_dout_tuser_UNCONNECTED : STD_LOGIC_VECTOR ( 0 to 0 );
  attribute C_HAS_ACLKEN of i_synth : label is 0;
  attribute C_HAS_ARESETN of i_synth : label is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TLAST of i_synth : label is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TUSER of i_synth : label is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TLAST of i_synth : label is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TUSER of i_synth : label is 0;
  attribute C_LATENCY of i_synth : label is 36;
  attribute C_M_AXIS_DOUT_TDATA_WIDTH of i_synth : label is 64;
  attribute C_M_AXIS_DOUT_TUSER_WIDTH of i_synth : label is 1;
  attribute C_S_AXIS_DIVIDEND_TDATA_WIDTH of i_synth : label is 32;
  attribute C_S_AXIS_DIVIDEND_TUSER_WIDTH of i_synth : label is 1;
  attribute C_S_AXIS_DIVISOR_TDATA_WIDTH of i_synth : label is 32;
  attribute C_S_AXIS_DIVISOR_TUSER_WIDTH of i_synth : label is 1;
  attribute C_THROTTLE_SCHEME of i_synth : label is 3;
  attribute C_TLAST_RESOLUTION of i_synth : label is 0;
  attribute algorithm_type of i_synth : label is 1;
  attribute c_has_div_by_zero of i_synth : label is 0;
  attribute c_xdevicefamily of i_synth : label is "kintex7";
  attribute divclk_sel of i_synth : label is 1;
  attribute dividend_width of i_synth : label is 32;
  attribute divisor_width of i_synth : label is 32;
  attribute downgradeipidentifiedwarnings of i_synth : label is "yes";
  attribute fractional_b of i_synth : label is 0;
  attribute fractional_width of i_synth : label is 32;
  attribute signed_b of i_synth : label is 1;
begin
  m_axis_dout_tlast <= \<const0>\;
  m_axis_dout_tuser(0) <= \<const0>\;
  s_axis_dividend_tready <= \<const1>\;
  s_axis_divisor_tready <= \<const1>\;
GND: unisim.vcomponents.GND
     port map (
      G => \<const0>\
    );
VCC: unisim.vcomponents.VCC
     port map (
      P => \<const1>\
    );
i_synth: entity work.div_gen_0_div_gen_v5_1_11
  port map (
    aclk => aclk,
    aclken => '0',
    aresetn => '0',
    m_axis_dout_tdata(63 downto 0) => m_axis_dout_tdata(63 downto 0),
    m_axis_dout_tlast => NLW_i_synth_m_axis_dout_tlast_UNCONNECTED,
    m_axis_dout_tready => '0',
    m_axis_dout_tuser(0) => NLW_i_synth_m_axis_dout_tuser_UNCONNECTED(0),
    m_axis_dout_tvalid => m_axis_dout_tvalid,
    s_axis_dividend_tdata(31 downto 0) => s_axis_dividend_tdata(31 downto 0),
    s_axis_dividend_tlast => '0',
    s_axis_dividend_tready => NLW_i_synth_s_axis_dividend_tready_UNCONNECTED,
    s_axis_dividend_tuser(0) => '0',
    s_axis_dividend_tvalid => s_axis_dividend_tvalid,
    s_axis_divisor_tdata(31 downto 0) => s_axis_divisor_tdata(31 downto 0),
    s_axis_divisor_tlast => '0',
    s_axis_divisor_tready => NLW_i_synth_s_axis_divisor_tready_UNCONNECTED,
    s_axis_divisor_tuser(0) => '0',
    s_axis_divisor_tvalid => s_axis_divisor_tvalid
    );
end STRUCTURE;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
library UNISIM;
use UNISIM.VCOMPONENTS.ALL;
entity div_gen_0 is
  port (
    aclk : in STD_LOGIC;
    s_axis_divisor_tvalid : in STD_LOGIC;
    s_axis_divisor_tdata : in STD_LOGIC_VECTOR ( 31 downto 0 );
    s_axis_dividend_tvalid : in STD_LOGIC;
    s_axis_dividend_tdata : in STD_LOGIC_VECTOR ( 31 downto 0 );
    m_axis_dout_tvalid : out STD_LOGIC;
    m_axis_dout_tdata : out STD_LOGIC_VECTOR ( 63 downto 0 )
  );
  attribute NotValidForBitStream : boolean;
  attribute NotValidForBitStream of div_gen_0 : entity is true;
  attribute CHECK_LICENSE_TYPE : string;
  attribute CHECK_LICENSE_TYPE of div_gen_0 : entity is "div_gen_0,div_gen_v5_1_11,{}";
  attribute downgradeipidentifiedwarnings : string;
  attribute downgradeipidentifiedwarnings of div_gen_0 : entity is "yes";
  attribute x_core_info : string;
  attribute x_core_info of div_gen_0 : entity is "div_gen_v5_1_11,Vivado 2016.4";
end div_gen_0;

architecture STRUCTURE of div_gen_0 is
  signal NLW_U0_m_axis_dout_tlast_UNCONNECTED : STD_LOGIC;
  signal NLW_U0_s_axis_dividend_tready_UNCONNECTED : STD_LOGIC;
  signal NLW_U0_s_axis_divisor_tready_UNCONNECTED : STD_LOGIC;
  signal NLW_U0_m_axis_dout_tuser_UNCONNECTED : STD_LOGIC_VECTOR ( 0 to 0 );
  attribute C_HAS_ACLKEN : integer;
  attribute C_HAS_ACLKEN of U0 : label is 0;
  attribute C_HAS_ARESETN : integer;
  attribute C_HAS_ARESETN of U0 : label is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TLAST : integer;
  attribute C_HAS_S_AXIS_DIVIDEND_TLAST of U0 : label is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TUSER : integer;
  attribute C_HAS_S_AXIS_DIVIDEND_TUSER of U0 : label is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TLAST : integer;
  attribute C_HAS_S_AXIS_DIVISOR_TLAST of U0 : label is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TUSER : integer;
  attribute C_HAS_S_AXIS_DIVISOR_TUSER of U0 : label is 0;
  attribute C_LATENCY : integer;
  attribute C_LATENCY of U0 : label is 36;
  attribute C_M_AXIS_DOUT_TDATA_WIDTH : integer;
  attribute C_M_AXIS_DOUT_TDATA_WIDTH of U0 : label is 64;
  attribute C_M_AXIS_DOUT_TUSER_WIDTH : integer;
  attribute C_M_AXIS_DOUT_TUSER_WIDTH of U0 : label is 1;
  attribute C_S_AXIS_DIVIDEND_TDATA_WIDTH : integer;
  attribute C_S_AXIS_DIVIDEND_TDATA_WIDTH of U0 : label is 32;
  attribute C_S_AXIS_DIVIDEND_TUSER_WIDTH : integer;
  attribute C_S_AXIS_DIVIDEND_TUSER_WIDTH of U0 : label is 1;
  attribute C_S_AXIS_DIVISOR_TDATA_WIDTH : integer;
  attribute C_S_AXIS_DIVISOR_TDATA_WIDTH of U0 : label is 32;
  attribute C_S_AXIS_DIVISOR_TUSER_WIDTH : integer;
  attribute C_S_AXIS_DIVISOR_TUSER_WIDTH of U0 : label is 1;
  attribute C_THROTTLE_SCHEME : integer;
  attribute C_THROTTLE_SCHEME of U0 : label is 3;
  attribute C_TLAST_RESOLUTION : integer;
  attribute C_TLAST_RESOLUTION of U0 : label is 0;
  attribute algorithm_type : integer;
  attribute algorithm_type of U0 : label is 1;
  attribute c_has_div_by_zero : integer;
  attribute c_has_div_by_zero of U0 : label is 0;
  attribute c_xdevicefamily : string;
  attribute c_xdevicefamily of U0 : label is "kintex7";
  attribute divclk_sel : integer;
  attribute divclk_sel of U0 : label is 1;
  attribute dividend_width : integer;
  attribute dividend_width of U0 : label is 32;
  attribute divisor_width : integer;
  attribute divisor_width of U0 : label is 32;
  attribute downgradeipidentifiedwarnings of U0 : label is "yes";
  attribute fractional_b : integer;
  attribute fractional_b of U0 : label is 0;
  attribute fractional_width : integer;
  attribute fractional_width of U0 : label is 32;
  attribute signed_b : integer;
  attribute signed_b of U0 : label is 1;
begin
U0: entity work.div_gen_0_div_gen_v5_1_11
     port map (
      aclk => aclk,
      aclken => '1',
      aresetn => '1',
      m_axis_dout_tdata(63 downto 0) => m_axis_dout_tdata(63 downto 0),
      m_axis_dout_tlast => NLW_U0_m_axis_dout_tlast_UNCONNECTED,
      m_axis_dout_tready => '0',
      m_axis_dout_tuser(0) => NLW_U0_m_axis_dout_tuser_UNCONNECTED(0),
      m_axis_dout_tvalid => m_axis_dout_tvalid,
      s_axis_dividend_tdata(31 downto 0) => s_axis_dividend_tdata(31 downto 0),
          s_axis_dividend_tlast => '0',
          s_axis_dividend_tready => NLW_U0_s_axis_dividend_tready_UNCONNECTED,
          s_axis_dividend_tuser(0) => '0',
          s_axis_dividend_tvalid => s_axis_dividend_tvalid,
          s_axis_divisor_tdata(31 downto 0) => s_axis_divisor_tdata(31 downto 0),
          s_axis_divisor_tlast => '0',
          s_axis_divisor_tready => NLW_U0_s_axis_divisor_tready_UNCONNECTED,
          s_axis_divisor_tuser(0) => '0',
          s_axis_divisor_tvalid => s_axis_divisor_tvalid
          );
end STRUCTURE;
IEEE库;
使用IEEE.STD_LOGIC_1164.ALL;
UNISIM图书馆;
使用UNISIM.VCOMPONENTS.ALL;
实体分区第0分区第5分区第1分区第11分区为
港口(
aclk:标准逻辑中;
aclken:标准逻辑;
aresetn:标准逻辑;
s_轴_除数_tvalid:标准逻辑中;
s轴除数:输出标准逻辑;
s轴除数:标准逻辑向量(0到0);
s轴除数列表:标准逻辑中;
s轴除数:标准逻辑向量(31到0);
标准逻辑中的s轴;
s_轴:输出标准逻辑;
s轴:标准逻辑向量(0到0);
标准逻辑中的s轴;
s轴数据:标准逻辑向量(31到0);
m_axis_dout_tvalid:输出标准逻辑;
m_轴dout_tredy:在标准逻辑中;
m轴输出:输出标准逻辑矢量(0到0);
m_轴输出:输出标准逻辑;
m_轴数据:输出标准逻辑向量(63向下至0)
);
属性算法类型:整数;
div\u gen\u 0\u div\u gen\u v5\u 1\u 11的属性算法类型:实体为1;
属性C_有_ACLKEN:integer;
属性C_具有div_gen_0_div_gen_v5_1_11的默认值:实体为0;
属性C_已设置为:整数;
属性C_具有div_gen_0_div_gen_v5_1_11的设置:实体为0;
属性C_具有_DIV_BY_ZERO:integer;
属性C_具有DIV_gen_0_DIV_gen_v5_1_11的_DIV_BY_ZERO:实体为0;
属性C_具有轴(轴)(股息)列表:整数;;
属性C_具有div_gen_0_div_gen_v5_1_11的列表:实体为0;
属性C_具有轴(S)(u轴)(u轴)(u轴)(u轴)(u轴)40;
属性C_具有div_gen_0_div_gen_v5_1_11的_S_轴_divident_TUSER:实体为0;
属性C_具有轴除数st:integer;
属性C_具有div_gen_0_div_gen_v5_1_11的_S_轴_除数列表:实体为0;
属性C_具有轴除数:整数;
属性C_具有div_gen_0_div_gen_v5_1_11的_S_轴_除数_TUSER:实体为0;
属性C_延迟:整数;
div_gen_0_div_gen_v5_1_11的属性C_延迟:实体为36;
属性C_M_AXIS_DOUT_TDATA_WIDTH:整数;
属性C_M_轴_DOUT_TDATA_div_gen_0_div_gen_v5_1_11的宽度:实体为64;
属性C_M_AXIS_DOUT_TUSER_WIDTH:整数;
属性C_M_轴_DOUT_TUSER_div_genu 0_div_genu v5_1_11的宽度:实体为1;
属性C_S_轴_股息_TDATA_宽度:整数;
属性C_S_轴_股息_TDATA_div_gen_0_div_gen_v5_1_11的宽度:实体为32;
属性C_S_轴_被除数_TUSER_宽度:整数;
属性C_S_轴_股息_TUSER_div_gen_0_div_gen_v5_1_11的宽度:实体为1;
属性C_S_轴_除数_TDATA_宽度:整数;
属性C_S_轴_除数_TDATA_div_gen_0_div_gen_v5_1_11的宽度:实体为32;
属性C_S_轴_除数_TUSER_宽度:整数;
属性C_S_轴_除数_TUSER_div_gen_0_div_gen_v5_1_11的宽度:实体为1;
属性C__方案:整数;
div\u gen\u 0\u div\u gen\u v5\u 1\u 11的属性C\u THROTTLE\u SCHEME:实体为3;
属性C_TLAST_分辨率:整数;
div\u gen\u 0\u div\u gen\u v5\u 1\u 11的属性C\u TLAST\u分辨率:实体为0;
属性CxDeviceFamily:字符串;
div_gen_0_div_gen_v5_1_11的属性C_XDEVICEFAMILY:实体为“kintex7”;
属性DIVCLK_SEL:整数;
div\u gen\u 0\u div\u gen\u v5\u 1\u 11的属性DIVCLK\u SEL:实体为1;
属性宽度:整数;
div\u gen\u 0\u div\u gen\u v5\u 1\u 11的属性红利\u宽度:实体为32;
属性除数_宽度:整数;
div\u gen\u 0\u div\u gen\u v5\u 1\u 11的属性除数\u宽度:实体为32;
属性分数_B:整数;
div_gen_0_div_gen_v5_1_11的属性分数_B:实体为0;
属性分数_宽度:整数;
div_gen_0_div_gen_v5_1_11的属性分数_宽度:实体为32;
属性ORIG_REF_NAME:字符串;
div\u gen\u 0\u div\u gen\u v5\u 1\u 11的属性ORIG\u REF\u名称:实体为“div\u gen\u v5\u 1\u 11”;
属性有符号_B:整数;
div_gen_0_div_gen_v5_1_11的属性符号B:实体为1;
属性:字符串;
div\u gen\u 0\u div\u gen\u v5\u 1\u 11的属性降级:实体为“是”;
末端分区第0分区第5分区第1分区第11分区;
div_gen_0_div_gen_v5_1_11的体系结构是
信号\\:标准逻辑;
信号\\:标准逻辑;
信号NLW_i_synth_m_轴dout_tlast_未连接:标准逻辑;
信号NLW_i_synth_s_axis_divident_tready_UNCONNECTED:STD_逻辑;
信号NLW_i_合成器_s_轴_除数_tready_未连接:标准逻辑;
信号NLW_i_synth_m_轴dout_tuser_未连接:标准逻辑向量(0到0);
属性C_具有i_synth的_ACLKEN:标签为0;
属性C_具有i_synth的设置:标签为0;
属性C_具有i_synth的\u S_轴\u股息\u列表:标签为0;
属性C_具有i_synth的_S_轴_股息_TUSER:标签为0;
属性C_具有i_synth的_S_轴_除数_TLAST:标签为0;
属性C_具有i_synth的轴除数:标签为0;
i_synth的属性C_延迟:标签为36;
属性C_
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
library UNISIM;
use UNISIM.VCOMPONENTS.ALL;
entity div_gen_0_div_gen_v5_1_11 is 
  port (
    aclk : in STD_LOGIC;
    aclken : in STD_LOGIC;
    aresetn : in STD_LOGIC;
    s_axis_divisor_tvalid : in STD_LOGIC;
    s_axis_divisor_tready : out STD_LOGIC;
    s_axis_divisor_tuser : in STD_LOGIC_VECTOR ( 0 to 0 );
    s_axis_divisor_tlast : in STD_LOGIC;
    s_axis_divisor_tdata : in STD_LOGIC_VECTOR ( 31 downto 0 );
    s_axis_dividend_tvalid : in STD_LOGIC;
    s_axis_dividend_tready : out STD_LOGIC;
    s_axis_dividend_tuser : in STD_LOGIC_VECTOR ( 0 to 0 );
    s_axis_dividend_tlast : in STD_LOGIC;
    s_axis_dividend_tdata : in STD_LOGIC_VECTOR ( 31 downto 0 );
    m_axis_dout_tvalid : out STD_LOGIC;
    m_axis_dout_tready : in STD_LOGIC;
    m_axis_dout_tuser : out STD_LOGIC_VECTOR ( 0 to 0 );
    m_axis_dout_tlast : out STD_LOGIC;
    m_axis_dout_tdata : out STD_LOGIC_VECTOR ( 63 downto 0 )
  );
  attribute ALGORITHM_TYPE : integer;
  attribute ALGORITHM_TYPE of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute C_HAS_ACLKEN : integer;
  attribute C_HAS_ACLKEN of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_ARESETN : integer;
  attribute C_HAS_ARESETN of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_DIV_BY_ZERO : integer;
  attribute C_HAS_DIV_BY_ZERO of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TLAST : integer;
  attribute C_HAS_S_AXIS_DIVIDEND_TLAST of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TUSER : integer;
  attribute C_HAS_S_AXIS_DIVIDEND_TUSER of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TLAST : integer;
  attribute C_HAS_S_AXIS_DIVISOR_TLAST of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TUSER : integer;
  attribute C_HAS_S_AXIS_DIVISOR_TUSER of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_LATENCY : integer;
  attribute C_LATENCY of div_gen_0_div_gen_v5_1_11 : entity is 36;
  attribute C_M_AXIS_DOUT_TDATA_WIDTH : integer;
  attribute C_M_AXIS_DOUT_TDATA_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 64;
  attribute C_M_AXIS_DOUT_TUSER_WIDTH : integer;
  attribute C_M_AXIS_DOUT_TUSER_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute C_S_AXIS_DIVIDEND_TDATA_WIDTH : integer;
  attribute C_S_AXIS_DIVIDEND_TDATA_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 32;
  attribute C_S_AXIS_DIVIDEND_TUSER_WIDTH : integer;
  attribute C_S_AXIS_DIVIDEND_TUSER_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute C_S_AXIS_DIVISOR_TDATA_WIDTH : integer;
  attribute C_S_AXIS_DIVISOR_TDATA_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 32;
  attribute C_S_AXIS_DIVISOR_TUSER_WIDTH : integer;
  attribute C_S_AXIS_DIVISOR_TUSER_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute C_THROTTLE_SCHEME : integer;
  attribute C_THROTTLE_SCHEME of div_gen_0_div_gen_v5_1_11 : entity is 3;
  attribute C_TLAST_RESOLUTION : integer;
  attribute C_TLAST_RESOLUTION of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute C_XDEVICEFAMILY : string;
  attribute C_XDEVICEFAMILY of div_gen_0_div_gen_v5_1_11 : entity is "kintex7";
  attribute DIVCLK_SEL : integer;
  attribute DIVCLK_SEL of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute DIVIDEND_WIDTH : integer;
  attribute DIVIDEND_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 32;
  attribute DIVISOR_WIDTH : integer;
  attribute DIVISOR_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 32;
  attribute FRACTIONAL_B : integer;
  attribute FRACTIONAL_B of div_gen_0_div_gen_v5_1_11 : entity is 0;
  attribute FRACTIONAL_WIDTH : integer;
  attribute FRACTIONAL_WIDTH of div_gen_0_div_gen_v5_1_11 : entity is 32;
  attribute ORIG_REF_NAME : string;
  attribute ORIG_REF_NAME of div_gen_0_div_gen_v5_1_11 : entity is "div_gen_v5_1_11";
  attribute SIGNED_B : integer;
  attribute SIGNED_B of div_gen_0_div_gen_v5_1_11 : entity is 1;
  attribute downgradeipidentifiedwarnings : string;
  attribute downgradeipidentifiedwarnings of div_gen_0_div_gen_v5_1_11 : entity is "yes";
end div_gen_0_div_gen_v5_1_11;

architecture STRUCTURE of div_gen_0_div_gen_v5_1_11 is
  signal \<const0>\ : STD_LOGIC;
  signal \<const1>\ : STD_LOGIC;
  signal NLW_i_synth_m_axis_dout_tlast_UNCONNECTED : STD_LOGIC;
  signal NLW_i_synth_s_axis_dividend_tready_UNCONNECTED : STD_LOGIC;
  signal NLW_i_synth_s_axis_divisor_tready_UNCONNECTED : STD_LOGIC;
  signal NLW_i_synth_m_axis_dout_tuser_UNCONNECTED : STD_LOGIC_VECTOR ( 0 to 0 );
  attribute C_HAS_ACLKEN of i_synth : label is 0;
  attribute C_HAS_ARESETN of i_synth : label is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TLAST of i_synth : label is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TUSER of i_synth : label is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TLAST of i_synth : label is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TUSER of i_synth : label is 0;
  attribute C_LATENCY of i_synth : label is 36;
  attribute C_M_AXIS_DOUT_TDATA_WIDTH of i_synth : label is 64;
  attribute C_M_AXIS_DOUT_TUSER_WIDTH of i_synth : label is 1;
  attribute C_S_AXIS_DIVIDEND_TDATA_WIDTH of i_synth : label is 32;
  attribute C_S_AXIS_DIVIDEND_TUSER_WIDTH of i_synth : label is 1;
  attribute C_S_AXIS_DIVISOR_TDATA_WIDTH of i_synth : label is 32;
  attribute C_S_AXIS_DIVISOR_TUSER_WIDTH of i_synth : label is 1;
  attribute C_THROTTLE_SCHEME of i_synth : label is 3;
  attribute C_TLAST_RESOLUTION of i_synth : label is 0;
  attribute algorithm_type of i_synth : label is 1;
  attribute c_has_div_by_zero of i_synth : label is 0;
  attribute c_xdevicefamily of i_synth : label is "kintex7";
  attribute divclk_sel of i_synth : label is 1;
  attribute dividend_width of i_synth : label is 32;
  attribute divisor_width of i_synth : label is 32;
  attribute downgradeipidentifiedwarnings of i_synth : label is "yes";
  attribute fractional_b of i_synth : label is 0;
  attribute fractional_width of i_synth : label is 32;
  attribute signed_b of i_synth : label is 1;
begin
  m_axis_dout_tlast <= \<const0>\;
  m_axis_dout_tuser(0) <= \<const0>\;
  s_axis_dividend_tready <= \<const1>\;
  s_axis_divisor_tready <= \<const1>\;
GND: unisim.vcomponents.GND
     port map (
      G => \<const0>\
    );
VCC: unisim.vcomponents.VCC
     port map (
      P => \<const1>\
    );
i_synth: entity work.div_gen_0_div_gen_v5_1_11
  port map (
    aclk => aclk,
    aclken => '0',
    aresetn => '0',
    m_axis_dout_tdata(63 downto 0) => m_axis_dout_tdata(63 downto 0),
    m_axis_dout_tlast => NLW_i_synth_m_axis_dout_tlast_UNCONNECTED,
    m_axis_dout_tready => '0',
    m_axis_dout_tuser(0) => NLW_i_synth_m_axis_dout_tuser_UNCONNECTED(0),
    m_axis_dout_tvalid => m_axis_dout_tvalid,
    s_axis_dividend_tdata(31 downto 0) => s_axis_dividend_tdata(31 downto 0),
    s_axis_dividend_tlast => '0',
    s_axis_dividend_tready => NLW_i_synth_s_axis_dividend_tready_UNCONNECTED,
    s_axis_dividend_tuser(0) => '0',
    s_axis_dividend_tvalid => s_axis_dividend_tvalid,
    s_axis_divisor_tdata(31 downto 0) => s_axis_divisor_tdata(31 downto 0),
    s_axis_divisor_tlast => '0',
    s_axis_divisor_tready => NLW_i_synth_s_axis_divisor_tready_UNCONNECTED,
    s_axis_divisor_tuser(0) => '0',
    s_axis_divisor_tvalid => s_axis_divisor_tvalid
    );
end STRUCTURE;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
library UNISIM;
use UNISIM.VCOMPONENTS.ALL;
entity div_gen_0 is
  port (
    aclk : in STD_LOGIC;
    s_axis_divisor_tvalid : in STD_LOGIC;
    s_axis_divisor_tdata : in STD_LOGIC_VECTOR ( 31 downto 0 );
    s_axis_dividend_tvalid : in STD_LOGIC;
    s_axis_dividend_tdata : in STD_LOGIC_VECTOR ( 31 downto 0 );
    m_axis_dout_tvalid : out STD_LOGIC;
    m_axis_dout_tdata : out STD_LOGIC_VECTOR ( 63 downto 0 )
  );
  attribute NotValidForBitStream : boolean;
  attribute NotValidForBitStream of div_gen_0 : entity is true;
  attribute CHECK_LICENSE_TYPE : string;
  attribute CHECK_LICENSE_TYPE of div_gen_0 : entity is "div_gen_0,div_gen_v5_1_11,{}";
  attribute downgradeipidentifiedwarnings : string;
  attribute downgradeipidentifiedwarnings of div_gen_0 : entity is "yes";
  attribute x_core_info : string;
  attribute x_core_info of div_gen_0 : entity is "div_gen_v5_1_11,Vivado 2016.4";
end div_gen_0;

architecture STRUCTURE of div_gen_0 is
  signal NLW_U0_m_axis_dout_tlast_UNCONNECTED : STD_LOGIC;
  signal NLW_U0_s_axis_dividend_tready_UNCONNECTED : STD_LOGIC;
  signal NLW_U0_s_axis_divisor_tready_UNCONNECTED : STD_LOGIC;
  signal NLW_U0_m_axis_dout_tuser_UNCONNECTED : STD_LOGIC_VECTOR ( 0 to 0 );
  attribute C_HAS_ACLKEN : integer;
  attribute C_HAS_ACLKEN of U0 : label is 0;
  attribute C_HAS_ARESETN : integer;
  attribute C_HAS_ARESETN of U0 : label is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TLAST : integer;
  attribute C_HAS_S_AXIS_DIVIDEND_TLAST of U0 : label is 0;
  attribute C_HAS_S_AXIS_DIVIDEND_TUSER : integer;
  attribute C_HAS_S_AXIS_DIVIDEND_TUSER of U0 : label is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TLAST : integer;
  attribute C_HAS_S_AXIS_DIVISOR_TLAST of U0 : label is 0;
  attribute C_HAS_S_AXIS_DIVISOR_TUSER : integer;
  attribute C_HAS_S_AXIS_DIVISOR_TUSER of U0 : label is 0;
  attribute C_LATENCY : integer;
  attribute C_LATENCY of U0 : label is 36;
  attribute C_M_AXIS_DOUT_TDATA_WIDTH : integer;
  attribute C_M_AXIS_DOUT_TDATA_WIDTH of U0 : label is 64;
  attribute C_M_AXIS_DOUT_TUSER_WIDTH : integer;
  attribute C_M_AXIS_DOUT_TUSER_WIDTH of U0 : label is 1;
  attribute C_S_AXIS_DIVIDEND_TDATA_WIDTH : integer;
  attribute C_S_AXIS_DIVIDEND_TDATA_WIDTH of U0 : label is 32;
  attribute C_S_AXIS_DIVIDEND_TUSER_WIDTH : integer;
  attribute C_S_AXIS_DIVIDEND_TUSER_WIDTH of U0 : label is 1;
  attribute C_S_AXIS_DIVISOR_TDATA_WIDTH : integer;
  attribute C_S_AXIS_DIVISOR_TDATA_WIDTH of U0 : label is 32;
  attribute C_S_AXIS_DIVISOR_TUSER_WIDTH : integer;
  attribute C_S_AXIS_DIVISOR_TUSER_WIDTH of U0 : label is 1;
  attribute C_THROTTLE_SCHEME : integer;
  attribute C_THROTTLE_SCHEME of U0 : label is 3;
  attribute C_TLAST_RESOLUTION : integer;
  attribute C_TLAST_RESOLUTION of U0 : label is 0;
  attribute algorithm_type : integer;
  attribute algorithm_type of U0 : label is 1;
  attribute c_has_div_by_zero : integer;
  attribute c_has_div_by_zero of U0 : label is 0;
  attribute c_xdevicefamily : string;
  attribute c_xdevicefamily of U0 : label is "kintex7";
  attribute divclk_sel : integer;
  attribute divclk_sel of U0 : label is 1;
  attribute dividend_width : integer;
  attribute dividend_width of U0 : label is 32;
  attribute divisor_width : integer;
  attribute divisor_width of U0 : label is 32;
  attribute downgradeipidentifiedwarnings of U0 : label is "yes";
  attribute fractional_b : integer;
  attribute fractional_b of U0 : label is 0;
  attribute fractional_width : integer;
  attribute fractional_width of U0 : label is 32;
  attribute signed_b : integer;
  attribute signed_b of U0 : label is 1;
begin
U0: entity work.div_gen_0_div_gen_v5_1_11
     port map (
      aclk => aclk,
      aclken => '1',
      aresetn => '1',
      m_axis_dout_tdata(63 downto 0) => m_axis_dout_tdata(63 downto 0),
      m_axis_dout_tlast => NLW_U0_m_axis_dout_tlast_UNCONNECTED,
      m_axis_dout_tready => '0',
      m_axis_dout_tuser(0) => NLW_U0_m_axis_dout_tuser_UNCONNECTED(0),
      m_axis_dout_tvalid => m_axis_dout_tvalid,
      s_axis_dividend_tdata(31 downto 0) => s_axis_dividend_tdata(31 downto 0),
          s_axis_dividend_tlast => '0',
          s_axis_dividend_tready => NLW_U0_s_axis_dividend_tready_UNCONNECTED,
          s_axis_dividend_tuser(0) => '0',
          s_axis_dividend_tvalid => s_axis_dividend_tvalid,
          s_axis_divisor_tdata(31 downto 0) => s_axis_divisor_tdata(31 downto 0),
          s_axis_divisor_tlast => '0',
          s_axis_divisor_tready => NLW_U0_s_axis_divisor_tready_UNCONNECTED,
          s_axis_divisor_tuser(0) => '0',
          s_axis_divisor_tvalid => s_axis_divisor_tvalid
          );
end STRUCTURE;