library verilog;
use verilog.vl_types.all;
entity USB20_PHY is
    generic(
        DATABUS16_8     : vl_logic := Hi0;
        ADP_PRBEN       : vl_logic := Hi0;
        TEST_MODE       : vl_logic_vector(0 to 4) := (Hi0, Hi0, Hi0, Hi0, Hi0);
        HSDRV1          : vl_logic := Hi0;
        HSDRV0          : vl_logic := Hi0;
        CLK_SEL         : vl_logic := Hi0;
        M               : vl_logic_vector(0 to 3) := (Hi0, Hi0, Hi0, Hi0);
        N               : vl_logic_vector(0 to 5) := (Hi1, Hi0, Hi1, Hi0, Hi0, Hi0);
        C               : vl_logic_vector(0 to 1) := (Hi0, Hi1);
        FOC_LOCK        : vl_logic := Hi0
    );
    port(
        DATAOUT         : out    vl_logic_vector(15 downto 0);
        TXREADY         : out    vl_logic;
        RXACTIVE        : out    vl_logic;
        RXVLD           : out    vl_logic;
        RXVLDH          : out    vl_logic;
        CLK             : out    vl_logic;
        RXERROR         : out    vl_logic;
        DP              : inout  vl_logic;
        DM              : inout  vl_logic;
        LINESTATE       : out    vl_logic_vector(1 downto 0);
        DATAIN          : in     vl_logic_vector(15 downto 0);
        TXVLD           : in     vl_logic;
        TXVLDH          : in     vl_logic;
        RESET           : in     vl_logic;
        SUSPENDM        : in     vl_logic;
        XCVRSEL         : in     vl_logic_vector(1 downto 0);
        TERMSEL         : in     vl_logic;
        OPMODE          : in     vl_logic_vector(1 downto 0);
        HOSTDIS         : out    vl_logic;
        IDDIG           : out    vl_logic;
        ADPPRB          : out    vl_logic;
        ADPSNS          : out    vl_logic;
        SESSVLD         : out    vl_logic;
        VBUSVLD         : out    vl_logic;
        RXDP            : out    vl_logic;
        RXDM            : out    vl_logic;
        RXRCV           : out    vl_logic;
        IDPULLUP        : in     vl_logic;
        DPPD            : in     vl_logic;
        DMPD            : in     vl_logic;
        CHARGVBUS       : in     vl_logic;
        DISCHARGVBUS    : in     vl_logic;
        TXBITSTUFFEN    : in     vl_logic;
        TXBITSTUFFENH   : in     vl_logic;
        TXENN           : in     vl_logic;
        TXDAT           : in     vl_logic;
        TXSE0           : in     vl_logic;
        FSLSSERIAL      : in     vl_logic;
        LBKERR          : out    vl_logic;
        CLKRDY          : out    vl_logic;
        INTCLK          : in     vl_logic;
        ID              : inout  vl_logic;
        VBUS            : inout  vl_logic;
        REXT            : inout  vl_logic;
        XIN             : in     vl_logic;
        XOUT            : inout  vl_logic;
        CLK480PAD       : out    vl_logic;
        TEST            : in     vl_logic;
        SCANOUT1        : out    vl_logic;
        SCANOUT2        : out    vl_logic;
        SCANOUT3        : out    vl_logic;
        SCANOUT4        : out    vl_logic;
        SCANOUT5        : out    vl_logic;
        SCANOUT6        : out    vl_logic;
        SCANCLK         : in     vl_logic;
        SCANEN          : in     vl_logic;
        SCANMODE        : in     vl_logic;
        TRESETN         : in     vl_logic;
        SCANIN1         : in     vl_logic;
        SCANIN2         : in     vl_logic;
        SCANIN3         : in     vl_logic;
        SCANIN4         : in     vl_logic;
        SCANIN5         : in     vl_logic;
        SCANIN6         : in     vl_logic
    );
    attribute mti_svvh_generic_type : integer;
    attribute mti_svvh_generic_type of DATABUS16_8 : constant is 1;
    attribute mti_svvh_generic_type of ADP_PRBEN : constant is 1;
    attribute mti_svvh_generic_type of TEST_MODE : constant is 1;
    attribute mti_svvh_generic_type of HSDRV1 : constant is 1;
    attribute mti_svvh_generic_type of HSDRV0 : constant is 1;
    attribute mti_svvh_generic_type of CLK_SEL : constant is 1;
    attribute mti_svvh_generic_type of M : constant is 1;
    attribute mti_svvh_generic_type of N : constant is 1;
    attribute mti_svvh_generic_type of C : constant is 1;
    attribute mti_svvh_generic_type of FOC_LOCK : constant is 1;
end USB20_PHY;
