[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 93ca392..e560690 100644
--- a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
+++ b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
@@ -3674,7 +3674,7 @@
         rst_edn_ni: rstmgr_aon_resets.rst_sys_n[rstmgr_pkg::Domain0Sel]
       }
       base_addr: 0x40150000
-      generated: "true"
+      attr: templated
       localparam:
       {
         EscCntDw: 32
@@ -3863,7 +3863,7 @@
       }
       domain: Aon
       base_addr: 0x40400000
-      generated: "true"
+      attr: templated
       clock_connections:
       {
         clk_i: clkmgr_aon_clocks.clk_io_div4_powerup
@@ -4103,7 +4103,7 @@
       }
       domain: Aon
       base_addr: 0x40410000
-      generated: "true"
+      attr: templated
       clock_connections:
       {
         clk_i: clkmgr_aon_clocks.clk_io_div4_powerup
@@ -4236,7 +4236,7 @@
       }
       domain: Aon
       base_addr: 0x40420000
-      generated: "true"
+      attr: templated
       clock_connections:
       {
         clk_i: clkmgr_aon_clocks.clk_io_div4_powerup
@@ -4428,7 +4428,7 @@
       }
       domain: Aon
       base_addr: 0x40460000
-      generated: "true"
+      attr: templated
       clock_connections:
       {
         clk_i: clkmgr_aon_clocks.clk_io_div4_powerup
@@ -4665,7 +4665,7 @@
       }
       domain: Aon
       base_addr: 0x40470000
-      generated: "true"
+      attr: templated
       clock_connections:
       {
         clk_i: clkmgr_aon_clocks.clk_io_div4_timers
@@ -4771,6 +4771,55 @@
       ]
     }
     {
+      name: ast
+      type: ast
+      clock_srcs:
+      {
+        clk_i: io_div4
+      }
+      clock_group: secure
+      clock_reset_export:
+      [
+        ast
+      ]
+      reset_connections:
+      {
+        rst_ni: rstmgr_aon_resets.rst_sys_io_div4_n[rstmgr_pkg::Domain0Sel]
+      }
+      base_addr: 0x40480000
+      attr: reggen_only
+      clock_connections:
+      {
+        clk_i: clkmgr_aon_clocks.clk_io_div4_secure
+      }
+      domain: "0"
+      size: 0x1000
+      bus_device: tlul
+      bus_host: none
+      available_input_list: []
+      available_output_list: []
+      available_inout_list: []
+      param_list: []
+      interrupt_list: []
+      alert_list: []
+      wakeup_list: []
+      reset_request_list: []
+      scan: "false"
+      scan_reset: "false"
+      inter_signal_list:
+      [
+        {
+          struct: tl
+          package: tlul_pkg
+          type: req_rsp
+          act: rsp
+          name: tl
+          inst_name: ast
+          index: -1
+        }
+      ]
+    }
+    {
       name: sensor_ctrl_aon
       type: sensor_ctrl
       clock_srcs:
@@ -4788,7 +4837,7 @@
       }
       domain: Aon
       base_addr: 0x40490000
-      top_only: "true"
+      attr: reggen_top
       clock_connections:
       {
         clk_i: clkmgr_aon_clocks.clk_io_div4_secure
@@ -5135,7 +5184,7 @@
         rst_otp_ni: rstmgr_aon_resets.rst_lc_io_div4_n[rstmgr_pkg::Domain0Sel]
       }
       base_addr: 0x41000000
-      generated: "true"
+      attr: templated
       clock_connections:
       {
         clk_i: clkmgr_aon_clocks.clk_main_infra
@@ -5516,7 +5565,7 @@
         rst_ni: rstmgr_aon_resets.rst_sys_n[rstmgr_pkg::Domain0Sel]
       }
       base_addr: 0x41010000
-      generated: "true"
+      attr: templated
       clock_connections:
       {
         clk_i: clkmgr_aon_clocks.clk_main_secure
@@ -8082,7 +8131,7 @@
       sensor_ctrl_aon.ast_status: sensor_ctrl_ast_status
       usbdev.usb_ref_val: ""
       usbdev.usb_ref_pulse: ""
-      peri.tl_ast_wrapper: ast_tl
+      peri.tl_ast: ast_tl
       otp_ctrl.otp_ast_pwr_seq: ""
       otp_ctrl.otp_ast_pwr_seq_h: ""
       eflash.flash_bist_enable: flash_bist_enable
@@ -8800,7 +8849,7 @@
           lc_ctrl
           sensor_ctrl_aon
           alert_handler
-          ast_wrapper
+          ast
           sram_ctrl_ret_aon
           aon_timer_aon
         ]
@@ -9269,12 +9318,12 @@
           pipeline_byp: "true"
         }
         {
-          name: ast_wrapper
+          name: ast
           type: device
           clock: clk_peri_i
           reset: rst_peri_ni
           pipeline: "false"
-          stub: true
+          inst_type: ast
           addr_range:
           [
             {
@@ -9283,6 +9332,7 @@
             }
           ]
           xbar: false
+          stub: true
           pipeline_byp: "true"
         }
       ]
@@ -9605,7 +9655,7 @@
         {
           struct: tl
           type: req_rsp
-          name: tl_ast_wrapper
+          name: tl_ast
           act: req
           package: tlul_pkg
           inst_name: peri
@@ -12364,6 +12414,10 @@
         aon_peri
         usb_peri
       ]
+      ast:
+      [
+        io_div4_secure
+      ]
       sensor_ctrl_aon:
       [
         io_div4_secure
@@ -12413,6 +12467,10 @@
         sys_aon
         usb
       ]
+      ast:
+      [
+        sys_io_div4
+      ]
       sensor_ctrl_aon:
       [
         sys_io_div4
@@ -14068,6 +14126,15 @@
         index: -1
       }
       {
+        struct: tl
+        package: tlul_pkg
+        type: req_rsp
+        act: rsp
+        name: tl
+        inst_name: ast
+        index: -1
+      }
+      {
         struct: ast_alert
         type: req_rsp
         name: ast_alert
@@ -15708,7 +15775,7 @@
       {
         struct: tl
         type: req_rsp
-        name: tl_ast_wrapper
+        name: tl_ast
         act: req
         package: tlul_pkg
         inst_name: peri
diff --git a/hw/top_earlgrey/dv/autogen/tb__xbar_connect.sv b/hw/top_earlgrey/dv/autogen/tb__xbar_connect.sv
index 45edc43..3341f24 100644
--- a/hw/top_earlgrey/dv/autogen/tb__xbar_connect.sv
+++ b/hw/top_earlgrey/dv/autogen/tb__xbar_connect.sv
@@ -74,7 +74,7 @@
 tl_if alert_handler_tl_if(clk_io_div4, rst_n);
 tl_if sram_ctrl_ret_aon_tl_if(clk_io_div4, rst_n);
 tl_if aon_timer_aon_tl_if(clk_io_div4, rst_n);
-tl_if ast_wrapper_tl_if(clk_io_div4, rst_n);
+tl_if ast_tl_if(clk_io_div4, rst_n);
 
 initial begin
   bit xbar_mode;
@@ -144,7 +144,7 @@
     `DRIVE_CHIP_TL_DEVICE_IF(alert_handler, alert_handler, tl)
     `DRIVE_CHIP_TL_DEVICE_IF(sram_ctrl_ret_aon, sram_ctrl_ret_aon, tl)
     `DRIVE_CHIP_TL_DEVICE_IF(aon_timer_aon, aon_timer_aon, tl)
-    `DRIVE_CHIP_TL_EXT_DEVICE_IF(ast_wrapper, ast_tl)
+    `DRIVE_CHIP_TL_EXT_DEVICE_IF(ast, ast_tl)
   end
 end
 
diff --git a/hw/top_earlgrey/dv/autogen/xbar_env_pkg__params.sv b/hw/top_earlgrey/dv/autogen/xbar_env_pkg__params.sv
index c341aee..ab6a0be 100644
--- a/hw/top_earlgrey/dv/autogen/xbar_env_pkg__params.sv
+++ b/hw/top_earlgrey/dv/autogen/xbar_env_pkg__params.sv
@@ -130,7 +130,7 @@
     '{"aon_timer_aon", '{
         '{32'h40470000, 32'h40470fff}
     }},
-    '{"ast_wrapper", '{
+    '{"ast", '{
         '{32'h40480000, 32'h40480fff}
     }}};
 
@@ -170,7 +170,7 @@
         "lc_ctrl",
         "sensor_ctrl_aon",
         "alert_handler",
-        "ast_wrapper",
+        "ast",
         "sram_ctrl_ret_aon",
         "aon_timer_aon",
         "flash_ctrl",
@@ -213,7 +213,7 @@
         "lc_ctrl",
         "sensor_ctrl_aon",
         "alert_handler",
-        "ast_wrapper",
+        "ast",
         "sram_ctrl_ret_aon",
         "aon_timer_aon",
         "flash_ctrl",
diff --git a/hw/top_earlgrey/ip/ast/rtl/ast_reg_pkg.sv b/hw/top_earlgrey/ip/ast/rtl/ast_reg_pkg.sv
index 8c68bad..ce1b3cd 100644
--- a/hw/top_earlgrey/ip/ast/rtl/ast_reg_pkg.sv
+++ b/hw/top_earlgrey/ip/ast/rtl/ast_reg_pkg.sv
@@ -6,14 +6,13 @@
 
 package ast_reg_pkg;
 
+  // Address width within the block
+  parameter int BlockAw = 3;
+
   ////////////////////////////
   // Typedefs for registers //
   ////////////////////////////
   typedef struct packed {
-    logic [7:0]  q;
-  } ast_reg2hw_revid_reg_t;
-
-  typedef struct packed {
     logic [31:0] q;
   } ast_reg2hw_rwtype0_reg_t;
 
@@ -43,7 +42,6 @@
   // Register to internal design logic //
   ///////////////////////////////////////
   typedef struct packed {
-    ast_reg2hw_revid_reg_t revid; // [50:43]
     ast_reg2hw_rwtype0_reg_t rwtype0; // [42:11]
     ast_reg2hw_rwtype1_reg_t rwtype1; // [10:0]
   } ast_reg2hw_t;
@@ -56,23 +54,19 @@
   } ast_hw2reg_t;
 
   // Register Address
-  parameter logic [3:0] AST_REVID_OFFSET = 4'h 0;
-  parameter logic [3:0] AST_RWTYPE0_OFFSET = 4'h 4;
-  parameter logic [3:0] AST_RWTYPE1_OFFSET = 4'h 8;
-
+  parameter logic [BlockAw-1:0] AST_RWTYPE0_OFFSET = 3'h 0;
+  parameter logic [BlockAw-1:0] AST_RWTYPE1_OFFSET = 3'h 4;
 
   // Register Index
   typedef enum int {
-    AST_REVID,
     AST_RWTYPE0,
     AST_RWTYPE1
   } ast_id_e;
 
   // Register width information to check illegal writes
-  parameter logic [3:0] AST_PERMIT [3] = '{
-    4'b 0001, // index[0] AST_REVID
-    4'b 1111, // index[1] AST_RWTYPE0
-    4'b 0011  // index[2] AST_RWTYPE1
+  parameter logic [3:0] AST_PERMIT [2] = '{
+    4'b 1111, // index[0] AST_RWTYPE0
+    4'b 0011  // index[1] AST_RWTYPE1
   };
 endpackage
 
diff --git a/hw/top_earlgrey/ip/ast/rtl/ast_reg_top.sv b/hw/top_earlgrey/ip/ast/rtl/ast_reg_top.sv
index 0595b08..379330d 100644
--- a/hw/top_earlgrey/ip/ast/rtl/ast_reg_top.sv
+++ b/hw/top_earlgrey/ip/ast/rtl/ast_reg_top.sv
@@ -23,7 +23,7 @@
 
   import ast_reg_pkg::* ;
 
-  localparam int AW = 4;
+  localparam int AW = 3;
   localparam int DW = 32;
   localparam int DBW = DW/8;                    // Byte Width
 
@@ -43,8 +43,22 @@
   tlul_pkg::tl_h2d_t tl_reg_h2d;
   tlul_pkg::tl_d2h_t tl_reg_d2h;
 
+  // incoming payload check
+  logic chk_err;
+  tlul_payload_chk u_chk (
+    .tl_i,
+    .err_o(chk_err)
+  );
+
+  // outgoing payload generation
+  tlul_pkg::tl_d2h_t tl_o_pre;
+  tlul_gen_payload_chk u_gen_chk (
+    .tl_i(tl_o_pre),
+    .tl_o
+  );
+
   assign tl_reg_h2d = tl_i;
-  assign tl_o       = tl_reg_d2h;
+  assign tl_o_pre   = tl_reg_d2h;
 
   tlul_adapter_reg #(
     .RegAw(AW),
@@ -66,12 +80,11 @@
   );
 
   assign reg_rdata = reg_rdata_next ;
-  assign reg_error = (devmode_i & addrmiss) | wr_err ;
+  assign reg_error = (devmode_i & addrmiss) | wr_err | chk_err;
 
   // Define SW related signals
   // Format: <reg>_<field>_{wd|we|qs}
   //        or <reg>_{wd|we|qs} if field == 1 or 0
-  logic [7:0] revid_qs;
   logic [31:0] rwtype0_qs;
   logic [31:0] rwtype0_wd;
   logic rwtype0_we;
@@ -89,32 +102,6 @@
   logic rwtype1_field15_8_we;
 
   // Register instances
-  // R[revid]: V(False)
-
-  prim_subreg #(
-    .DW      (8),
-    .SWACCESS("RO"),
-    .RESVAL  (8'h1)
-  ) u_revid (
-    .clk_i   (clk_i    ),
-    .rst_ni  (rst_ni  ),
-
-    .we     (1'b0),
-    .wd     ('0  ),
-
-    // from internal hardware
-    .de     (1'b0),
-    .d      ('0  ),
-
-    // to internal hardware
-    .qe     (),
-    .q      (reg2hw.revid.q ),
-
-    // to register interface (read)
-    .qs     (revid_qs)
-  );
-
-
   // R[rwtype0]: V(False)
 
   prim_subreg #(
@@ -250,12 +237,11 @@
 
 
 
-  logic [2:0] addr_hit;
+  logic [1:0] addr_hit;
   always_comb begin
     addr_hit = '0;
-    addr_hit[0] = (reg_addr == AST_REVID_OFFSET);
-    addr_hit[1] = (reg_addr == AST_RWTYPE0_OFFSET);
-    addr_hit[2] = (reg_addr == AST_RWTYPE1_OFFSET);
+    addr_hit[0] = (reg_addr == AST_RWTYPE0_OFFSET);
+    addr_hit[1] = (reg_addr == AST_RWTYPE1_OFFSET);
   end
 
   assign addrmiss = (reg_re || reg_we) ? ~|addr_hit : 1'b0 ;
@@ -265,23 +251,21 @@
     wr_err = 1'b0;
     if (addr_hit[0] && reg_we && (AST_PERMIT[0] != (AST_PERMIT[0] & reg_be))) wr_err = 1'b1 ;
     if (addr_hit[1] && reg_we && (AST_PERMIT[1] != (AST_PERMIT[1] & reg_be))) wr_err = 1'b1 ;
-    if (addr_hit[2] && reg_we && (AST_PERMIT[2] != (AST_PERMIT[2] & reg_be))) wr_err = 1'b1 ;
   end
 
-
-  assign rwtype0_we = addr_hit[1] & reg_we & ~wr_err;
+  assign rwtype0_we = addr_hit[0] & reg_we & ~wr_err;
   assign rwtype0_wd = reg_wdata[31:0];
 
-  assign rwtype1_field0_we = addr_hit[2] & reg_we & ~wr_err;
+  assign rwtype1_field0_we = addr_hit[1] & reg_we & ~wr_err;
   assign rwtype1_field0_wd = reg_wdata[0];
 
-  assign rwtype1_field1_we = addr_hit[2] & reg_we & ~wr_err;
+  assign rwtype1_field1_we = addr_hit[1] & reg_we & ~wr_err;
   assign rwtype1_field1_wd = reg_wdata[1];
 
-  assign rwtype1_field4_we = addr_hit[2] & reg_we & ~wr_err;
+  assign rwtype1_field4_we = addr_hit[1] & reg_we & ~wr_err;
   assign rwtype1_field4_wd = reg_wdata[4];
 
-  assign rwtype1_field15_8_we = addr_hit[2] & reg_we & ~wr_err;
+  assign rwtype1_field15_8_we = addr_hit[1] & reg_we & ~wr_err;
   assign rwtype1_field15_8_wd = reg_wdata[15:8];
 
   // Read data return
@@ -289,14 +273,10 @@
     reg_rdata_next = '0;
     unique case (1'b1)
       addr_hit[0]: begin
-        reg_rdata_next[7:0] = revid_qs;
-      end
-
-      addr_hit[1]: begin
         reg_rdata_next[31:0] = rwtype0_qs;
       end
 
-      addr_hit[2]: begin
+      addr_hit[1]: begin
         reg_rdata_next[0] = rwtype1_field0_qs;
         reg_rdata_next[1] = rwtype1_field1_qs;
         reg_rdata_next[4] = rwtype1_field4_qs;
@@ -309,6 +289,15 @@
     endcase
   end
 
+  // Unused signal tieoff
+
+  // wdata / byte enable are not always fully used
+  // add a blanket unused statement to handle lint waivers
+  logic unused_wdata;
+  logic unused_be;
+  assign unused_wdata = ^reg_wdata;
+  assign unused_be = ^reg_be;
+
   // Assertions for Register Interface
   `ASSERT_PULSE(wePulse, reg_we)
   `ASSERT_PULSE(rePulse, reg_re)
@@ -319,10 +308,6 @@
 
   // this is formulated as an assumption such that the FPV testbenches do disprove this
   // property by mistake
-  // this is formulated as an assumption such that the FPV testbenches do disprove this
-  // property by mistake
-  // TODO may need to change this soon
-  `ASSUME(reqParity, tl_reg_h2d.a_valid |-> tl_reg_h2d.a_user.chk_en == tlul_pkg::CheckDis)
-
+  //`ASSUME(reqParity, tl_reg_h2d.a_valid |-> tl_reg_h2d.a_user.chk_en == tlul_pkg::CheckDis)
 
 endmodule
diff --git a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv
index 8821642..540e888 100644
--- a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv
+++ b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv
@@ -629,6 +629,7 @@
   assign clocks_ast_o.clk_ast_usbdev_io_div4_peri = clocks_o.clk_io_div4_peri;
   assign clocks_ast_o.clk_ast_usbdev_aon_peri = clocks_o.clk_aon_peri;
   assign clocks_ast_o.clk_ast_usbdev_usb_peri = clocks_o.clk_usb_peri;
+  assign clocks_ast_o.clk_ast_ast_io_div4_secure = clocks_o.clk_io_div4_secure;
   assign clocks_ast_o.clk_ast_sensor_ctrl_aon_io_div4_secure = clocks_o.clk_io_div4_secure;
   assign clocks_ast_o.clk_ast_entropy_src_main_secure = clocks_o.clk_main_secure;
   assign clocks_ast_o.clk_ast_edn0_main_secure = clocks_o.clk_main_secure;
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 3c36aaf..6484d72 100644
--- a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr_pkg.sv
+++ b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr_pkg.sv
@@ -49,6 +49,7 @@
     logic clk_ast_usbdev_io_div4_peri;
     logic clk_ast_usbdev_aon_peri;
     logic clk_ast_usbdev_usb_peri;
+    logic clk_ast_ast_io_div4_secure;
     logic clk_ast_sensor_ctrl_aon_io_div4_secure;
     logic clk_ast_entropy_src_main_secure;
     logic clk_ast_edn0_main_secure;
diff --git a/hw/top_earlgrey/ip/rstmgr/rtl/autogen/rstmgr.sv b/hw/top_earlgrey/ip/rstmgr/rtl/autogen/rstmgr.sv
index 59f2eef..6b0771b 100644
--- a/hw/top_earlgrey/ip/rstmgr/rtl/autogen/rstmgr.sv
+++ b/hw/top_earlgrey/ip/rstmgr/rtl/autogen/rstmgr.sv
@@ -747,6 +747,7 @@
   assign resets_ast_o.rst_ast_usbdev_sys_io_div4_n = resets_o.rst_sys_io_div4_n;
   assign resets_ast_o.rst_ast_usbdev_sys_aon_n = resets_o.rst_sys_aon_n;
   assign resets_ast_o.rst_ast_usbdev_usb_n = resets_o.rst_usb_n;
+  assign resets_ast_o.rst_ast_ast_sys_io_div4_n = resets_o.rst_sys_io_div4_n;
   assign resets_ast_o.rst_ast_sensor_ctrl_aon_sys_io_div4_n = resets_o.rst_sys_io_div4_n;
   assign resets_ast_o.rst_ast_entropy_src_sys_n = resets_o.rst_sys_n;
   assign resets_ast_o.rst_ast_edn0_sys_n = resets_o.rst_sys_n;
diff --git a/hw/top_earlgrey/ip/rstmgr/rtl/autogen/rstmgr_pkg.sv b/hw/top_earlgrey/ip/rstmgr/rtl/autogen/rstmgr_pkg.sv
index 2ec70e9..c391444 100644
--- a/hw/top_earlgrey/ip/rstmgr/rtl/autogen/rstmgr_pkg.sv
+++ b/hw/top_earlgrey/ip/rstmgr/rtl/autogen/rstmgr_pkg.sv
@@ -65,6 +65,7 @@
     logic [PowerDomains-1:0] rst_ast_usbdev_sys_io_div4_n;
     logic [PowerDomains-1:0] rst_ast_usbdev_sys_aon_n;
     logic [PowerDomains-1:0] rst_ast_usbdev_usb_n;
+    logic [PowerDomains-1:0] rst_ast_ast_sys_io_div4_n;
     logic [PowerDomains-1:0] rst_ast_sensor_ctrl_aon_sys_io_div4_n;
     logic [PowerDomains-1:0] rst_ast_entropy_src_sys_n;
     logic [PowerDomains-1:0] rst_ast_edn0_sys_n;
diff --git a/hw/top_earlgrey/ip/xbar_peri/data/autogen/xbar_peri.gen.hjson b/hw/top_earlgrey/ip/xbar_peri/data/autogen/xbar_peri.gen.hjson
index 705cb2d..2d639e8 100644
--- a/hw/top_earlgrey/ip/xbar_peri/data/autogen/xbar_peri.gen.hjson
+++ b/hw/top_earlgrey/ip/xbar_peri/data/autogen/xbar_peri.gen.hjson
@@ -50,7 +50,7 @@
       lc_ctrl
       sensor_ctrl_aon
       alert_handler
-      ast_wrapper
+      ast
       sram_ctrl_ret_aon
       aon_timer_aon
     ]
@@ -519,12 +519,12 @@
       pipeline_byp: "true"
     }
     {
-      name: ast_wrapper
+      name: ast
       type: device
       clock: clk_peri_i
       reset: rst_peri_ni
       pipeline: "false"
-      stub: true
+      inst_type: ast
       addr_range:
       [
         {
@@ -533,6 +533,7 @@
         }
       ]
       xbar: false
+      stub: true
       pipeline_byp: "true"
     }
   ]
diff --git a/hw/top_earlgrey/ip/xbar_peri/data/autogen/xbar_peri.hjson b/hw/top_earlgrey/ip/xbar_peri/data/autogen/xbar_peri.hjson
index 6f34e7c..40d507b 100644
--- a/hw/top_earlgrey/ip/xbar_peri/data/autogen/xbar_peri.hjson
+++ b/hw/top_earlgrey/ip/xbar_peri/data/autogen/xbar_peri.hjson
@@ -171,7 +171,7 @@
     }
     { struct: "tl"
       type:   "req_rsp"
-      name:   "tl_ast_wrapper"
+      name:   "tl_ast"
       act:    "req"
       package: "tlul_pkg"
     }
diff --git a/hw/top_earlgrey/ip/xbar_peri/dv/autogen/tb__xbar_connect.sv b/hw/top_earlgrey/ip/xbar_peri/dv/autogen/tb__xbar_connect.sv
index b1b99f0..d7e2b63 100644
--- a/hw/top_earlgrey/ip/xbar_peri/dv/autogen/tb__xbar_connect.sv
+++ b/hw/top_earlgrey/ip/xbar_peri/dv/autogen/tb__xbar_connect.sv
@@ -42,4 +42,4 @@
 `CONNECT_TL_DEVICE_IF(alert_handler, dut, clk_peri_i, rst_n)
 `CONNECT_TL_DEVICE_IF(sram_ctrl_ret_aon, dut, clk_peri_i, rst_n)
 `CONNECT_TL_DEVICE_IF(aon_timer_aon, dut, clk_peri_i, rst_n)
-`CONNECT_TL_DEVICE_IF(ast_wrapper, dut, clk_peri_i, rst_n)
+`CONNECT_TL_DEVICE_IF(ast, dut, clk_peri_i, rst_n)
diff --git a/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_cover.cfg b/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_cover.cfg
index c2328af..838f7aa 100644
--- a/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_cover.cfg
+++ b/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_cover.cfg
@@ -105,10 +105,10 @@
 -node tb.dut tl_aon_timer_aon_o.a_address[21:19]
 -node tb.dut tl_aon_timer_aon_o.a_address[29:23]
 -node tb.dut tl_aon_timer_aon_o.a_address[31:31]
--node tb.dut tl_ast_wrapper_o.a_address[18:12]
--node tb.dut tl_ast_wrapper_o.a_address[21:20]
--node tb.dut tl_ast_wrapper_o.a_address[29:23]
--node tb.dut tl_ast_wrapper_o.a_address[31:31]
+-node tb.dut tl_ast_o.a_address[18:12]
+-node tb.dut tl_ast_o.a_address[21:20]
+-node tb.dut tl_ast_o.a_address[29:23]
+-node tb.dut tl_ast_o.a_address[31:31]
 
 begin tgl
   -tree tb
diff --git a/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_env_pkg__params.sv b/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_env_pkg__params.sv
index f47b388..6f79c7a 100644
--- a/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_env_pkg__params.sv
+++ b/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_env_pkg__params.sv
@@ -82,7 +82,7 @@
     '{"aon_timer_aon", '{
         '{32'h40470000, 32'h40470fff}
     }},
-    '{"ast_wrapper", '{
+    '{"ast", '{
         '{32'h40480000, 32'h40480fff}
 }}};
 
@@ -112,7 +112,7 @@
         "lc_ctrl",
         "sensor_ctrl_aon",
         "alert_handler",
-        "ast_wrapper",
+        "ast",
         "sram_ctrl_ret_aon",
         "aon_timer_aon"}}
 };
diff --git a/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_peri_bind.sv b/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_peri_bind.sv
index e06bd14..8c51fc6 100644
--- a/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_peri_bind.sv
+++ b/hw/top_earlgrey/ip/xbar_peri/dv/autogen/xbar_peri_bind.sv
@@ -164,11 +164,11 @@
     .h2d    (tl_aon_timer_aon_o),
     .d2h    (tl_aon_timer_aon_i)
   );
-  bind xbar_peri tlul_assert #(.EndpointType("Host")) tlul_assert_device_ast_wrapper (
+  bind xbar_peri tlul_assert #(.EndpointType("Host")) tlul_assert_device_ast (
     .clk_i  (clk_peri_i),
     .rst_ni (rst_peri_ni),
-    .h2d    (tl_ast_wrapper_o),
-    .d2h    (tl_ast_wrapper_i)
+    .h2d    (tl_ast_o),
+    .d2h    (tl_ast_i)
   );
 
 endmodule
diff --git a/hw/top_earlgrey/ip/xbar_peri/rtl/autogen/tl_peri_pkg.sv b/hw/top_earlgrey/ip/xbar_peri/rtl/autogen/tl_peri_pkg.sv
index 5676e89..93e338d 100644
--- a/hw/top_earlgrey/ip/xbar_peri/rtl/autogen/tl_peri_pkg.sv
+++ b/hw/top_earlgrey/ip/xbar_peri/rtl/autogen/tl_peri_pkg.sv
@@ -31,7 +31,7 @@
   localparam logic [31:0] ADDR_SPACE_ALERT_HANDLER     = 32'h 40150000;
   localparam logic [31:0] ADDR_SPACE_SRAM_CTRL_RET_AON = 32'h 40500000;
   localparam logic [31:0] ADDR_SPACE_AON_TIMER_AON     = 32'h 40470000;
-  localparam logic [31:0] ADDR_SPACE_AST_WRAPPER       = 32'h 40480000;
+  localparam logic [31:0] ADDR_SPACE_AST               = 32'h 40480000;
 
   localparam logic [31:0] ADDR_MASK_UART0             = 32'h 00000fff;
   localparam logic [31:0] ADDR_MASK_UART1             = 32'h 00000fff;
@@ -58,7 +58,7 @@
   localparam logic [31:0] ADDR_MASK_ALERT_HANDLER     = 32'h 00000fff;
   localparam logic [31:0] ADDR_MASK_SRAM_CTRL_RET_AON = 32'h 00000fff;
   localparam logic [31:0] ADDR_MASK_AON_TIMER_AON     = 32'h 00000fff;
-  localparam logic [31:0] ADDR_MASK_AST_WRAPPER       = 32'h 00000fff;
+  localparam logic [31:0] ADDR_MASK_AST               = 32'h 00000fff;
 
   localparam int N_HOST   = 1;
   localparam int N_DEVICE = 26;
@@ -89,7 +89,7 @@
     TlAlertHandler = 22,
     TlSramCtrlRetAon = 23,
     TlAonTimerAon = 24,
-    TlAstWrapper = 25
+    TlAst = 25
   } tl_device_e;
 
   typedef enum int {
diff --git a/hw/top_earlgrey/ip/xbar_peri/rtl/autogen/xbar_peri.sv b/hw/top_earlgrey/ip/xbar_peri/rtl/autogen/xbar_peri.sv
index cd28ac6..d31b63b 100644
--- a/hw/top_earlgrey/ip/xbar_peri/rtl/autogen/xbar_peri.sv
+++ b/hw/top_earlgrey/ip/xbar_peri/rtl/autogen/xbar_peri.sv
@@ -31,7 +31,7 @@
 //     -> lc_ctrl
 //     -> sensor_ctrl_aon
 //     -> alert_handler
-//     -> ast_wrapper
+//     -> ast
 //     -> sram_ctrl_ret_aon
 //     -> aon_timer_aon
 
@@ -94,8 +94,8 @@
   input  tlul_pkg::tl_d2h_t tl_sram_ctrl_ret_aon_i,
   output tlul_pkg::tl_h2d_t tl_aon_timer_aon_o,
   input  tlul_pkg::tl_d2h_t tl_aon_timer_aon_i,
-  output tlul_pkg::tl_h2d_t tl_ast_wrapper_o,
-  input  tlul_pkg::tl_d2h_t tl_ast_wrapper_i,
+  output tlul_pkg::tl_h2d_t tl_ast_o,
+  input  tlul_pkg::tl_d2h_t tl_ast_i,
 
   input lc_ctrl_pkg::lc_tx_t scanmode_i
 );
@@ -189,8 +189,8 @@
   assign tl_alert_handler_o = tl_s1n_27_ds_h2d[22];
   assign tl_s1n_27_ds_d2h[22] = tl_alert_handler_i;
 
-  assign tl_ast_wrapper_o = tl_s1n_27_ds_h2d[23];
-  assign tl_s1n_27_ds_d2h[23] = tl_ast_wrapper_i;
+  assign tl_ast_o = tl_s1n_27_ds_h2d[23];
+  assign tl_s1n_27_ds_d2h[23] = tl_ast_i;
 
   assign tl_sram_ctrl_ret_aon_o = tl_s1n_27_ds_h2d[24];
   assign tl_s1n_27_ds_d2h[24] = tl_sram_ctrl_ret_aon_i;
@@ -273,7 +273,7 @@
     end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_ALERT_HANDLER)) == ADDR_SPACE_ALERT_HANDLER) begin
       dev_sel_s1n_27 = 5'd22;
 
-    end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_AST_WRAPPER)) == ADDR_SPACE_AST_WRAPPER) begin
+    end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_AST)) == ADDR_SPACE_AST) begin
       dev_sel_s1n_27 = 5'd23;
 
     end else if ((tl_s1n_27_us_h2d.a_address & ~(ADDR_MASK_SRAM_CTRL_RET_AON)) == ADDR_SPACE_SRAM_CTRL_RET_AON) begin
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
index 20f916b..e80df10 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -2422,9 +2422,9 @@
     .tl_aon_timer_aon_o(aon_timer_aon_tl_req),
     .tl_aon_timer_aon_i(aon_timer_aon_tl_rsp),
 
-    // port: tl_ast_wrapper
-    .tl_ast_wrapper_o(ast_tl_req_o),
-    .tl_ast_wrapper_i(ast_tl_rsp_i),
+    // port: tl_ast
+    .tl_ast_o(ast_tl_req_o),
+    .tl_ast_i(ast_tl_rsp_i),
 
 
     .scanmode_i
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey_pkg.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey_pkg.sv
index f67dc42..11eb9e5 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey_pkg.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey_pkg.sv
@@ -232,6 +232,16 @@
   parameter int unsigned TOP_EARLGREY_AON_TIMER_AON_SIZE_BYTES = 32'h1000;
 
   /**
+   * Peripheral base address for ast in top earlgrey.
+   */
+  parameter int unsigned TOP_EARLGREY_AST_BASE_ADDR = 32'h40480000;
+
+  /**
+   * Peripheral size in bytes for ast in top earlgrey.
+   */
+  parameter int unsigned TOP_EARLGREY_AST_SIZE_BYTES = 32'h1000;
+
+  /**
    * Peripheral base address for sensor_ctrl_aon in top earlgrey.
    */
   parameter int unsigned TOP_EARLGREY_SENSOR_CTRL_AON_BASE_ADDR = 32'h40490000;
diff --git a/hw/top_earlgrey/sw/autogen/top_earlgrey.h b/hw/top_earlgrey/sw/autogen/top_earlgrey.h
index d9b0c8a..04addb6 100644
--- a/hw/top_earlgrey/sw/autogen/top_earlgrey.h
+++ b/hw/top_earlgrey/sw/autogen/top_earlgrey.h
@@ -422,6 +422,24 @@
 #define TOP_EARLGREY_AON_TIMER_AON_SIZE_BYTES 0x1000u
 
 /**
+ * Peripheral base address for ast in top earlgrey.
+ *
+ * This should be used with #mmio_region_from_addr to access the memory-mapped
+ * registers associated with the peripheral (usually via a DIF).
+ */
+#define TOP_EARLGREY_AST_BASE_ADDR 0x40480000u
+
+/**
+ * Peripheral size for ast in top earlgrey.
+ *
+ * This is the size (in bytes) of the peripheral's reserved memory area. All
+ * memory-mapped registers associated with this peripheral should have an
+ * address between #TOP_EARLGREY_AST_BASE_ADDR and
+ * `TOP_EARLGREY_AST_BASE_ADDR + TOP_EARLGREY_AST_SIZE_BYTES`.
+ */
+#define TOP_EARLGREY_AST_SIZE_BYTES 0x1000u
+
+/**
  * Peripheral base address for sensor_ctrl_aon in top earlgrey.
  *
  * This should be used with #mmio_region_from_addr to access the memory-mapped