//////////////////////////////////////////////////////////////////////
// Created by SmartDesign Fri Mar 19 13:47:21 2021
// Version: v12.6 12.900.20.24
//////////////////////////////////////////////////////////////////////

`timescale 1ns / 100ps

// syssvc_blk
module syssvc_blk(
    // Inputs
    CLK,
    COMM_BLK_INT,
    DESIGN_VERSION_SERVICE,
    DEVICE_SERIAL_SERVICE,
    ENVM0_DIGEST_SERVICE,
    HRDATA,
    HREADY,
    HRESP,
    RESETn,
    START,
    // Outputs
    DESIGN_VERSION_VALUE,
    DSN_VALUE,
    HADDR,
    HBURST,
    HSIZE,
    HTRANS,
    HWDATA,
    HWRITE,
    SVC_DONE,
    eNVM0_DIGEST_RESP,
    fsm
);

//--------------------------------------------------------------------
// Input
//--------------------------------------------------------------------
input          CLK;
input          COMM_BLK_INT;
input          DESIGN_VERSION_SERVICE;
input          DEVICE_SERIAL_SERVICE;
input          ENVM0_DIGEST_SERVICE;
input  [31:0]  HRDATA;
input          HREADY;
input          HRESP;
input          RESETn;
input          START;
//--------------------------------------------------------------------
// Output
//--------------------------------------------------------------------
output [15:0]  DESIGN_VERSION_VALUE;
output [127:0] DSN_VALUE;
output [31:0]  HADDR;
output [2:0]   HBURST;
output [2:0]   HSIZE;
output [1:0]   HTRANS;
output [31:0]  HWDATA;
output         HWRITE;
output         SVC_DONE;
output [7:0]   eNVM0_DIGEST_RESP;
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   [7:0]   CORESYSSERVICES_0_SERV_STATUS_RESP;
wire           CORESYSSERVICES_0_SERV_STATUS_VALID;
wire           DESIGN_VERSION_SERVICE;
wire   [15:0]  DESIGN_VERSION_VALUE_net_0;
wire           DEVICE_SERIAL_SERVICE;
wire   [127:0] DSN_VALUE_net_0;
wire   [7:0]   eNVM0_DIGEST_RESP_net_0;
wire           ENVM0_DIGEST_SERVICE;
wire   [3:0]   fsm_net_0;
wire   [7:0]   my_sysservice_state_0_SERV_CMDBYTE_REQ;
wire           my_sysservice_state_0_SERV_ENABLE_REQ;
wire   [2:0]   my_sysservice_state_0_SERV_OPTIONS_MODE;
wire           RESETn;
wire           START;
wire           SVC_DONE_net_0;
wire           SVC_DONE_net_1;
wire           AHBL_MASTER_HWRITE_net_0;
wire   [3:0]   fsm_net_1;
wire   [7:0]   eNVM0_DIGEST_RESP_net_1;
wire   [15:0]  DESIGN_VERSION_VALUE_net_1;
wire   [127:0] DSN_VALUE_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;
wire   [5:0]   SERV_OPTIONS_MODE_net_0;
//--------------------------------------------------------------------
// TiedOff Nets
//--------------------------------------------------------------------
wire   [5:3]   SERV_OPTIONS_MODE_const_net_0;
wire           GND_net;
wire   [31:0]  SERV_DATA_W_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   [7:0]   SERV_NRBG_LENGTH_const_net_0;
wire   [7:0]   SERV_NRBG_HANDLE_const_net_0;
wire   [7:0]   SERV_NRBG_ADDLENGTH_const_net_0;
wire   [7:0]   SERV_NRBG_PRREQ_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         = 3'h0;
assign GND_net                               = 1'b0;
assign SERV_DATA_W_const_net_0               = 32'h00000000;
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_NRBG_LENGTH_const_net_0          = 8'h00;
assign SERV_NRBG_HANDLE_const_net_0          = 8'h00;
assign SERV_NRBG_ADDLENGTH_const_net_0       = 8'h00;
assign SERV_NRBG_PRREQ_const_net_0           = 8'h00;
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 SVC_DONE_net_1             = SVC_DONE_net_0;
assign SVC_DONE                   = 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 eNVM0_DIGEST_RESP_net_1    = eNVM0_DIGEST_RESP_net_0;
assign eNVM0_DIGEST_RESP[7:0]     = eNVM0_DIGEST_RESP_net_1;
assign DESIGN_VERSION_VALUE_net_1 = DESIGN_VERSION_VALUE_net_0;
assign DESIGN_VERSION_VALUE[15:0] = DESIGN_VERSION_VALUE_net_1;
assign DSN_VALUE_net_1            = DSN_VALUE_net_0;
assign DSN_VALUE[127:0]           = DSN_VALUE_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;
//--------------------------------------------------------------------
// Concatenation assignments
//--------------------------------------------------------------------
assign SERV_OPTIONS_MODE_net_0 = { 3'h0 , my_sysservice_state_0_SERV_OPTIONS_MODE };
//--------------------------------------------------------------------
// Component instances
//--------------------------------------------------------------------
//--------syssvc_blk_CORESYSSERVICES_0_CORESYSSERVICES   -   Actel:DirectCore:CORESYSSERVICES:3.2.102
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          ( 0 ),
        .PORDSERVICE          ( 0 ),
        .PROGIAPSERVICE       ( 0 ),
        .PROGNVMDISERVICE     ( 1 ),
        .PUFPUBLICKEYADDR     ( 'h20000000 ),
        .PUFPUBLICKEYPTR      ( 'h20000000 ),
        .PUFSEEDADDR          ( 'h20000000 ),
        .PUFSEEDPTR           ( 'h20000000 ),
        .PUFSERVICE           ( 0 ),
        .PUFUSERACPTR         ( 'h20000000 ),
        .PUFUSERKCPTR         ( 'h20000000 ),
        .PUFUSERKEYPTR        ( 'h20000000 ),
        .SECDCSERVICE         ( 0 ),
        .SECONDECCCERTPTR     ( 'h20000000 ),
        .SNSERVICE            ( 1 ),
        .TAMPERCONTROLSERVICE ( 0 ),
        .TAMPERDETECTSERVICE  ( 0 ),
        .UCSERVICE            ( 0 ),
        .UDVSERVICE           ( 1 ),
        .USERCODEPTR          ( 'h20000000 ),
        .ZERSERVICE           ( 0 ) )
CORESYSSERVICES_0(
        // Inputs
        .CLK                       ( CLK ),
        .RESETN                    ( RESETn ),
        .HCLK                      ( CLK ),
        .HRESETN                   ( RESETn ),
        .HRESP                     ( HRESP ),
        .HREADY                    ( HREADY ),
        .HRDATA                    ( HRDATA ),
        .SERV_ENABLE_REQ           ( my_sysservice_state_0_SERV_ENABLE_REQ ),
        .SERV_CMDBYTE_REQ          ( my_sysservice_state_0_SERV_CMDBYTE_REQ ),
        .SERV_OPTIONS_MODE         ( SERV_OPTIONS_MODE_net_0 ),
        .SERV_DATA_WVALID          ( GND_net ),
        .SERV_DATA_W               ( SERV_DATA_W_const_net_0 ),
        .COMM_BLK_INT              ( COMM_BLK_INT ),
        .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          ( SERV_NRBG_LENGTH_const_net_0 ), // tied to 8'h00 from definition
        .SERV_NRBG_HANDLE          ( SERV_NRBG_HANDLE_const_net_0 ), // tied to 8'h00 from definition
        .SERV_NRBG_ADDLENGTH       ( SERV_NRBG_ADDLENGTH_const_net_0 ), // tied to 8'h00 from definition
        .SERV_NRBG_PRREQ           ( SERV_NRBG_PRREQ_const_net_0 ), // tied to 8'h00 from definition
        .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                      (  ),
        .HADDR                     ( AHBL_MASTER_HADDR ),
        .HWRITE                    ( AHBL_MASTER_HWRITE ),
        .HWDATA                    ( AHBL_MASTER_HWDATA ),
        .HTRANS                    ( AHBL_MASTER_HTRANS ),
        .HBURST                    ( AHBL_MASTER_HBURST ),
        .HSIZE                     ( AHBL_MASTER_HSIZE ),
        .SERV_BUSY                 ( CORESYSSERVICES_0_SERV_BUSY ),
        .SERV_STATUS_VALID         ( CORESYSSERVICES_0_SERV_STATUS_VALID ),
        .SERV_STATUS_RESP          ( CORESYSSERVICES_0_SERV_STATUS_RESP ),
        .SERV_DATA_WRDY            (  ),
        .SERV_DATA_RVALID          ( CORESYSSERVICES_0_SERV_DATA_RVALID ),
        .SERV_DATA_R               ( CORESYSSERVICES_0_SERV_DATA_R ),
        .SERV_CMD_ERROR            (  ),
        .SERV_TAMPER_MSGVALID      (  ),
        .SERV_TAMPER_MSG           (  ) 
        );

//--------my_sysservice_state
my_sysservice_state my_sysservice_state_0(
        // Inputs
        .RESETn                 ( RESETn ),
        .CLK                    ( CLK ),
        .START                  ( START ),
        .DEVICE_SERIAL_SERVICE  ( DEVICE_SERIAL_SERVICE ),
        .DESIGN_VERSION_SERVICE ( DESIGN_VERSION_SERVICE ),
        .ENVM0_DIGEST_SERVICE   ( ENVM0_DIGEST_SERVICE ),
        .SERV_BUSY              ( CORESYSSERVICES_0_SERV_BUSY ),
        .SERV_DATA_RVALID       ( CORESYSSERVICES_0_SERV_DATA_RVALID ),
        .SERV_DATA_R            ( CORESYSSERVICES_0_SERV_DATA_R ),
        .SERV_STATUS_RESP       ( CORESYSSERVICES_0_SERV_STATUS_RESP ),
        .SERV_STATUS_VALID      ( CORESYSSERVICES_0_SERV_STATUS_VALID ),
        // Outputs
        .SERV_ENABLE_REQ        ( my_sysservice_state_0_SERV_ENABLE_REQ ),
        .SERV_CMDBYTE_REQ       ( my_sysservice_state_0_SERV_CMDBYTE_REQ ),
        .SERV_OPTIONS_MODE      ( my_sysservice_state_0_SERV_OPTIONS_MODE ),
        .SVC_DONE               ( SVC_DONE_net_0 ),
        .DSN_VALUE              ( DSN_VALUE_net_0 ),
        .DESIGN_VERSION_VALUE   ( DESIGN_VERSION_VALUE_net_0 ),
        .eNVM0_DIGEST_RESP      ( eNVM0_DIGEST_RESP_net_0 ),
        .fsm                    ( fsm_net_0 ) 
        );


endmodule
