library verilog;
use verilog.vl_types.all;
entity syssvc_blk_CORESYSSERVICES_0_CORESYSSERVICES is
    generic(
        SNSERVICE       : integer := 0;
        DSNPTR          : integer := 0;
        UCSERVICE       : integer := 0;
        USERCODEPTR     : integer := 0;
        DCSERVICE       : integer := 0;
        DEVICECERTPTR   : integer := 0;
        UDVSERVICE      : integer := 0;
        DESIGNVERPTR    : integer := 0;
        CRYPTOAES128SERVICE: integer := 0;
        CRYPTOAES128DATAPTR: integer := 0;
        CRYPTOAES256SERVICE: integer := 0;
        CRYPTOAES256DATAPTR: integer := 0;
        CRYPTOSRCADPTR  : integer := 0;
        CRYPTODSTADPTR  : integer := 0;
        CRYPTOSHA256SERVICE: integer := 0;
        CRYPTOSHA256DATAPTR: integer := 0;
        CRYPTORSLTPTR   : integer := 0;
        CRYPTODATAINPPTR: integer := 0;
        CRYPTOHMACSERVICE: integer := 0;
        CRYPTOHMACDATAPTR: integer := 0;
        FFSERVICE       : integer := 0;
        KEYTREESERVICE  : integer := 0;
        KEYTREEDATAPTR  : integer := 0;
        PPUFCHRESPSERVICE: integer := 0;
        PPUFCHRESPPTR   : integer := 0;
        PPUFCHRESPKEYADDR: integer := 0;
        NRBGSERVICE     : integer := 0;
        NRBGINSTPTR     : integer := 0;
        NRBGPERSTRINGPTR: integer := 0;
        NRBGGENPTR      : integer := 0;
        NRBGREQDATAPTR  : integer := 0;
        NRBGRESEEDPTR   : integer := 0;
        NRBGADDINPPTR   : integer := 0;
        ZERSERVICE      : integer := 0;
        PROGIAPSERVICE  : integer := 0;
        PROGSPIADR      : integer := 0;
        PROGNVMDISERVICE: integer := 0;
        PORDSERVICE     : integer := 0
    );
    port(
        CLK             : in     vl_logic;
        RESETN          : in     vl_logic;
        HCLK            : in     vl_logic;
        HRESETN         : in     vl_logic;
        HSEL            : out    vl_logic;
        HADDR           : out    vl_logic_vector(31 downto 0);
        HWRITE          : out    vl_logic;
        HWDATA          : out    vl_logic_vector(31 downto 0);
        HTRANS          : out    vl_logic_vector(1 downto 0);
        HBURST          : out    vl_logic_vector(2 downto 0);
        HSIZE           : out    vl_logic_vector(2 downto 0);
        HRESP           : in     vl_logic;
        HREADY          : in     vl_logic;
        HRDATA          : in     vl_logic_vector(31 downto 0);
        SERV_BUSY       : out    vl_logic;
        SERV_ENABLE_REQ : in     vl_logic;
        SERV_CMDBYTE_REQ: in     vl_logic_vector(7 downto 0);
        SERV_STATUS_VALID: out    vl_logic;
        SERV_STATUS_RESP: out    vl_logic_vector(7 downto 0);
        SERV_OPTIONS_MODE: in     vl_logic_vector(2 downto 0);
        SERV_ZER_EN     : in     vl_logic;
        SERV_DATA_WVALID: in     vl_logic;
        SERV_DATA_W     : in     vl_logic_vector(31 downto 0);
        SERV_DATA_WRDY  : out    vl_logic;
        SERV_DATA_RVALID: out    vl_logic;
        SERV_DATA_R     : out    vl_logic_vector(31 downto 0);
        COMM_BLK_INT    : in     vl_logic;
        SPI0_INT        : in     vl_logic;
        SERV_SPI_TXREQ_EN: in     vl_logic;
        SERV_SPI_TXDATA : in     vl_logic_vector(7 downto 0);
        SERV_SPI_SIZE   : in     vl_logic_vector(5 downto 0);
        SERV_SPI_FRMCNT : in     vl_logic_vector(15 downto 0);
        SERV_SPI_RXVAL  : out    vl_logic;
        SERV_SPI_RXDATA : out    vl_logic_vector(7 downto 0);
        SERV_CRYPTO_KEY : in     vl_logic_vector(255 downto 0);
        SERV_CRYPTO_IV  : in     vl_logic_vector(127 downto 0);
        SERV_CRYPTO_MODE: in     vl_logic_vector(7 downto 0);
        SERV_CRYPTO_NBLOCKS: in     vl_logic_vector(15 downto 0);
        SERV_CRYPTO_LENGTH: in     vl_logic_vector(31 downto 0);
        SERV_NRBG_LENGTH: in     vl_logic_vector(7 downto 0);
        SERV_NRBG_HANDLE: in     vl_logic_vector(7 downto 0);
        SERV_NRBG_ADDLENGTH: in     vl_logic_vector(7 downto 0);
        SERV_NRBG_PRREQ : in     vl_logic_vector(7 downto 0);
        SERV_DPA_KEY    : in     vl_logic_vector(255 downto 0);
        SERV_DPA_OPTYPE : in     vl_logic_vector(7 downto 0);
        SERV_DPA_PATH   : in     vl_logic_vector(127 downto 0)
    );
    attribute mti_svvh_generic_type : integer;
    attribute mti_svvh_generic_type of SNSERVICE : constant is 1;
    attribute mti_svvh_generic_type of DSNPTR : constant is 1;
    attribute mti_svvh_generic_type of UCSERVICE : constant is 1;
    attribute mti_svvh_generic_type of USERCODEPTR : constant is 1;
    attribute mti_svvh_generic_type of DCSERVICE : constant is 1;
    attribute mti_svvh_generic_type of DEVICECERTPTR : constant is 1;
    attribute mti_svvh_generic_type of UDVSERVICE : constant is 1;
    attribute mti_svvh_generic_type of DESIGNVERPTR : constant is 1;
    attribute mti_svvh_generic_type of CRYPTOAES128SERVICE : constant is 1;
    attribute mti_svvh_generic_type of CRYPTOAES128DATAPTR : constant is 1;
    attribute mti_svvh_generic_type of CRYPTOAES256SERVICE : constant is 1;
    attribute mti_svvh_generic_type of CRYPTOAES256DATAPTR : constant is 1;
    attribute mti_svvh_generic_type of CRYPTOSRCADPTR : constant is 1;
    attribute mti_svvh_generic_type of CRYPTODSTADPTR : constant is 1;
    attribute mti_svvh_generic_type of CRYPTOSHA256SERVICE : constant is 1;
    attribute mti_svvh_generic_type of CRYPTOSHA256DATAPTR : constant is 1;
    attribute mti_svvh_generic_type of CRYPTORSLTPTR : constant is 1;
    attribute mti_svvh_generic_type of CRYPTODATAINPPTR : constant is 1;
    attribute mti_svvh_generic_type of CRYPTOHMACSERVICE : constant is 1;
    attribute mti_svvh_generic_type of CRYPTOHMACDATAPTR : constant is 1;
    attribute mti_svvh_generic_type of FFSERVICE : constant is 1;
    attribute mti_svvh_generic_type of KEYTREESERVICE : constant is 1;
    attribute mti_svvh_generic_type of KEYTREEDATAPTR : constant is 1;
    attribute mti_svvh_generic_type of PPUFCHRESPSERVICE : constant is 1;
    attribute mti_svvh_generic_type of PPUFCHRESPPTR : constant is 1;
    attribute mti_svvh_generic_type of PPUFCHRESPKEYADDR : constant is 1;
    attribute mti_svvh_generic_type of NRBGSERVICE : constant is 1;
    attribute mti_svvh_generic_type of NRBGINSTPTR : constant is 1;
    attribute mti_svvh_generic_type of NRBGPERSTRINGPTR : constant is 1;
    attribute mti_svvh_generic_type of NRBGGENPTR : constant is 1;
    attribute mti_svvh_generic_type of NRBGREQDATAPTR : constant is 1;
    attribute mti_svvh_generic_type of NRBGRESEEDPTR : constant is 1;
    attribute mti_svvh_generic_type of NRBGADDINPPTR : constant is 1;
    attribute mti_svvh_generic_type of ZERSERVICE : constant is 1;
    attribute mti_svvh_generic_type of PROGIAPSERVICE : constant is 1;
    attribute mti_svvh_generic_type of PROGSPIADR : constant is 1;
    attribute mti_svvh_generic_type of PROGNVMDISERVICE : constant is 1;
    attribute mti_svvh_generic_type of PORDSERVICE : constant is 1;
end syssvc_blk_CORESYSSERVICES_0_CORESYSSERVICES;
