../src/lowrisc_ip_rstmgr_0.1/rtl/rstmgr_reg_pkg.sv Cov: 100%
1: // Copyright lowRISC contributors.
2: // Licensed under the Apache License, Version 2.0, see LICENSE for details.
3: // SPDX-License-Identifier: Apache-2.0
4: //
5: // Register Package auto-generated by `reggen` containing data structure
6:
7: package rstmgr_reg_pkg;
8:
9: ////////////////////////////
10: // Typedefs for registers //
11: ////////////////////////////
12: typedef struct packed {
13: logic [4:0] q;
14: logic qe;
15: } rstmgr_reg2hw_reset_info_reg_t;
16:
17: typedef struct packed {
18: logic q;
19: } rstmgr_reg2hw_rst_spi_device_n_reg_t;
20:
21: typedef struct packed {
22: logic q;
23: } rstmgr_reg2hw_rst_usb_n_reg_t;
24:
25:
26: typedef struct packed {
27: logic [4:0] d;
28: } rstmgr_hw2reg_reset_info_reg_t;
29:
30:
31: ///////////////////////////////////////
32: // Register to internal design logic //
33: ///////////////////////////////////////
34: typedef struct packed {
35: rstmgr_reg2hw_reset_info_reg_t reset_info; // [7:2]
36: rstmgr_reg2hw_rst_spi_device_n_reg_t rst_spi_device_n; // [1:1]
37: rstmgr_reg2hw_rst_usb_n_reg_t rst_usb_n; // [0:0]
38: } rstmgr_reg2hw_t;
39:
40: ///////////////////////////////////////
41: // Internal design logic to register //
42: ///////////////////////////////////////
43: typedef struct packed {
44: rstmgr_hw2reg_reset_info_reg_t reset_info; // [4:-1]
45: } rstmgr_hw2reg_t;
46:
47: // Register Address
48: parameter logic [4:0] RSTMGR_RESET_INFO_OFFSET = 5'h 0;
49: parameter logic [4:0] RSTMGR_SPI_DEVICE_REGEN_OFFSET = 5'h 4;
50: parameter logic [4:0] RSTMGR_USB_REGEN_OFFSET = 5'h 8;
51: parameter logic [4:0] RSTMGR_RST_SPI_DEVICE_N_OFFSET = 5'h c;
52: parameter logic [4:0] RSTMGR_RST_USB_N_OFFSET = 5'h 10;
53:
54:
55: // Register Index
56: typedef enum int {
57: RSTMGR_RESET_INFO,
58: RSTMGR_SPI_DEVICE_REGEN,
59: RSTMGR_USB_REGEN,
60: RSTMGR_RST_SPI_DEVICE_N,
61: RSTMGR_RST_USB_N
62: } rstmgr_id_e;
63:
64: // Register width information to check illegal writes
65: parameter logic [3:0] RSTMGR_PERMIT [5] = '{
66: 4'b 0001, // index[0] RSTMGR_RESET_INFO
67: 4'b 0001, // index[1] RSTMGR_SPI_DEVICE_REGEN
68: 4'b 0001, // index[2] RSTMGR_USB_REGEN
69: 4'b 0001, // index[3] RSTMGR_RST_SPI_DEVICE_N
70: 4'b 0001 // index[4] RSTMGR_RST_USB_N
71: };
72: endpackage
73:
74: