blob: d984facc3f2fb51776c3c53135c657e2f0a43220 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
//
// Register Package auto-generated by `reggen` containing data structure
package hmac_reg_pkg;
// Register to internal design logic
typedef struct packed {
struct packed {
struct packed {
logic q; // [304]
} hmac_done;
struct packed {
logic q; // [303]
} fifo_full;
} intr_state;
struct packed {
struct packed {
logic q; // [302]
} hmac_done;
struct packed {
logic q; // [301]
} fifo_full;
} intr_enable;
struct packed {
struct packed {
logic q; // [300]
logic qe; // [299]
} hmac_done;
struct packed {
logic q; // [298]
logic qe; // [297]
} fifo_full;
} intr_test;
struct packed {
struct packed {
logic q; // [296]
} hmac_en;
struct packed {
logic q; // [295]
} sha_en;
struct packed {
logic q; // [294]
} endian_swap;
struct packed {
logic q; // [293]
} digest_swap;
} cfg;
struct packed {
struct packed {
logic q; // [292]
logic qe; // [291]
} hash_start;
struct packed {
logic q; // [290]
logic qe; // [289]
} hash_process;
} cmd;
struct packed {
logic [31:0] q; // [288:257]
logic qe; // [256]
} wipe_secret;
struct packed {
logic [31:0] q; // [255:224]
} key0;
struct packed {
logic [31:0] q; // [223:192]
} key1;
struct packed {
logic [31:0] q; // [191:160]
} key2;
struct packed {
logic [31:0] q; // [159:128]
} key3;
struct packed {
logic [31:0] q; // [127:96]
} key4;
struct packed {
logic [31:0] q; // [95:64]
} key5;
struct packed {
logic [31:0] q; // [63:32]
} key6;
struct packed {
logic [31:0] q; // [31:0]
} key7;
} hmac_reg2hw_t;
// Internal design logic to register
typedef struct packed {
struct packed {
struct packed {
logic d; // [596]
logic de; // [595]
} hmac_done;
struct packed {
logic d; // [594]
logic de; // [593]
} fifo_full;
} intr_state;
struct packed {
struct packed {
logic d; // [592]
} fifo_empty;
struct packed {
logic d; // [591]
} fifo_full;
struct packed {
logic [4:0] d; // [590:586]
} fifo_depth;
} status;
struct packed {
logic [31:0] d; // [585:554]
logic de; // [553]
} key0;
struct packed {
logic [31:0] d; // [552:521]
logic de; // [520]
} key1;
struct packed {
logic [31:0] d; // [519:488]
logic de; // [487]
} key2;
struct packed {
logic [31:0] d; // [486:455]
logic de; // [454]
} key3;
struct packed {
logic [31:0] d; // [453:422]
logic de; // [421]
} key4;
struct packed {
logic [31:0] d; // [420:389]
logic de; // [388]
} key5;
struct packed {
logic [31:0] d; // [387:356]
logic de; // [355]
} key6;
struct packed {
logic [31:0] d; // [354:323]
logic de; // [322]
} key7;
struct packed {
logic [31:0] d; // [321:290]
} digest0;
struct packed {
logic [31:0] d; // [289:258]
} digest1;
struct packed {
logic [31:0] d; // [257:226]
} digest2;
struct packed {
logic [31:0] d; // [225:194]
} digest3;
struct packed {
logic [31:0] d; // [193:162]
} digest4;
struct packed {
logic [31:0] d; // [161:130]
} digest5;
struct packed {
logic [31:0] d; // [129:98]
} digest6;
struct packed {
logic [31:0] d; // [97:66]
} digest7;
struct packed {
logic [31:0] d; // [65:34]
logic de; // [33]
} msg_length_lower;
struct packed {
logic [31:0] d; // [32:1]
logic de; // [0]
} msg_length_upper;
} hmac_hw2reg_t;
// Register Address
parameter HMAC_INTR_STATE_OFFSET = 12'h 0;
parameter HMAC_INTR_ENABLE_OFFSET = 12'h 4;
parameter HMAC_INTR_TEST_OFFSET = 12'h 8;
parameter HMAC_CFG_OFFSET = 12'h c;
parameter HMAC_CMD_OFFSET = 12'h 10;
parameter HMAC_STATUS_OFFSET = 12'h 14;
parameter HMAC_WIPE_SECRET_OFFSET = 12'h 18;
parameter HMAC_KEY0_OFFSET = 12'h 1c;
parameter HMAC_KEY1_OFFSET = 12'h 20;
parameter HMAC_KEY2_OFFSET = 12'h 24;
parameter HMAC_KEY3_OFFSET = 12'h 28;
parameter HMAC_KEY4_OFFSET = 12'h 2c;
parameter HMAC_KEY5_OFFSET = 12'h 30;
parameter HMAC_KEY6_OFFSET = 12'h 34;
parameter HMAC_KEY7_OFFSET = 12'h 38;
parameter HMAC_DIGEST0_OFFSET = 12'h 3c;
parameter HMAC_DIGEST1_OFFSET = 12'h 40;
parameter HMAC_DIGEST2_OFFSET = 12'h 44;
parameter HMAC_DIGEST3_OFFSET = 12'h 48;
parameter HMAC_DIGEST4_OFFSET = 12'h 4c;
parameter HMAC_DIGEST5_OFFSET = 12'h 50;
parameter HMAC_DIGEST6_OFFSET = 12'h 54;
parameter HMAC_DIGEST7_OFFSET = 12'h 58;
parameter HMAC_MSG_LENGTH_LOWER_OFFSET = 12'h 5c;
parameter HMAC_MSG_LENGTH_UPPER_OFFSET = 12'h 60;
// Window parameter
parameter HMAC_MSG_FIFO_OFFSET = 12'h 800;
parameter HMAC_MSG_FIFO_SIZE = 12'h 800;
endpackage