[lc_ctrl/otp_ctrl] Update DV environments to account for pkg changes

Signed-off-by: Michael Schaffner <msf@google.com>
diff --git a/hw/ip/lc_ctrl/dv/env/lc_ctrl_env.sv b/hw/ip/lc_ctrl/dv/env/lc_ctrl_env.sv
index 8d74797..b27f843 100644
--- a/hw/ip/lc_ctrl/dv/env/lc_ctrl_env.sv
+++ b/hw/ip/lc_ctrl/dv/env/lc_ctrl_env.sv
@@ -12,7 +12,7 @@
 
   push_pull_agent#(.HostDataWidth(OTP_PROG_HDATA_WIDTH), .DeviceDataWidth(OTP_PROG_DDATA_WIDTH))
                    m_otp_prog_pull_agent;
-  push_pull_agent#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)) m_otp_token_pull_agent;
+  push_pull_agent#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)) m_otp_token_pull_agent;
   alert_esc_agent m_esc_wipe_secrets_agent;
   alert_esc_agent m_esc_scrap_state_agent;
   jtag_agent      m_jtag_agent;
@@ -51,10 +51,10 @@
         cfg.m_otp_prog_pull_agent_cfg);
     cfg.m_otp_prog_pull_agent_cfg.en_cov = cfg.en_cov;
 
-    m_otp_token_pull_agent = push_pull_agent#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth))::type_id::
-        create("m_otp_token_pull_agent", this);
-    uvm_config_db#(push_pull_agent_cfg#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)))::set(this,
-        "m_otp_token_pull_agent", "cfg", cfg.m_otp_token_pull_agent_cfg);
+    m_otp_token_pull_agent = push_pull_agent#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth))::
+        type_id::create("m_otp_token_pull_agent", this);
+    uvm_config_db#(push_pull_agent_cfg#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)))::
+        set(this, "m_otp_token_pull_agent", "cfg", cfg.m_otp_token_pull_agent_cfg);
     cfg.m_otp_token_pull_agent_cfg.en_cov = cfg.en_cov;
   endfunction
 
diff --git a/hw/ip/lc_ctrl/dv/env/lc_ctrl_env_cfg.sv b/hw/ip/lc_ctrl/dv/env/lc_ctrl_env_cfg.sv
index 33c1474..fca7e4b 100644
--- a/hw/ip/lc_ctrl/dv/env/lc_ctrl_env_cfg.sv
+++ b/hw/ip/lc_ctrl/dv/env/lc_ctrl_env_cfg.sv
@@ -7,7 +7,7 @@
   // ext component cfgs
   push_pull_agent_cfg#(.HostDataWidth(OTP_PROG_HDATA_WIDTH),
                        .DeviceDataWidth(OTP_PROG_DDATA_WIDTH)) m_otp_prog_pull_agent_cfg;
-  push_pull_agent_cfg#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)) m_otp_token_pull_agent_cfg;
+  push_pull_agent_cfg#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)) m_otp_token_pull_agent_cfg;
   alert_esc_agent_cfg m_esc_wipe_secrets_agent_cfg;
   alert_esc_agent_cfg m_esc_scrap_state_agent_cfg;
   jtag_agent_cfg      m_jtag_agent_cfg;
@@ -31,7 +31,8 @@
     m_otp_prog_pull_agent_cfg.agent_type = PullAgent;
     m_otp_prog_pull_agent_cfg.if_mode    = Device;
 
-    m_otp_token_pull_agent_cfg = push_pull_agent_cfg#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth))
+    m_otp_token_pull_agent_cfg = push_pull_agent_cfg#(
+                                 .HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth))
         ::type_id::create("m_otp_token_pull_agent_cfg");
     `DV_CHECK_RANDOMIZE_FATAL(m_otp_token_pull_agent_cfg)
     m_otp_token_pull_agent_cfg.agent_type = PullAgent;
diff --git a/hw/ip/lc_ctrl/dv/env/lc_ctrl_env_pkg.sv b/hw/ip/lc_ctrl/dv/env/lc_ctrl_env_pkg.sv
index 7cad420..bf3e68a 100644
--- a/hw/ip/lc_ctrl/dv/env/lc_ctrl_env_pkg.sv
+++ b/hw/ip/lc_ctrl/dv/env/lc_ctrl_env_pkg.sv
@@ -13,6 +13,7 @@
   import csr_utils_pkg::*;
   import lc_ctrl_ral_pkg::*;
   import lc_ctrl_pkg::*;
+  import lc_ctrl_state_pkg::*;
   import otp_ctrl_pkg::*;
   import push_pull_agent_pkg::*;
   import alert_esc_agent_pkg::*;
@@ -29,7 +30,7 @@
   parameter uint   NUM_STATES = 16;
 
   // lc_otp_program host data width: lc_state_e width + lc_cnt_e width
-  parameter uint OTP_PROG_HDATA_WIDTH = lc_ctrl_pkg::LcStateWidth + lc_ctrl_pkg::LcCountWidth;
+  parameter uint OTP_PROG_HDATA_WIDTH = LcStateWidth + LcCountWidth;
   // TODO: temp set to 0, once push-pull agent can constraint data, it will set to 1 for error bit
   parameter uint OTP_PROG_DDATA_WIDTH = 0;
 
diff --git a/hw/ip/lc_ctrl/dv/env/lc_ctrl_if.sv b/hw/ip/lc_ctrl/dv/env/lc_ctrl_if.sv
index 6b91916..4b036fc 100644
--- a/hw/ip/lc_ctrl/dv/env/lc_ctrl_if.sv
+++ b/hw/ip/lc_ctrl/dv/env/lc_ctrl_if.sv
@@ -6,40 +6,41 @@
 interface lc_ctrl_if(input clk, input rst_n);
 
   import lc_ctrl_pkg::*;
+  import lc_ctrl_state_pkg::*;
   import otp_ctrl_pkg::*;
   import otp_ctrl_part_pkg::*;
 
   logic tdo_oe; // TODO: add assertions
   logic prog_err; // TODO: remove once push-pull can constrain data
-  otp_ctrl_pkg::otp_lc_data_t     otp_i;
-  otp_ctrl_part_pkg::otp_hw_cfg_t otp_hw_cfg_i;
-  lc_ctrl_pkg::lc_token_t hashed_token;
+  otp_lc_data_t otp_i;
+  otp_hw_cfg_t  otp_hw_cfg_i;
+  lc_token_t    hashed_token;
 
-  lc_ctrl_pkg::lc_tx_t lc_dft_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_nvm_debug_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_hw_debug_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_cpu_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_creator_seed_sw_rw_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_owner_seed_sw_rw_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_iso_part_sw_rd_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_iso_part_sw_wr_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_seed_hw_rd_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_keymgr_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_escalate_en_o;
-  lc_ctrl_pkg::lc_tx_t lc_check_byp_en_o;
+  lc_tx_t lc_dft_en_o;
+  lc_tx_t lc_nvm_debug_en_o;
+  lc_tx_t lc_hw_debug_en_o;
+  lc_tx_t lc_cpu_en_o;
+  lc_tx_t lc_creator_seed_sw_rw_en_o;
+  lc_tx_t lc_owner_seed_sw_rw_en_o;
+  lc_tx_t lc_iso_part_sw_rd_en_o;
+  lc_tx_t lc_iso_part_sw_wr_en_o;
+  lc_tx_t lc_seed_hw_rd_en_o;
+  lc_tx_t lc_keymgr_en_o;
+  lc_tx_t lc_escalate_en_o;
+  lc_tx_t lc_check_byp_en_o;
 
-  lc_ctrl_pkg::lc_tx_t clk_byp_req_o;
-  lc_ctrl_pkg::lc_tx_t clk_byp_ack_i;
-  lc_ctrl_pkg::lc_tx_t flash_rma_req_o;
-  lc_ctrl_pkg::lc_tx_t flash_rma_ack_i;
+  lc_tx_t clk_byp_req_o;
+  lc_tx_t clk_byp_ack_i;
+  lc_tx_t flash_rma_req_o;
+  lc_tx_t flash_rma_ack_i;
 
-  lc_ctrl_pkg::lc_keymgr_div_t     keymgr_div_o;
-  lc_ctrl_pkg::lc_flash_rma_seed_t flash_rma_seed_o;
+  lc_keymgr_div_t     keymgr_div_o;
+  lc_flash_rma_seed_t flash_rma_seed_o;
 
-  task automatic init(lc_ctrl_pkg::lc_state_e lc_state = LcStRaw,
-                      lc_ctrl_pkg::lc_cnt_e   lc_cnt = LcCntRaw,
-                      lc_ctrl_pkg::lc_tx_t    clk_byp_ack = lc_ctrl_pkg::Off,
-                      lc_ctrl_pkg::lc_tx_t    flash_rma_ack = lc_ctrl_pkg::Off);
+  task automatic init(lc_state_e lc_state = LcStRaw,
+                      lc_cnt_e   lc_cnt = LcCntRaw,
+                      lc_tx_t    clk_byp_ack = Off,
+                      lc_tx_t    flash_rma_ack = Off);
     otp_i.valid = 1;
     otp_i.error = 0;
     otp_i.state = lc_state;
@@ -49,7 +50,7 @@
     otp_i.rma_token = 0;
     otp_i.id_state = LcIdBlank;
 
-    otp_hw_cfg_i.valid = lc_ctrl_pkg::Off;
+    otp_hw_cfg_i.valid = Off;
     otp_hw_cfg_i.data = 0;
 
     clk_byp_ack_i = clk_byp_ack;
@@ -58,15 +59,15 @@
     hashed_token = '0;
   endtask
 
-  task automatic set_clk_byp_ack(lc_ctrl_pkg::lc_tx_t val);
+  task automatic set_clk_byp_ack(lc_tx_t val);
     clk_byp_ack_i = val;
   endtask
 
-  task automatic set_flash_rma_ack(lc_ctrl_pkg::lc_tx_t val);
+  task automatic set_flash_rma_ack(lc_tx_t val);
     flash_rma_ack_i = val;
   endtask
 
-  task automatic set_hashed_token(lc_ctrl_pkg::lc_token_t val);
+  task automatic set_hashed_token(lc_token_t val);
     hashed_token = val;
   endtask
 endinterface
diff --git a/hw/ip/lc_ctrl/dv/env/lc_ctrl_scoreboard.sv b/hw/ip/lc_ctrl/dv/env/lc_ctrl_scoreboard.sv
index d79488e..2bd0536 100644
--- a/hw/ip/lc_ctrl/dv/env/lc_ctrl_scoreboard.sv
+++ b/hw/ip/lc_ctrl/dv/env/lc_ctrl_scoreboard.sv
@@ -15,7 +15,7 @@
   // TLM agent fifos
   uvm_tlm_analysis_fifo #(push_pull_item#(.HostDataWidth(OTP_PROG_HDATA_WIDTH),
                         .DeviceDataWidth(OTP_PROG_DDATA_WIDTH))) otp_prog_fifo;
-  uvm_tlm_analysis_fifo #(push_pull_item#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)))
+  uvm_tlm_analysis_fifo #(push_pull_item#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)))
                         otp_token_fifo;
   uvm_tlm_analysis_fifo #(alert_esc_seq_item) esc_wipe_secrets_fifo;
   uvm_tlm_analysis_fifo #(alert_esc_seq_item) esc_scrap_state_fifo;
diff --git a/hw/ip/lc_ctrl/dv/env/lc_ctrl_virtual_sequencer.sv b/hw/ip/lc_ctrl/dv/env/lc_ctrl_virtual_sequencer.sv
index 9b9a4ff..5505403 100644
--- a/hw/ip/lc_ctrl/dv/env/lc_ctrl_virtual_sequencer.sv
+++ b/hw/ip/lc_ctrl/dv/env/lc_ctrl_virtual_sequencer.sv
@@ -10,7 +10,7 @@
 
   push_pull_sequencer#(.HostDataWidth(OTP_PROG_HDATA_WIDTH),
                        .DeviceDataWidth(OTP_PROG_DDATA_WIDTH))    otp_prog_pull_sequencer_h;
-  push_pull_sequencer#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)) otp_token_pull_sequencer_h;
+  push_pull_sequencer#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)) otp_token_pull_sequencer_h;
 
   alert_esc_sequencer esc_wipe_secrets_sequencer_h;
   alert_esc_sequencer esc_scrap_state_sequencer_h;
diff --git a/hw/ip/lc_ctrl/dv/env/seq_lib/lc_ctrl_base_vseq.sv b/hw/ip/lc_ctrl/dv/env/seq_lib/lc_ctrl_base_vseq.sv
index 3d1923a..74c8ddc 100644
--- a/hw/ip/lc_ctrl/dv/env/seq_lib/lc_ctrl_base_vseq.sv
+++ b/hw/ip/lc_ctrl/dv/env/seq_lib/lc_ctrl_base_vseq.sv
@@ -13,8 +13,8 @@
   // various knobs to enable certain routines
   bit do_lc_ctrl_init = 1'b1;
 
-  rand lc_ctrl_pkg::lc_state_e lc_state;
-  rand lc_ctrl_pkg::lc_cnt_e   lc_cnt;
+  rand lc_ctrl_state_pkg::lc_state_e lc_state;
+  rand lc_ctrl_state_pkg::lc_cnt_e   lc_cnt;
 
   constraint lc_cnt_c {
     (lc_state != LcStRaw) -> (lc_cnt != LcCntRaw);
diff --git a/hw/ip/lc_ctrl/dv/tb.sv b/hw/ip/lc_ctrl/dv/tb.sv
index f2ef68f..3df7d12 100644
--- a/hw/ip/lc_ctrl/dv/tb.sv
+++ b/hw/ip/lc_ctrl/dv/tb.sv
@@ -8,7 +8,6 @@
   import dv_utils_pkg::*;
   import lc_ctrl_env_pkg::*;
   import lc_ctrl_test_pkg::*;
-  import lc_ctrl_pkg::*;
   import otp_ctrl_pkg::*;
   import jtag_agent_pkg::*;
 
@@ -34,7 +33,7 @@
   jtag_if      jtag_if();
   push_pull_if #(.HostDataWidth(OTP_PROG_HDATA_WIDTH), .DeviceDataWidth(OTP_PROG_DDATA_WIDTH))
                otp_prog_if(.clk(clk), .rst_n(rst_n));
-  push_pull_if #(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)) otp_token_if(.clk(clk), .rst_n(rst_n));
+  push_pull_if #(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)) otp_token_if(.clk(clk), .rst_n(rst_n));
 
   `DV_ALERT_IF_CONNECT
 
@@ -118,7 +117,7 @@
     uvm_config_db#(virtual push_pull_if#(.HostDataWidth(OTP_PROG_HDATA_WIDTH),
                                          .DeviceDataWidth(OTP_PROG_DDATA_WIDTH)))::
                    set(null, "*env.m_otp_prog_pull_agent*", "vif", otp_prog_if);
-    uvm_config_db#(virtual push_pull_if#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)))::
+    uvm_config_db#(virtual push_pull_if#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)))::
                    set(null, "*env.m_otp_token_pull_agent*", "vif", otp_token_if);
     $timeformat(-12, 0, " ps", 12);
     run_test();
diff --git a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env.sv b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env.sv
index 6d7832c..1b808d5 100644
--- a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env.sv
+++ b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env.sv
@@ -17,7 +17,7 @@
   push_pull_agent#(.DeviceDataWidth(FLASH_DATA_SIZE)) m_flash_addr_pull_agent;
   push_pull_agent#(.DeviceDataWidth(FLASH_DATA_SIZE)) m_flash_data_pull_agent;
   push_pull_agent#(.DeviceDataWidth(1), .HostDataWidth(LC_PROG_DATA_SIZE)) m_lc_prog_pull_agent;
-  push_pull_agent#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)) m_lc_token_pull_agent;
+  push_pull_agent#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)) m_lc_token_pull_agent;
 
   function void build_phase(uvm_phase phase);
     super.build_phase(phase);
@@ -54,9 +54,9 @@
         set(this, "m_lc_prog_pull_agent", "cfg", cfg.m_lc_prog_pull_agent_cfg);
 
     // build lc-otp token pull agent
-    m_lc_token_pull_agent = push_pull_agent#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth))
+    m_lc_token_pull_agent = push_pull_agent#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth))
         ::type_id::create("m_lc_token_pull_agent", this);
-    uvm_config_db#(push_pull_agent_cfg#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)))::
+    uvm_config_db#(push_pull_agent_cfg#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)))::
         set(this, "m_lc_token_pull_agent", "cfg", cfg.m_lc_token_pull_agent_cfg);
 
     // config mem virtual interface
diff --git a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_cfg.sv b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_cfg.sv
index 6c570b9..ec853fb 100644
--- a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_cfg.sv
+++ b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_cfg.sv
@@ -5,12 +5,15 @@
 class otp_ctrl_env_cfg extends cip_base_env_cfg #(.RAL_T(otp_ctrl_reg_block));
 
   // ext component cfgs
-  rand push_pull_agent_cfg#(.DeviceDataWidth(SRAM_DATA_SIZE))  m_sram_pull_agent_cfg[NumSramKeyReqSlots];
+  rand push_pull_agent_cfg#(.DeviceDataWidth(SRAM_DATA_SIZE))
+      m_sram_pull_agent_cfg[NumSramKeyReqSlots];
   rand push_pull_agent_cfg#(.DeviceDataWidth(OTBN_DATA_SIZE))  m_otbn_pull_agent_cfg;
   rand push_pull_agent_cfg#(.DeviceDataWidth(FLASH_DATA_SIZE)) m_flash_data_pull_agent_cfg;
   rand push_pull_agent_cfg#(.DeviceDataWidth(FLASH_DATA_SIZE)) m_flash_addr_pull_agent_cfg;
-  rand push_pull_agent_cfg#(.DeviceDataWidth(1), .HostDataWidth(LC_PROG_DATA_SIZE)) m_lc_prog_pull_agent_cfg;
-  rand push_pull_agent_cfg#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)) m_lc_token_pull_agent_cfg;
+  rand push_pull_agent_cfg#(.DeviceDataWidth(1), .HostDataWidth(LC_PROG_DATA_SIZE))
+      m_lc_prog_pull_agent_cfg;
+  rand push_pull_agent_cfg#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth))
+      m_lc_token_pull_agent_cfg;
 
   // ext interfaces
   mem_bkdr_vif mem_bkdr_vif;
@@ -51,8 +54,9 @@
                                .DeviceDataWidth(1))::type_id::create("m_lc_prog_pull_agent_cfg");
     m_lc_prog_pull_agent_cfg.agent_type = PullAgent;
 
-    m_lc_token_pull_agent_cfg = push_pull_agent_cfg#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth))::
-                                type_id::create("m_lc_token_pull_agent_cfg");
+    m_lc_token_pull_agent_cfg = push_pull_agent_cfg#(
+                                .HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth))::type_id
+                                ::create("m_lc_token_pull_agent_cfg");
     m_lc_token_pull_agent_cfg.agent_type = PullAgent;
     m_lc_token_pull_agent_cfg.in_bidirectional_mode = 1;
 
diff --git a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_pkg.sv b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_pkg.sv
index 02f1d5e..54068dd 100644
--- a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_pkg.sv
+++ b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_pkg.sv
@@ -18,6 +18,7 @@
   import otp_ctrl_pkg::*;
   import otp_ctrl_part_pkg::*;
   import lc_ctrl_pkg::*;
+  import lc_ctrl_state_pkg::*;
 
   // macro includes
   `include "uvm_macros.svh"
@@ -62,12 +63,11 @@
   parameter uint OTP_ARRAY_SIZE = (CreatorSwCfgSize + OwnerSwCfgSize + HwCfgSize + Secret0Size +
                                    Secret1Size + Secret2Size) / (TL_DW / 8);
 
-  // Total num of valid dai address, secret partitions have a granulity of 8, the rest have
-  // a granulity of 4.
+  // Total num of valid dai address, secret partitions have a granularity of 8, the rest have
+  // a granularity of 4. Subtract 8 for each digest.
   parameter uint DAI_ADDR_SIZE =
-      (CreatorSwCfgContentSize + OwnerSwCfgContentSize + HwCfgContentSize) / 4 +
-      // secret partitions does not have content size, so use total size
-      (Secret0Size + Secret1Size + Secret2Size) / 8 - 3;
+      (CreatorSwCfgSize + OwnerSwCfgSize + HwCfgSize - 3 * 8) / 4 +
+      (Secret0Size + Secret1Size + Secret2Size - 3 * 8) / 8 ;
 
   // sram rsp data has 1 bit for seed_valid, the rest are for key and nonce
   parameter uint SRAM_DATA_SIZE = 1 + SramKeyWidth + SramNonceWidth;
diff --git a/hw/ip/otp_ctrl/dv/env/otp_ctrl_scoreboard.sv b/hw/ip/otp_ctrl/dv/env/otp_ctrl_scoreboard.sv
index 50d3971..be8a73d 100644
--- a/hw/ip/otp_ctrl/dv/env/otp_ctrl_scoreboard.sv
+++ b/hw/ip/otp_ctrl/dv/env/otp_ctrl_scoreboard.sv
@@ -30,7 +30,7 @@
   uvm_tlm_analysis_fifo #(push_pull_item#(.DeviceDataWidth(FLASH_DATA_SIZE))) flash_data_fifo;
   uvm_tlm_analysis_fifo #(push_pull_item#(.DeviceDataWidth(1), .HostDataWidth(LC_PROG_DATA_SIZE)))
                         lc_prog_fifo;
-  uvm_tlm_analysis_fifo #(push_pull_item#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)))
+  uvm_tlm_analysis_fifo #(push_pull_item#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)))
                         lc_token_fifo;
 
   // local queues to hold incoming packets pending comparison
@@ -109,7 +109,7 @@
 
   virtual task process_lc_token_req();
     forever begin
-      push_pull_item#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)) rcv_item;
+      push_pull_item#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)) rcv_item;
       bit [SCRAMBLE_DATA_SIZE-1:0] exp_data_0, exp_data_1;
       lc_token_fifo.get(rcv_item);
       exp_data_0 = present_encode_with_final_const(
diff --git a/hw/ip/otp_ctrl/dv/env/otp_ctrl_virtual_sequencer.sv b/hw/ip/otp_ctrl/dv/env/otp_ctrl_virtual_sequencer.sv
index 006af34..8b7f99e 100644
--- a/hw/ip/otp_ctrl/dv/env/otp_ctrl_virtual_sequencer.sv
+++ b/hw/ip/otp_ctrl/dv/env/otp_ctrl_virtual_sequencer.sv
@@ -14,7 +14,7 @@
   push_pull_sequencer#(.DeviceDataWidth(OTBN_DATA_SIZE)) otbn_pull_sequencer_h;
   push_pull_sequencer#(.DeviceDataWidth(FLASH_DATA_SIZE)) flash_data_pull_sequencer_h;
   push_pull_sequencer#(.DeviceDataWidth(FLASH_DATA_SIZE)) flash_addr_pull_sequencer_h;
-  push_pull_sequencer#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)) lc_token_pull_sequencer_h;
+  push_pull_sequencer#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)) lc_token_pull_sequencer_h;
   push_pull_sequencer#(.DeviceDataWidth(1), .HostDataWidth(LC_PROG_DATA_SIZE))
                        lc_prog_pull_sequencer_h;
 endclass
diff --git a/hw/ip/otp_ctrl/dv/env/seq_lib/otp_ctrl_base_vseq.sv b/hw/ip/otp_ctrl/dv/env/seq_lib/otp_ctrl_base_vseq.sv
index 2c327aa..3f99aba 100644
--- a/hw/ip/otp_ctrl/dv/env/seq_lib/otp_ctrl_base_vseq.sv
+++ b/hw/ip/otp_ctrl/dv/env/seq_lib/otp_ctrl_base_vseq.sv
@@ -187,8 +187,8 @@
   virtual task req_lc_transition();
     // TODO: this two variables are constraints to lc_prog_pull_seq once it supports data
     // constraint
-    lc_ctrl_pkg::lc_state_e lc_state;
-    lc_ctrl_pkg::lc_cnt_e lc_cnt;
+    lc_ctrl_state_pkg::lc_state_e lc_state;
+    lc_ctrl_state_pkg::lc_cnt_e lc_cnt;
     push_pull_host_seq#(.HostDataWidth(LC_PROG_DATA_SIZE), .DeviceDataWidth(1))
                         lc_prog_pull_seq;
     `uvm_create_on(lc_prog_pull_seq, p_sequencer.lc_prog_pull_sequencer_h);
@@ -199,7 +199,7 @@
   endtask
 
   virtual task req_lc_token();
-    push_pull_host_seq#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)) lc_token_pull_seq;
+    push_pull_host_seq#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)) lc_token_pull_seq;
     `uvm_create_on(lc_token_pull_seq, p_sequencer.lc_token_pull_sequencer_h);
     `DV_CHECK_RANDOMIZE_FATAL(lc_token_pull_seq)
     `uvm_send(lc_token_pull_seq)
diff --git a/hw/ip/otp_ctrl/dv/tb.sv b/hw/ip/otp_ctrl/dv/tb.sv
index 6815cb0..f391852c 100644
--- a/hw/ip/otp_ctrl/dv/tb.sv
+++ b/hw/ip/otp_ctrl/dv/tb.sv
@@ -9,7 +9,6 @@
   import otp_ctrl_env_pkg::*;
   import otp_ctrl_test_pkg::*;
   import otp_ctrl_reg_pkg::*;
-  import lc_ctrl_pkg::*;
 
   // macro includes
   `include "uvm_macros.svh"
@@ -38,7 +37,7 @@
   // lc_otp interfaces
   push_pull_if #(.HostDataWidth(LC_PROG_DATA_SIZE), .DeviceDataWidth(1))
                  lc_prog_if(.clk(clk), .rst_n(rst_n));
-  push_pull_if #(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)) lc_token_if(.clk(clk), .rst_n(rst_n));
+  push_pull_if #(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)) lc_token_if(.clk(clk), .rst_n(rst_n));
 
   push_pull_if #(.DeviceDataWidth(SRAM_DATA_SIZE))
                  sram_if[NumSramKeyReqSlots](.clk(clk), .rst_n(rst_n));
@@ -146,7 +145,7 @@
                    "*env.m_flash_addr_pull_agent*", "vif", flash_addr_if);
     uvm_config_db#(virtual push_pull_if#(.HostDataWidth(LC_PROG_DATA_SIZE), .DeviceDataWidth(1)))::
                    set(null, "*env.m_lc_prog_pull_agent*", "vif", lc_prog_if);
-    uvm_config_db#(virtual push_pull_if#(.HostDataWidth(lc_ctrl_pkg::LcTokenWidth)))::
+    uvm_config_db#(virtual push_pull_if#(.HostDataWidth(lc_ctrl_state_pkg::LcTokenWidth)))::
                    set(null, "*env.m_lc_token_pull_agent*", "vif", lc_token_if);
 
     uvm_config_db#(intr_vif)::set(null, "*.env", "intr_vif", intr_if);