[lc_ctrl/otp_ctrl] Align DV environments
Signed-off-by: Michael Schaffner <msf@opentitan.org>
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 941f7b6..a25fe2a 100644
--- a/hw/ip/lc_ctrl/dv/env/lc_ctrl_if.sv
+++ b/hw/ip/lc_ctrl/dv/env/lc_ctrl_if.sv
@@ -23,6 +23,7 @@
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_ctrl_pkg::lc_keymgr_div_t lc_keymgr_div_o;
diff --git a/hw/ip/lc_ctrl/dv/tb.sv b/hw/ip/lc_ctrl/dv/tb.sv
index 5cda15c..351cfed 100644
--- a/hw/ip/lc_ctrl/dv/tb.sv
+++ b/hw/ip/lc_ctrl/dv/tb.sv
@@ -82,6 +82,7 @@
.lc_seed_hw_rd_en_o (lc_ctrl_if.lc_seed_hw_rd_en_o),
.lc_keymgr_en_o (lc_ctrl_if.lc_keymgr_en_o),
.lc_escalate_en_o (lc_ctrl_if.lc_escalate_en_o),
+ .lc_check_byp_en_o (lc_ctrl_if.lc_check_byp_en_o),
.lc_clk_byp_req_o (),
.lc_clk_byp_ack_i (lc_ctrl_pkg::On),
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 3502ce8..b78137b 100644
--- a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env.sv
+++ b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env.sv
@@ -80,6 +80,10 @@
cfg.lc_escalate_en_vif)) begin
`uvm_fatal(get_full_name(), "failed to get lc_escalate_en_vif from uvm_config_db")
end
+ if (!uvm_config_db#(lc_check_byp_en_vif)::get(this, "", "lc_check_byp_en_vif",
+ cfg.lc_check_byp_en_vif)) begin
+ `uvm_fatal(get_full_name(), "failed to get lc_check_byp_en_vif from uvm_config_db")
+ end
// config mem virtual interface
if (!uvm_config_db#(mem_bkdr_vif)::get(this, "", "mem_bkdr_vif", cfg.mem_bkdr_vif)) begin
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 d8bfefb..6ecbc8c 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
@@ -18,6 +18,7 @@
lc_seed_hw_rd_en_vif lc_seed_hw_rd_en_vif;
lc_dft_en_vif lc_dft_en_vif;
lc_escalate_en_vif lc_escalate_en_vif;
+ lc_check_byp_en_vif lc_check_byp_en_vif;
mem_bkdr_vif mem_bkdr_vif;
otp_ctrl_output_data_vif otp_ctrl_output_data_vif;
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 019f28d..4e04cc1 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
@@ -129,6 +129,7 @@
typedef virtual pins_if #(4) lc_seed_hw_rd_en_vif;
typedef virtual pins_if #(4) lc_dft_en_vif;
typedef virtual pins_if #(4) lc_escalate_en_vif;
+ typedef virtual pins_if #(4) lc_check_byp_en_vif;
typedef virtual mem_bkdr_if mem_bkdr_vif;
typedef virtual otp_ctrl_output_data_if otp_ctrl_output_data_vif;
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 095a705..cecc018 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
@@ -28,6 +28,7 @@
cfg.lc_seed_hw_rd_en_vif.drive(lc_ctrl_pkg::Off);
cfg.lc_dft_en_vif.drive(lc_ctrl_pkg::Off);
cfg.lc_escalate_en_vif.drive(lc_ctrl_pkg::Off);
+ cfg.lc_check_byp_en_vif.drive(lc_ctrl_pkg::Off);
if (do_otp_ctrl_init) otp_ctrl_init();
if (do_otp_pwr_init) otp_pwr_init();
endtask
diff --git a/hw/ip/otp_ctrl/dv/tb.sv b/hw/ip/otp_ctrl/dv/tb.sv
index 260d1a5..c2753b5 100644
--- a/hw/ip/otp_ctrl/dv/tb.sv
+++ b/hw/ip/otp_ctrl/dv/tb.sv
@@ -17,7 +17,8 @@
wire clk, rst_n;
wire devmode;
- wire lc_ctrl_pkg::lc_tx_e lc_creator_seed_sw_rw_en, lc_seed_hw_rd_en, lc_dft_en, lc_escalate_en;
+ wire lc_ctrl_pkg::lc_tx_e lc_dft_en, lc_escalate_en, lc_check_byp_en;
+ wire lc_ctrl_pkg::lc_tx_e lc_creator_seed_sw_rw_en, lc_seed_hw_rd_en;
wire [OtpPwrIfWidth-1:0] pwr_otp;
wire otp_ctrl_pkg::flash_otp_key_req_t flash_req;
wire otp_ctrl_pkg::flash_otp_key_rsp_t flash_rsp;
@@ -56,6 +57,7 @@
pins_if #(4) lc_seed_hw_rd_en_if(lc_seed_hw_rd_en);
pins_if #(4) lc_dft_en_if(lc_dft_en);
pins_if #(4) lc_escalate_en_if(lc_escalate_en);
+ pins_if #(4) lc_check_byp_en_if(lc_check_byp_en);
tl_if tl_if(.clk(clk), .rst_n(rst_n));
@@ -95,6 +97,7 @@
.lc_seed_hw_rd_en_i (lc_seed_hw_rd_en),
.lc_dft_en_i (lc_dft_en),
.lc_escalate_en_i (lc_escalate_en),
+ .lc_check_byp_en_i (lc_check_byp_en),
.otp_lc_data_o (otp_ctrl_output_data_if.lc_data),
// keymgr
.otp_keymgr_key_o (otp_ctrl_output_data_if.keymgr_key),
@@ -166,6 +169,8 @@
lc_seed_hw_rd_en_if);
uvm_config_db#(lc_dft_en_vif)::set(null, "*.env", "lc_dft_en_vif", lc_dft_en_if);
uvm_config_db#(lc_escalate_en_vif)::set(null, "*.env", "lc_escalate_en_vif", lc_escalate_en_if);
+ uvm_config_db#(lc_check_byp_en_vif)::set(null, "*.env", "lc_check_byp_en_vif",
+ lc_check_byp_en_if);
uvm_config_db#(mem_bkdr_vif)::set(null, "*.env", "mem_bkdr_vif",
`OTP_CTRL_MEM_HIER.mem_bkdr_if);