[tlul] Enable tlul integrity check across the design
Signed-off-by: Timothy Chen <timothytim@google.com>
[tlul] Minor enhancements
- remove commented out code after placing tlul_host_adapter inside lc_ctrl
- add full width parameters to tlul_pkg.sv
Signed-off-by: Timothy Chen <timothytim@google.com>
[dv] Minor hacks to get tlul integrity checks going
Signed-off-by: Timothy Chen <timothytim@google.com>
[top] Auto generate files
Signed-off-by: Timothy Chen <timothytim@google.com>
[tlul] correct comment typo
Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/util/reggen/reg_top.sv.tpl b/util/reggen/reg_top.sv.tpl
index 1923d19..dd6911d 100644
--- a/util/reggen/reg_top.sv.tpl
+++ b/util/reggen/reg_top.sv.tpl
@@ -75,20 +75,22 @@
logic intg_err;
tlul_cmd_intg_chk u_chk (
.tl_i,
- // connect this to intg_err later when all DV / hosts are hooked up
- .err_o()
+ .err_o(intg_err)
);
- assign intg_err = 1'b0;
- // Once integrity error is detected, it does not let go until reset.
+ logic intg_err_q;
always_ff @(posedge clk_i or negedge rst_ni) begin
if (!rst_ni) begin
- intg_err_o <= '0;
+ intg_err_q <= '0;
end else if (intg_err) begin
- intg_err_o <= 1'b1;
+ intg_err_q <= 1'b1;
end
end
+ // integrity error output is permanent and should be used for alert generation
+ // register errors are transactional
+ assign intg_err_o = intg_err_q | intg_err;
+
// outgoing integrity generation
tlul_pkg::tl_d2h_t tl_o_pre;
tlul_rsp_intg_gen u_rsp_intg_gen (