[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);