[top] Auto generate files
Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
index 74e48b6..22b9708 100644
--- a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
+++ b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
@@ -999,8 +999,8 @@
width: 1
inst_name: aes
default: ""
- top_signame: aes_idle
- index: -1
+ top_signame: clkmgr_idle
+ index: 0
}
{
struct: tl
@@ -1096,6 +1096,18 @@
inter_signal_list:
[
{
+ name: idle
+ type: uni
+ act: req
+ package: ""
+ struct: logic
+ width: 1
+ inst_name: hmac
+ default: ""
+ top_signame: clkmgr_idle
+ index: 1
+ }
+ {
struct: tl
package: tlul_pkg
type: req_rsp
@@ -1875,15 +1887,16 @@
index: -1
}
{
- struct: clk_hint_status
+ struct: logic
type: uni
- name: status
+ name: idle
act: rcv
- package: clkmgr_pkg
+ package: ""
+ width: 3
inst_name: clkmgr
- width: 1
default: ""
- top_signame: clkmgr_status
+ top_type: one-to-N
+ top_signame: clkmgr_idle
index: -1
}
{
@@ -2651,10 +2664,13 @@
name: idle
type: uni
struct: logic
- width: "1"
+ width: 1
act: req
inst_name: otbn
- index: -1
+ default: ""
+ package: ""
+ top_signame: clkmgr_idle
+ index: 2
}
{
struct: tl
@@ -2856,6 +2872,12 @@
[
rstmgr.alert_dump
]
+ clkmgr.idle:
+ [
+ aes.idle
+ hmac.idle
+ otbn.idle
+ ]
pwrmgr.wakeups:
[
pinmux.aon_wkup_req
@@ -2967,8 +2989,6 @@
rstmgr.cpu
pwrmgr.pwr_cpu
clkmgr.clocks
- aes.idle
- clkmgr.status
main.tl_corei
main.tl_cored
main.tl_dm_sba
@@ -5243,8 +5263,8 @@
width: 1
inst_name: aes
default: ""
- top_signame: aes_idle
- index: -1
+ top_signame: clkmgr_idle
+ index: 0
}
{
struct: tl
@@ -5259,6 +5279,18 @@
index: -1
}
{
+ name: idle
+ type: uni
+ act: req
+ package: ""
+ struct: logic
+ width: 1
+ inst_name: hmac
+ default: ""
+ top_signame: clkmgr_idle
+ index: 1
+ }
+ {
struct: tl
package: tlul_pkg
type: req_rsp
@@ -5685,15 +5717,16 @@
index: -1
}
{
- struct: clk_hint_status
+ struct: logic
type: uni
- name: status
+ name: idle
act: rcv
- package: clkmgr_pkg
+ package: ""
+ width: 3
inst_name: clkmgr
- width: 1
default: ""
- top_signame: clkmgr_status
+ top_type: one-to-N
+ top_signame: clkmgr_idle
index: -1
}
{
@@ -5890,10 +5923,13 @@
name: idle
type: uni
struct: logic
- width: "1"
+ width: 1
act: req
inst_name: otbn
- index: -1
+ default: ""
+ package: ""
+ top_signame: clkmgr_idle
+ index: 2
}
{
struct: tl
@@ -6561,6 +6597,14 @@
{
package: ""
struct: logic
+ signame: clkmgr_idle
+ width: 3
+ type: uni
+ default: ""
+ }
+ {
+ package: ""
+ struct: logic
signame: pwrmgr_wakeups
width: 1
type: uni
@@ -6991,22 +7035,6 @@
default: ""
}
{
- package: ""
- struct: logic
- signame: aes_idle
- width: 1
- type: uni
- default: ""
- }
- {
- package: clkmgr_pkg
- struct: clk_hint_status
- signame: clkmgr_status
- width: 1
- type: uni
- default: ""
- }
- {
package: tlul_pkg
struct: tl_h2d
signame: main_tl_corei_req
diff --git a/hw/top_earlgrey/ip/clkmgr/data/autogen/clkmgr.hjson b/hw/top_earlgrey/ip/clkmgr/data/autogen/clkmgr.hjson
index ecf4231..b745c26 100644
--- a/hw/top_earlgrey/ip/clkmgr/data/autogen/clkmgr.hjson
+++ b/hw/top_earlgrey/ip/clkmgr/data/autogen/clkmgr.hjson
@@ -92,11 +92,12 @@
package: "clkmgr_pkg", // This should be moved elsewhere later
},
- { struct: "clk_hint_status",
+ { struct: "logic",
type: "uni",
- name: "status",
+ name: "idle",
act: "rcv",
- package: "clkmgr_pkg",
+ package: "",
+ width: "3"
},
],
diff --git a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv
index 4f14275..755c3e2 100644
--- a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv
+++ b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv
@@ -47,7 +47,7 @@
input clk_dft_t dft_i,
// idle hints
- input clk_hint_status_t status_i,
+ input [2:0] idle_i,
// clock output interface
output clkmgr_ast_out_t clocks_ast_o,
@@ -292,7 +292,7 @@
logic clk_main_otbn_hint;
logic clk_main_otbn_en;
- assign clk_main_aes_en = clk_main_aes_hint | ~status_i.idle[0];
+ assign clk_main_aes_en = clk_main_aes_hint | ~idle_i[Aes];
prim_flop_2sync #(
.Width(1)
@@ -310,7 +310,7 @@
.clk_o(clocks_o.clk_main_aes)
);
- assign clk_main_hmac_en = clk_main_hmac_hint | ~status_i.idle[1];
+ assign clk_main_hmac_en = clk_main_hmac_hint | ~idle_i[Hmac];
prim_flop_2sync #(
.Width(1)
@@ -328,7 +328,7 @@
.clk_o(clocks_o.clk_main_hmac)
);
- assign clk_main_otbn_en = clk_main_otbn_hint | ~status_i.idle[2];
+ assign clk_main_otbn_en = clk_main_otbn_hint | ~idle_i[Otbn];
prim_flop_2sync #(
.Width(1)
diff --git a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr_pkg.sv b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr_pkg.sv
index 9002da4..6a9c540 100644
--- a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr_pkg.sv
+++ b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr_pkg.sv
@@ -12,6 +12,12 @@
package clkmgr_pkg;
+ typedef enum int {
+ Aes = 0,
+ Hmac = 1,
+ Otbn = 2
+ } hint_names_e;
+
typedef struct packed {
logic test_en;
} clk_dft_t;
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
index 2686113..fac1f6f 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -221,6 +221,7 @@
pwrmgr_pkg::pwr_clk_rsp_t pwrmgr_pwr_clk_rsp;
flash_ctrl_pkg::keymgr_flash_t flash_ctrl_keymgr;
alert_pkg::alert_crashdump_t alert_handler_crashdump;
+ logic [2:0] clkmgr_idle;
logic pwrmgr_wakeups;
logic pwrmgr_rstreqs;
tlul_pkg::tl_h2d_t rom_tl_req;
@@ -275,8 +276,6 @@
rstmgr_pkg::rstmgr_cpu_t rstmgr_cpu;
pwrmgr_pkg::pwr_cpu_t pwrmgr_pwr_cpu;
clkmgr_pkg::clkmgr_out_t clkmgr_clocks;
- logic aes_idle;
- clkmgr_pkg::clk_hint_status_t clkmgr_status;
tlul_pkg::tl_h2d_t main_tl_corei_req;
tlul_pkg::tl_d2h_t main_tl_corei_rsp;
tlul_pkg::tl_h2d_t main_tl_cored_req;
@@ -286,11 +285,6 @@
tlul_pkg::tl_h2d_t main_tl_debug_mem_req;
tlul_pkg::tl_d2h_t main_tl_debug_mem_rsp;
- always_comb begin
- // TODO: So far just aes is connected
- clkmgr_status.idle = clkmgr_pkg::CLK_HINT_STATUS_DEFAULT;
- clkmgr_status.idle[0] = aes_idle;
- end
// Non-debug module reset == reset for everything except for the debug module
logic ndmreset_req;
@@ -700,7 +694,7 @@
.alert_rx_i ( alert_rx[1:0] ),
// Inter-module signals
- .idle_o(aes_idle),
+ .idle_o(clkmgr_idle[0]),
.tl_i(aes_tl_req),
.tl_o(aes_tl_rsp),
.clk_i (clkmgr_clocks.clk_main_aes),
@@ -719,6 +713,7 @@
.alert_rx_i ( alert_rx[2:2] ),
// Inter-module signals
+ .idle_o(clkmgr_idle[1]),
.tl_i(hmac_tl_req),
.tl_o(hmac_tl_rsp),
.clk_i (clkmgr_clocks.clk_main_hmac),
@@ -873,7 +868,7 @@
.pwr_i(pwrmgr_pwr_clk_req),
.pwr_o(pwrmgr_pwr_clk_rsp),
.dft_i(clkmgr_pkg::CLK_DFT_DEFAULT),
- .status_i(clkmgr_status),
+ .idle_i(clkmgr_idle),
.tl_i(clkmgr_tl_req),
.tl_o(clkmgr_tl_rsp),
.clk_i (clkmgr_clocks.clk_io_div4_powerup),
@@ -1020,7 +1015,7 @@
.alert_rx_i ( alert_rx[13:11] ),
// Inter-module signals
- .idle_o(),
+ .idle_o(clkmgr_idle[2]),
.tl_i(otbn_tl_req),
.tl_o(otbn_tl_rsp),
.clk_i (clkmgr_clocks.clk_main_otbn),