../src/lowrisc_top_earlgrey_clkmgr_0.1/rtl/autogen/clkmgr_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 clkmgr_reg_pkg;
8:
9: // Param list
10: parameter int NumGroups = 7;
11:
12: ////////////////////////////
13: // Typedefs for registers //
14: ////////////////////////////
15: typedef struct packed {
16: struct packed {
17: logic q;
18: } clk_io_peri_en;
19: struct packed {
20: logic q;
21: } clk_usb_peri_en;
22: } clkmgr_reg2hw_clk_enables_reg_t;
23:
24: typedef struct packed {
25: struct packed {
26: logic q;
27: } clk_main_aes_hint;
28: struct packed {
29: logic q;
30: } clk_main_hmac_hint;
31: } clkmgr_reg2hw_clk_hints_reg_t;
32:
33:
34: typedef struct packed {
35: struct packed {
36: logic d;
37: logic de;
38: } clk_main_aes_val;
39: struct packed {
40: logic d;
41: logic de;
42: } clk_main_hmac_val;
43: } clkmgr_hw2reg_clk_hints_status_reg_t;
44:
45:
46: ///////////////////////////////////////
47: // Register to internal design logic //
48: ///////////////////////////////////////
49: typedef struct packed {
50: clkmgr_reg2hw_clk_enables_reg_t clk_enables; // [3:2]
51: clkmgr_reg2hw_clk_hints_reg_t clk_hints; // [1:0]
52: } clkmgr_reg2hw_t;
53:
54: ///////////////////////////////////////
55: // Internal design logic to register //
56: ///////////////////////////////////////
57: typedef struct packed {
58: clkmgr_hw2reg_clk_hints_status_reg_t clk_hints_status; // [3:4]
59: } clkmgr_hw2reg_t;
60:
61: // Register Address
62: parameter logic [3:0] CLKMGR_CLK_ENABLES_OFFSET = 4'h 0;
63: parameter logic [3:0] CLKMGR_CLK_HINTS_OFFSET = 4'h 4;
64: parameter logic [3:0] CLKMGR_CLK_HINTS_STATUS_OFFSET = 4'h 8;
65:
66:
67: // Register Index
68: typedef enum int {
69: CLKMGR_CLK_ENABLES,
70: CLKMGR_CLK_HINTS,
71: CLKMGR_CLK_HINTS_STATUS
72: } clkmgr_id_e;
73:
74: // Register width information to check illegal writes
75: parameter logic [3:0] CLKMGR_PERMIT [3] = '{
76: 4'b 0001, // index[0] CLKMGR_CLK_ENABLES
77: 4'b 0001, // index[1] CLKMGR_CLK_HINTS
78: 4'b 0001 // index[2] CLKMGR_CLK_HINTS_STATUS
79: };
80: endpackage
81:
82: