//////////////////////////////////////////////////////////////////////
// Created by SmartDesign Sun Apr 24 20:21:44 2016
// Version: v11.7 11.7.0.119
//////////////////////////////////////////////////////////////////////

`timescale 1ns / 100ps

// syssvc_blk
module syssvc_blk(
    // Inputs
    CLK,
    COMM_BLK_INT,
    GENERATE_SERVICE,
    HRDATA,
    HREADY,
    HRESP,
    INSTANTIATE_SERVICE,
    RESETn,
    SELF_TEST_SERVICE,
    START,
    // Outputs
    HADDR,
    HBURST,
    HSIZE,
    HTRANS,
    HWDATA,
    HWRITE,
    NRBG_DATA,
    NRBG_HANDLE,
    NRBG_SVC_DONE,
    fsm
);

//--------------------------------------------------------------------
// Input
//--------------------------------------------------------------------
input         CLK;
input         COMM_BLK_INT;
input         GENERATE_SERVICE;
input  [31:0] HRDATA;
input         HREADY;
input         HRESP;
input         INSTANTIATE_SERVICE;
input         RESETn;
input         SELF_TEST_SERVICE;
input         START;
//--------------------------------------------------------------------
// Output
//--------------------------------------------------------------------
output [31:0] HADDR;
output [2:0]  HBURST;
output [2:0]  HSIZE;
output [1:0]  HTRANS;
output [31:0] HWDATA;
output        HWRITE;
output [31:0] NRBG_DATA;
output [7:0]  NRBG_HANDLE;
output        NRBG_SVC_DONE;
output [3:0]  fsm;
//--------------------------------------------------------------------
// Nets
//--------------------------------------------------------------------
wire   [31:0] AHBL_MASTER_HADDR;
wire   [2:0]  AHBL_MASTER_HBURST;
wire   [31:0] HRDATA;
wire          HREADY;
wire          HRESP;
wire   [2:0]  AHBL_MASTER_HSIZE;
wire   [1:0]  AHBL_MASTER_HTRANS;
wire   [31:0] AHBL_MASTER_HWDATA;
wire          AHBL_MASTER_HWRITE;
wire          CLK;
wire          COMM_BLK_INT;
wire          CORESYSSERVICES_0_SERV_BUSY;
wire   [31:0] CORESYSSERVICES_0_SERV_DATA_R;
wire          CORESYSSERVICES_0_SERV_DATA_RVALID;
wire          CORESYSSERVICES_0_SERV_DATA_WRDY;
wire   [7:0]  CORESYSSERVICES_0_SERV_STATUS_RESP;
wire          CORESYSSERVICES_0_SERV_STATUS_VALID;
wire   [3:0]  fsm_net_0;
wire          GENERATE_SERVICE;
wire          INSTANTIATE_SERVICE;
wire   [7:0]  my_sysservice_state_0_SERV_CMDBYTE_REQ;
wire   [31:0] my_sysservice_state_0_SERV_DATA_W;
wire          my_sysservice_state_0_SERV_DATA_WVALID;
wire          my_sysservice_state_0_SERV_ENABLE_REQ;
wire   [7:0]  my_sysservice_state_0_SERV_NRBG_ADDLENGTH;
wire   [7:0]  my_sysservice_state_0_SERV_NRBG_HANDLE;
wire   [7:0]  my_sysservice_state_0_SERV_NRBG_LENGTH;
wire   [7:0]  my_sysservice_state_0_SERV_NRBG_PRREQ;
wire   [31:0] NRBG_DATA_net_0;
wire   [7:0]  NRBG_HANDLE_net_0;
wire          NRBG_SVC_DONE_net_0;
wire          RESETn;
wire          SELF_TEST_SERVICE;
wire          START;
wire          NRBG_SVC_DONE_net_1;
wire          AHBL_MASTER_HWRITE_net_0;
wire   [3:0]  fsm_net_1;
wire   [31:0] NRBG_DATA_net_1;
wire   [7:0]  NRBG_HANDLE_net_1;
wire   [31:0] AHBL_MASTER_HADDR_net_0;
wire   [1:0]  AHBL_MASTER_HTRANS_net_0;
wire   [2:0]  AHBL_MASTER_HSIZE_net_0;
wire   [2:0]  AHBL_MASTER_HBURST_net_0;
wire   [31:0] AHBL_MASTER_HWDATA_net_0;
//--------------------------------------------------------------------
// TiedOff Nets
//--------------------------------------------------------------------
wire   [5:0]  SERV_OPTIONS_MODE_const_net_0;
wire   [255:0]SERV_CRYPTO_KEY_const_net_0;
wire   [127:0]SERV_CRYPTO_IV_const_net_0;
wire   [7:0]  SERV_CRYPTO_MODE_const_net_0;
wire   [15:0] SERV_CRYPTO_NBLOCKS_const_net_0;
wire   [31:0] SERV_CRYPTO_LENGTH_const_net_0;
wire   [255:0]SERV_DPA_KEY_const_net_0;
wire   [7:0]  SERV_DPA_OPTYPE_const_net_0;
wire   [127:0]SERV_DPA_PATH_const_net_0;
wire   [7:0]  SERV_PUF_SUBCMD_const_net_0;
wire   [7:0]  SERV_PUF_INKEYNUM_const_net_0;
wire   [7:0]  SERV_PUF_KEYSIZE_const_net_0;
wire   [31:0] SERV_PUFUSERKEYADDR_const_net_0;
wire   [31:0] SERV_USEREXTRINSICKEYADDR_const_net_0;
wire   [31:0] SERV_SPIADDR_const_net_0;
//--------------------------------------------------------------------
// Constant assignments
//--------------------------------------------------------------------
assign SERV_OPTIONS_MODE_const_net_0         = 6'h00;
assign SERV_CRYPTO_KEY_const_net_0           = 256'h0000000000000000000000000000000000000000000000000000000000000000;
assign SERV_CRYPTO_IV_const_net_0            = 128'h00000000000000000000000000000000;
assign SERV_CRYPTO_MODE_const_net_0          = 8'h00;
assign SERV_CRYPTO_NBLOCKS_const_net_0       = 16'h0000;
assign SERV_CRYPTO_LENGTH_const_net_0        = 32'h00000000;
assign SERV_DPA_KEY_const_net_0              = 256'h0000000000000000000000000000000000000000000000000000000000000000;
assign SERV_DPA_OPTYPE_const_net_0           = 8'h00;
assign SERV_DPA_PATH_const_net_0             = 128'h00000000000000000000000000000000;
assign SERV_PUF_SUBCMD_const_net_0           = 8'h00;
assign SERV_PUF_INKEYNUM_const_net_0         = 8'h00;
assign SERV_PUF_KEYSIZE_const_net_0          = 8'h00;
assign SERV_PUFUSERKEYADDR_const_net_0       = 32'h00000000;
assign SERV_USEREXTRINSICKEYADDR_const_net_0 = 32'h00000000;
assign SERV_SPIADDR_const_net_0              = 32'h00000000;
//--------------------------------------------------------------------
// Top level output port assignments
//--------------------------------------------------------------------
assign NRBG_SVC_DONE_net_1      = NRBG_SVC_DONE_net_0;
assign NRBG_SVC_DONE            = NRBG_SVC_DONE_net_1;
assign AHBL_MASTER_HWRITE_net_0 = AHBL_MASTER_HWRITE;
assign HWRITE                   = AHBL_MASTER_HWRITE_net_0;
assign fsm_net_1                = fsm_net_0;
assign fsm[3:0]                 = fsm_net_1;
assign NRBG_DATA_net_1          = NRBG_DATA_net_0;
assign NRBG_DATA[31:0]          = NRBG_DATA_net_1;
assign NRBG_HANDLE_net_1        = NRBG_HANDLE_net_0;
assign NRBG_HANDLE[7:0]         = NRBG_HANDLE_net_1;
assign AHBL_MASTER_HADDR_net_0  = AHBL_MASTER_HADDR;
assign HADDR[31:0]              = AHBL_MASTER_HADDR_net_0;
assign AHBL_MASTER_HTRANS_net_0 = AHBL_MASTER_HTRANS;
assign HTRANS[1:0]              = AHBL_MASTER_HTRANS_net_0;
assign AHBL_MASTER_HSIZE_net_0  = AHBL_MASTER_HSIZE;
assign HSIZE[2:0]               = AHBL_MASTER_HSIZE_net_0;
assign AHBL_MASTER_HBURST_net_0 = AHBL_MASTER_HBURST;
assign HBURST[2:0]              = AHBL_MASTER_HBURST_net_0;
assign AHBL_MASTER_HWDATA_net_0 = AHBL_MASTER_HWDATA;
assign HWDATA[31:0]             = AHBL_MASTER_HWDATA_net_0;
//--------------------------------------------------------------------
// Component instances
//--------------------------------------------------------------------
//--------syssvc_blk_CORESYSSERVICES_0_CORESYSSERVICES   -   Actel:DirectCore:CORESYSSERVICES:3.1.101
syssvc_blk_CORESYSSERVICES_0_CORESYSSERVICES #( 
        .CHRESPKEYADDR        ( 'h20000000 ),
        .CHRESPPTR            ( 'h20000000 ),
        .CHRESPSERVICE        ( 0 ),
        .CRYPTOAES128DATAPTR  ( 'h20000000 ),
        .CRYPTOAES128SERVICE  ( 0 ),
        .CRYPTOAES256DATAPTR  ( 'h20000000 ),
        .CRYPTOAES256SERVICE  ( 0 ),
        .CRYPTODATAINPPTR     ( 'h20000000 ),
        .CRYPTODSTADPTR       ( 'h20000000 ),
        .CRYPTOHMACDATAPTR    ( 'h20000000 ),
        .CRYPTOHMACSERVICE    ( 0 ),
        .CRYPTORSLTPTR        ( 'h20000000 ),
        .CRYPTOSHA256DATAPTR  ( 'h20000000 ),
        .CRYPTOSHA256SERVICE  ( 0 ),
        .CRYPTOSRCADPTR       ( 'h20000000 ),
        .DCSERVICE            ( 0 ),
        .DESIGNVERPTR         ( 'h20000000 ),
        .DEVICECERTPTR        ( 'h20000000 ),
        .DSNPTR               ( 'h20000000 ),
        .ECCPADDDESC          ( 'h20000000 ),
        .ECCPADDPPTR          ( 'h20000000 ),
        .ECCPADDQPTR          ( 'h20000000 ),
        .ECCPADDRPTR          ( 'h20000000 ),
        .ECCPMULTDESC         ( 'h20000000 ),
        .ECCPMULTDPTR         ( 'h20000000 ),
        .ECCPMULTPPTR         ( 'h20000000 ),
        .ECCPMULTQPTR         ( 'h20000000 ),
        .ECCPOINTADDSERVICE   ( 0 ),
        .ECCPOINTMULTSERVICE  ( 0 ),
        .FFSERVICE            ( 0 ),
        .KEYTREEDATAPTR       ( 'h20000000 ),
        .KEYTREESERVICE       ( 0 ),
        .NRBGADDINPPTR        ( 'h20006000 ),
        .NRBGGENPTR           ( 'h20003000 ),
        .NRBGINSTPTR          ( 'h20001000 ),
        .NRBGPERSTRINGPTR     ( 'h20002000 ),
        .NRBGREQDATAPTR       ( 'h20004000 ),
        .NRBGRESEEDPTR        ( 'h20005000 ),
        .NRBGSERVICE          ( 1 ),
        .PORDSERVICE          ( 0 ),
        .PROGIAPSERVICE       ( 0 ),
        .PROGNVMDISERVICE     ( 0 ),
        .PUFPUBLICKEYADDR     ( 'h20000000 ),
        .PUFPUBLICKEYPTR      ( 'h20000000 ),
        .PUFSEEDADDR          ( 'h20000000 ),
        .PUFSEEDPTR           ( 'h20000000 ),
        .PUFSERVICE           ( 0 ),
        .PUFUSERACPTR         ( 'h20000000 ),
        .PUFUSERKCPTR         ( 'h20000000 ),
        .PUFUSERKEYPTR        ( 'h20000000 ),
        .SECDCSERVICE         ( 0 ),
        .SECONDECCCERTPTR     ( 'h20000000 ),
        .SNSERVICE            ( 0 ),
        .TAMPERCONTROLSERVICE ( 0 ),
        .TAMPERDETECTSERVICE  ( 0 ),
        .UCSERVICE            ( 0 ),
        .UDVSERVICE           ( 0 ),
        .USERCODEPTR          ( 'h20000000 ),
        .ZERSERVICE           ( 0 ) )
CORESYSSERVICES_0(
        // Inputs
        .CLK                       ( CLK ),
        .RESETN                    ( RESETn ),
        .HCLK                      ( CLK ),
        .HRESETN                   ( RESETn ),
        .HRESP                     ( HRESP ),
        .HREADY                    ( HREADY ),
        .SERV_ENABLE_REQ           ( my_sysservice_state_0_SERV_ENABLE_REQ ),
        .SERV_DATA_WVALID          ( my_sysservice_state_0_SERV_DATA_WVALID ),
        .COMM_BLK_INT              ( COMM_BLK_INT ),
        .HRDATA                    ( HRDATA ),
        .SERV_CMDBYTE_REQ          ( my_sysservice_state_0_SERV_CMDBYTE_REQ ),
        .SERV_OPTIONS_MODE         ( SERV_OPTIONS_MODE_const_net_0 ), // tied to 6'h00 from definition
        .SERV_DATA_W               ( my_sysservice_state_0_SERV_DATA_W ),
        .SERV_CRYPTO_KEY           ( SERV_CRYPTO_KEY_const_net_0 ), // tied to 256'h0000000000000000000000000000000000000000000000000000000000000000 from definition
        .SERV_CRYPTO_IV            ( SERV_CRYPTO_IV_const_net_0 ), // tied to 128'h00000000000000000000000000000000 from definition
        .SERV_CRYPTO_MODE          ( SERV_CRYPTO_MODE_const_net_0 ), // tied to 8'h00 from definition
        .SERV_CRYPTO_NBLOCKS       ( SERV_CRYPTO_NBLOCKS_const_net_0 ), // tied to 16'h0000 from definition
        .SERV_CRYPTO_LENGTH        ( SERV_CRYPTO_LENGTH_const_net_0 ), // tied to 32'h00000000 from definition
        .SERV_NRBG_LENGTH          ( my_sysservice_state_0_SERV_NRBG_LENGTH ),
        .SERV_NRBG_HANDLE          ( my_sysservice_state_0_SERV_NRBG_HANDLE ),
        .SERV_NRBG_ADDLENGTH       ( my_sysservice_state_0_SERV_NRBG_ADDLENGTH ),
        .SERV_NRBG_PRREQ           ( my_sysservice_state_0_SERV_NRBG_PRREQ ),
        .SERV_DPA_KEY              ( SERV_DPA_KEY_const_net_0 ), // tied to 256'h0000000000000000000000000000000000000000000000000000000000000000 from definition
        .SERV_DPA_OPTYPE           ( SERV_DPA_OPTYPE_const_net_0 ), // tied to 8'h00 from definition
        .SERV_DPA_PATH             ( SERV_DPA_PATH_const_net_0 ), // tied to 128'h00000000000000000000000000000000 from definition
        .SERV_PUF_SUBCMD           ( SERV_PUF_SUBCMD_const_net_0 ), // tied to 8'h00 from definition
        .SERV_PUF_INKEYNUM         ( SERV_PUF_INKEYNUM_const_net_0 ), // tied to 8'h00 from definition
        .SERV_PUF_KEYSIZE          ( SERV_PUF_KEYSIZE_const_net_0 ), // tied to 8'h00 from definition
        .SERV_PUFUSERKEYADDR       ( SERV_PUFUSERKEYADDR_const_net_0 ), // tied to 32'h00000000 from definition
        .SERV_USEREXTRINSICKEYADDR ( SERV_USEREXTRINSICKEYADDR_const_net_0 ), // tied to 32'h00000000 from definition
        .SERV_SPIADDR              ( SERV_SPIADDR_const_net_0 ), // tied to 32'h00000000 from definition
        // Outputs
        .HSEL                      (  ),
        .HWRITE                    ( AHBL_MASTER_HWRITE ),
        .SERV_BUSY                 ( CORESYSSERVICES_0_SERV_BUSY ),
        .SERV_STATUS_VALID         ( CORESYSSERVICES_0_SERV_STATUS_VALID ),
        .SERV_DATA_WRDY            ( CORESYSSERVICES_0_SERV_DATA_WRDY ),
        .SERV_DATA_RVALID          ( CORESYSSERVICES_0_SERV_DATA_RVALID ),
        .SERV_CMD_ERROR            (  ),
        .SERV_TAMPER_MSGVALID      (  ),
        .HADDR                     ( AHBL_MASTER_HADDR ),
        .HWDATA                    ( AHBL_MASTER_HWDATA ),
        .HTRANS                    ( AHBL_MASTER_HTRANS ),
        .HBURST                    ( AHBL_MASTER_HBURST ),
        .HSIZE                     ( AHBL_MASTER_HSIZE ),
        .SERV_STATUS_RESP          ( CORESYSSERVICES_0_SERV_STATUS_RESP ),
        .SERV_DATA_R               ( CORESYSSERVICES_0_SERV_DATA_R ),
        .SERV_TAMPER_MSG           (  ) 
        );

//--------my_sysservice_state
my_sysservice_state my_sysservice_state_0(
        // Inputs
        .RESETn              ( RESETn ),
        .CLK                 ( CLK ),
        .START               ( START ),
        .SELF_TEST_SERVICE   ( SELF_TEST_SERVICE ),
        .INSTANTIATE_SERVICE ( INSTANTIATE_SERVICE ),
        .GENERATE_SERVICE    ( GENERATE_SERVICE ),
        .SERV_BUSY           ( CORESYSSERVICES_0_SERV_BUSY ),
        .SERV_DATA_WRDY      ( CORESYSSERVICES_0_SERV_DATA_WRDY ),
        .SERV_DATA_RVALID    ( CORESYSSERVICES_0_SERV_DATA_RVALID ),
        .SERV_STATUS_VALID   ( CORESYSSERVICES_0_SERV_STATUS_VALID ),
        .SERV_DATA_R         ( CORESYSSERVICES_0_SERV_DATA_R ),
        .SERV_STATUS_RESP    ( CORESYSSERVICES_0_SERV_STATUS_RESP ),
        // Outputs
        .SERV_DATA_WVALID    ( my_sysservice_state_0_SERV_DATA_WVALID ),
        .SERV_ENABLE_REQ     ( my_sysservice_state_0_SERV_ENABLE_REQ ),
        .NRBG_SVC_DONE       ( NRBG_SVC_DONE_net_0 ),
        .SERV_DATA_W         ( my_sysservice_state_0_SERV_DATA_W ),
        .SERV_CMDBYTE_REQ    ( my_sysservice_state_0_SERV_CMDBYTE_REQ ),
        .SERV_NRBG_LENGTH    ( my_sysservice_state_0_SERV_NRBG_LENGTH ),
        .SERV_NRBG_HANDLE    ( my_sysservice_state_0_SERV_NRBG_HANDLE ),
        .SERV_NRBG_ADDLENGTH ( my_sysservice_state_0_SERV_NRBG_ADDLENGTH ),
        .SERV_NRBG_PRREQ     ( my_sysservice_state_0_SERV_NRBG_PRREQ ),
        .NRBG_DATA           ( NRBG_DATA_net_0 ),
        .NRBG_HANDLE         ( NRBG_HANDLE_net_0 ),
        .fsm                 ( fsm_net_0 ) 
        );


endmodule
