Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge dev-integrate -> main #394

Merged
merged 22 commits into from
Jan 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
964f152
Merge pull request #320 from chipsalliance/main
calebofearth Dec 1, 2023
f28fb98
Merge pull request #353 from chipsalliance/main
calebofearth Dec 13, 2023
91dde23
Merge pull request #388 from chipsalliance/main
calebofearth Jan 18, 2024
aacb888
Merged PR 137951: Increase ROM nightly regression timeout from 12 to …
calebofearth Dec 8, 2023
6b3f0f5
Merged PR 138140: Add delay to let KV writes finish before clear_secr…
upadhyayulakiran Dec 11, 2023
fb854a2
Merged PR 138250: Patch for QVIP failure due to soc ifc arb perf bug
Nitsirks Dec 13, 2023
86d39ff
Merged PR 138791: [UVM] Fix a prediction bug that results in missed '…
calebofearth Dec 14, 2023
781db29
Merged PR 138845: Filesystem merge from caliptra-rtl GitHub to MSFT i…
calebofearth Dec 15, 2023
e6f173c
Merged PR 140496: [UVM] Testcase enhancements
calebofearth Dec 29, 2023
4b83147
Merged PR 140812: [UVM] Fix for stale error report during rst sequence
calebofearth Dec 29, 2023
f7cb22f
Merged PR 141156: Delayed prediction for clear_secrets reg
upadhyayulakiran Jan 3, 2024
e3fc3b0
Merged PR 141380: [SVA] Add assertions for bus-idle condition during …
calebofearth Jan 4, 2024
ca09687
Merged PR 141389: Reenable cg tests in L0 regression
upadhyayulakiran Jan 4, 2024
31c3fa7
Merged PR 142708: [Regression] Logging and disk space fixups
calebofearth Jan 10, 2024
29b8dc4
Add smoke_test_clk_gating yml file
calebofearth Jan 19, 2024
40a1136
Add environment variables for building Caliptra UVM testbench
calebofearth Jan 19, 2024
97000a0
Point to sglint waiver files in Microsoft Internal Build structure
calebofearth Jan 19, 2024
6cfcb48
Fix ref to run_test_makefile (MSFT internal tool)
calebofearth Jan 19, 2024
51240a2
Remove duplicate entry from file list
calebofearth Jan 19, 2024
7a84b7c
Merge pull request #389 from chipsalliance/dev-msft-20230118
calebofearth Jan 19, 2024
8002786
Merge pull request #393 from chipsalliance/dev-msft
calebofearth Jan 20, 2024
a8b0b3d
Add Apache license headers to GitHub workflow scripts
calebofearth Jan 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/scripts/build_tests_matrix.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
#!/usr/bin/env python3
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import os
import yaml

Expand Down
13 changes: 13 additions & 0 deletions .github/scripts/gdb_test.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This script runs Verilator RTL simulation and OpenOCD in background, invokes
# the supplied test command and shuts everything down.
Expand Down
13 changes: 13 additions & 0 deletions .github/scripts/openocd_test.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This script runs Verilator RTL simulation in background and invokes OpenOCD
# to perform JTAG access test
Expand Down
14 changes: 14 additions & 0 deletions .github/scripts/utils.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# Colors
COLOR_OFF='\033[0m'
Expand Down
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,12 @@ The UVM Framework generation tool was used to create the baseline UVM testbench
- UVM 1.1d installation
- Mentor Graphics UVM-Framework installation

Steps:<BR>
**Environment Variables**:<BR>
`UVM_HOME`: Filesystem path to the parent directory containing SystemVerilog source code for the UVM library of the desired version.
`UVMF_HOME`: Filesystem path to the parent directory containing source code (uvmf_base_pkg) for the UVM Frameworks library, a tool available from Mentor Graphics for generating baseline UVM projects.
`QUESTA_MVC_HOME`: Filesystem path to the parent directory containing source code for Mentor Graphics QVIP, the verification library from which AHB/APB UVM agents are pulled in the Caliptra UVM environment.

**Steps:**<BR>
1. Compile UVM 1.1d library
1. Compile the AHB/APB QVIP source
1. Compile the Mentor Graphics UVM-Frameworks base library
Expand Down Expand Up @@ -244,7 +249,7 @@ The UVM Framework generation tool was used to create the baseline UVM testbench
- UVM 1.1d installation
- Mentor Graphics UVM-Framework installation

Steps:<BR>
**Steps:**<BR>
1. Compile UVM 1.1d library
1. Compile the AHB/APB QVIP source
1. Compile the Mentor Graphics UVM-Frameworks base library
Expand Down
2 changes: 1 addition & 1 deletion src/ahb_lite_bus/config/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ targets:
rtl_lint:
directories: []
waiver_files:
- $COMPILE_ROOT/config/design_lint/ahb_lite_bus/sglint_waivers
- $MSFT_REPO_ROOT/src/ahb_lite_bus/config/design_lint/ahb_lite_bus/sglint_waivers

1 change: 0 additions & 1 deletion src/caliptra_prim/config/caliptra_prim_pkg.vf
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,3 @@ ${CALIPTRA_ROOT}/src/caliptra_prim/rtl/caliptra_prim_mubi_pkg.sv
${CALIPTRA_ROOT}/src/caliptra_prim/rtl/caliptra_prim_cipher_pkg.sv
${CALIPTRA_ROOT}/src/caliptra_prim/rtl/caliptra_prim_pkg.sv
${CALIPTRA_ROOT}/src/caliptra_prim/rtl/caliptra_prim_sparse_fsm_pkg.sv
${CALIPTRA_ROOT}/src/caliptra_prim/rtl/caliptra_prim_sparse_fsm_pkg.sv
2 changes: 1 addition & 1 deletion src/datavault/config/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ targets:
rtl_lint:
directories: []
waiver_files:
- $COMPILE_ROOT/config/design_lint/datavault/sglint_waivers
- $MSFT_REPO_ROOT/src/datavault/config/design_lint/datavault/sglint_waivers
black_box:
- dv_reg
global:
Expand Down
2 changes: 1 addition & 1 deletion src/doe/config/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ targets:
rtl_lint:
directories: []
waiver_files:
- $COMPILE_ROOT/config/design_lint/doe_ctrl/sglint_waivers
- $MSFT_REPO_ROOT/src/doe/config/design_lint/doe_ctrl/sglint_waivers
black_box:
- doe_reg
---
Expand Down
2 changes: 1 addition & 1 deletion src/ecc/config/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ targets:
rtl_lint:
directories: []
waiver_files:
- $COMPILE_ROOT/config/design_lint/ecc_top/sglint_waivers
- $MSFT_REPO_ROOT/src/ecc/config/design_lint/ecc_top/sglint_waivers
black_box:
- ecc_reg
---
Expand Down
2 changes: 1 addition & 1 deletion src/hmac/config/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ targets:
rtl_lint:
directories: []
waiver_files:
- $COMPILE_ROOT/config/design_lint/hmac_ctrl/sglint_waivers
- $MSFT_REPO_ROOT/src/hmac/config/design_lint/hmac_ctrl/sglint_waivers
black_box:
- hmac_reg
---
Expand Down
57 changes: 42 additions & 15 deletions src/integration/asserts/caliptra_top_sva.sv
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,29 @@
`else
`define CPTRA_TB_TOP_NAME caliptra_top_tb
`endif
`define CPTRA_TOP_PATH `CPTRA_TB_TOP_NAME.caliptra_top_dut
`define KEYVAULT_PATH `CPTRA_TOP_PATH.key_vault1
`define DOE_INST_PATH `CPTRA_TOP_PATH.doe.doe_inst
`define DOE_PATH `DOE_INST_PATH.doe_fsm1
`define DOE_REG_PATH `DOE_INST_PATH.i_doe_reg
`define SERVICES_PATH `CPTRA_TB_TOP_NAME.tb_services_i
`define SHA512_PATH `CPTRA_TOP_PATH.sha512.sha512_inst
`define HMAC_PATH `CPTRA_TOP_PATH.hmac.hmac_inst
`define ECC_PATH `CPTRA_TOP_PATH.ecc_top1.ecc_dsa_ctrl_i
`define ECC_REG_PATH `CPTRA_TOP_PATH.ecc_top1.ecc_reg1
`define SHA256_PATH `CPTRA_TOP_PATH.sha256.sha256_inst
`define SHA512_MASKED_PATH `CPTRA_TOP_PATH.ecc_top1.ecc_dsa_ctrl_i.ecc_hmac_drbg_interface_i.hmac_drbg_i.HMAC_K.u_sha512_core_h1
`define SOC_IFC_TOP_PATH `CPTRA_TOP_PATH.soc_ifc_top1
`define WDT_PATH `SOC_IFC_TOP_PATH.i_wdt
`define CPTRA_TOP_PATH `CPTRA_TB_TOP_NAME.caliptra_top_dut
`define KEYVAULT_PATH `CPTRA_TOP_PATH.key_vault1
`define KEYVAULT_REG_PATH `KEYVAULT_PATH.kv_reg1
`define PCRVAULT_PATH `CPTRA_TOP_PATH.pcr_vault1
`define PCRVAULT_REG_PATH `PCRVAULT_PATH.pv_reg1
`define DATA_VAULT_PATH `CPTRA_TOP_PATH.data_vault1
`define DATA_VAULT_REG_PATH `DATA_VAULT_PATH.dv_reg1
`define DOE_INST_PATH `CPTRA_TOP_PATH.doe.doe_inst
`define DOE_PATH `DOE_INST_PATH.doe_fsm1
`define DOE_REG_PATH `DOE_INST_PATH.i_doe_reg
`define SERVICES_PATH `CPTRA_TB_TOP_NAME.tb_services_i
`define SHA512_PATH `CPTRA_TOP_PATH.sha512.sha512_inst
`define HMAC_PATH `CPTRA_TOP_PATH.hmac.hmac_inst
`define HMAC_REG_PATH `HMAC_PATH.i_hmac_reg
`define ECC_PATH `CPTRA_TOP_PATH.ecc_top1.ecc_dsa_ctrl_i
`define ECC_REG_PATH `CPTRA_TOP_PATH.ecc_top1.ecc_reg1
`define SHA256_PATH `CPTRA_TOP_PATH.sha256.sha256_inst
`define SHA512_MASKED_PATH `CPTRA_TOP_PATH.ecc_top1.ecc_dsa_ctrl_i.ecc_hmac_drbg_interface_i.hmac_drbg_i.HMAC_K.u_sha512_core_h1
`define SOC_IFC_TOP_PATH `CPTRA_TOP_PATH.soc_ifc_top1
`define WDT_PATH `SOC_IFC_TOP_PATH.i_wdt

`define SVA_RDC_CLK `CPTRA_TOP_PATH.rdc_clk_cg
`define CPTRA_FW_UPD_RST_WINDOW `SOC_IFC_TOP_PATH.i_soc_ifc_boot_fsm.fw_update_rst_window
`ifdef UVMF_CALIPTRA_TOP
`define SVA_CLK `CPTRA_TB_TOP_NAME.clk
`define SVA_RST `CPTRA_TB_TOP_NAME.soc_ifc_subenv_soc_ifc_ctrl_agent_bus.cptra_rst_b
Expand Down Expand Up @@ -552,5 +559,25 @@ module caliptra_top_sva
`ECC_PATH.ecc_arith_unit_i.ecc_instr_s.opcode.mult_we |-> (`ECC_PATH.ecc_arith_unit_i.mult_res_s < `ECC_PATH.ecc_arith_unit_i.adder_prime)
)
else $display("SVA ERROR: ECC multiplier result is not valid!");
endmodule

// Bus IDLE on Firmware Update Reset
fw_upd_rst_doe_idle: assert property (@(posedge `SVA_RDC_CLK) `CPTRA_FW_UPD_RST_WINDOW |-> !`DOE_REG_PATH.s_cpuif_req)
else $display("SVA ERROR: DOE bus not idle after Firmware Update Reset!");
fw_upd_rst_ecc_idle: assert property (@(posedge `SVA_RDC_CLK) `CPTRA_FW_UPD_RST_WINDOW |-> !`ECC_REG_PATH.s_cpuif_req)
else $display("SVA ERROR: ECC bus not idle after Firmware Update Reset!");
fw_upd_rst_hmac_idle: assert property (@(posedge `SVA_RDC_CLK) `CPTRA_FW_UPD_RST_WINDOW |-> !`HMAC_REG_PATH.s_cpuif_req)
else $display("SVA ERROR: HMAC bus not idle after Firmware Update Reset!");
fw_upd_rst_kv_idle: assert property (@(posedge `SVA_RDC_CLK) `CPTRA_FW_UPD_RST_WINDOW |-> !`KEYVAULT_REG_PATH.s_cpuif_req)
else $display("SVA ERROR: Key Vault bus not idle after Firmware Update Reset!");
fw_upd_rst_pv_idle: assert property (@(posedge `SVA_RDC_CLK) `CPTRA_FW_UPD_RST_WINDOW |-> !`PCRVAULT_REG_PATH.s_cpuif_req)
else $display("SVA ERROR: PCR Vault bus not idle after Firmware Update Reset!");
fw_upd_rst_dv_idle: assert property (@(posedge `SVA_RDC_CLK) `CPTRA_FW_UPD_RST_WINDOW |-> !`DATA_VAULT_REG_PATH.s_cpuif_req)
else $display("SVA ERROR: Data Vault bus not idle after Firmware Update Reset!");
fw_upd_rst_sha256_idle: assert property (@(posedge `SVA_RDC_CLK) `CPTRA_FW_UPD_RST_WINDOW |-> !`SHA256_PATH.i_sha256_reg.s_cpuif_req)
else $display("SVA ERROR: SHA256 bus not idle after Firmware Update Reset!");
fw_upd_rst_sha512_idle: assert property (@(posedge `SVA_RDC_CLK) `CPTRA_FW_UPD_RST_WINDOW |-> !`SHA512_PATH.i_sha512_reg.s_cpuif_req)
else $display("SVA ERROR: SHA512 bus not idle after Firmware Update Reset!");
fw_upd_rst_soc_ifc_idle: assert property (@(posedge `SVA_RDC_CLK) `CPTRA_FW_UPD_RST_WINDOW |-> !`SOC_IFC_TOP_PATH.i_ahb_slv_sif_soc_ifc.dv)
else $display("SVA ERROR: SOC_IFC bus not idle after Firmware Update Reset!");

endmodule
4 changes: 2 additions & 2 deletions src/integration/config/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ targets:
tops: [caliptra_top]
rtl_lint:
waiver_files:
- $COMPILE_ROOT/config/design_lint/sglint_waivers
- $MSFT_REPO_ROOT/src/integration/config/design_lint/sglint_waivers
black_box:
- el2_veer_wrapper
cdc:
Expand Down Expand Up @@ -109,7 +109,7 @@ targets:
- $COMPILE_ROOT/tb/caliptra_top_tb.sv
tops: [caliptra_top_tb]
sim:
pre_exec: '$MSFT_TOOLS/scripts/run_test_makefile && echo "[PRE-EXEC] Copying ECC vector generator to ${pwd}" && cp $COMPILE_ROOT/../ecc/tb/ecdsa_secp384r1.exe .
pre_exec: '$MSFT_SCRIPTS_DIR/run_test_makefile && echo "[PRE-EXEC] Copying ECC vector generator to ${pwd}" && cp $COMPILE_ROOT/../ecc/tb/ecdsa_secp384r1.exe .
&& echo "[PRE-EXEC] Copying DOE vector generator to ${pwd}" && cp $COMPILE_ROOT/../doe/tb/doe_test_gen.py .'
global:
tool:
Expand Down
6 changes: 3 additions & 3 deletions src/integration/stimulus/L0_regression.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ contents:
#add back for aes
#- ../test_suites/smoke_test_aes/smoke_test_aes.yml
- ../test_suites/smoke_test_mbox/smoke_test_mbox.yml
#- ../test_suites/smoke_test_mbox_cg/smoke_test_mbox_cg.yml
- ../test_suites/smoke_test_mbox_cg/smoke_test_mbox_cg.yml
- ../test_suites/smoke_test_sha512/smoke_test_sha512.yml
- ../test_suites/smoke_test_sha256/smoke_test_sha256.yml
- ../test_suites/smoke_test_sha_accel/smoke_test_sha_accel.yml
Expand Down Expand Up @@ -37,7 +37,7 @@ contents:
- ../test_suites/smoke_test_kv_hmac_flow/smoke_test_kv_hmac_flow.yml
- ../test_suites/smoke_test_kv_sha512_flow/smoke_test_kv_sha512_flow.yml
- ../test_suites/smoke_test_kv_crypto_flow/smoke_test_kv_crypto_flow.yml
#- ../test_suites/smoke_test_kv_cg/smoke_test_kv_cg.yml
- ../test_suites/smoke_test_kv_cg/smoke_test_kv_cg.yml
- ../test_suites/pv_hash_and_sign/pv_hash_and_sign.yml
- ../test_suites/smoke_test_pcr_signing/smoke_test_pcr_signing.yml
- ../test_suites/smoke_test_fw_kv_backtoback_hmac/smoke_test_fw_kv_backtoback_hmac.yml
Expand All @@ -47,7 +47,7 @@ contents:
- ../test_suites/smoke_test_doe_rand/smoke_test_doe_rand.yml
- ../test_suites/smoke_test_doe_scan/smoke_test_doe_scan.yml
- ../test_suites/smoke_test_zeroize_crypto/smoke_test_zeroize_crypto.yml
#- ../test_suites/smoke_test_doe_cg/smoke_test_doe_cg.yml
- ../test_suites/smoke_test_doe_cg/smoke_test_doe_cg.yml
# data vault tests
- ../test_suites/smoke_test_datavault_basic/smoke_test_datavault_basic.yml
- ../test_suites/smoke_test_datavault_reset/smoke_test_datavault_reset.yml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ contents:
path: ""
config:
params:
# 12 hours
timeout: 720
# 24 hours
timeout: 1440
weight: 100
generations: 1
formats:
Expand Down
16 changes: 8 additions & 8 deletions src/integration/tb/caliptra_top_tb_services.sv
Original file line number Diff line number Diff line change
Expand Up @@ -1059,7 +1059,7 @@ endgenerate //IV_NO
wb_valid <= `DEC.dec_i0_wen_r;
wb_dest <= `DEC.dec_i0_waddr_r;
wb_data <= `DEC.dec_i0_wdata_r;
if (caliptra_top_dut.trace_rv_i_valid_ip && !$test$plusargs("CLP_REGRESSION")) begin
if (caliptra_top_dut.trace_rv_i_valid_ip && $test$plusargs("CLP_BUS_LOGS")) begin

$fwrite(tp,"%b,%h,%h,%0h,%0h,3,%b,%h,%h,%b\n", caliptra_top_dut.trace_rv_i_valid_ip, 0, caliptra_top_dut.trace_rv_i_address_ip,
0, caliptra_top_dut.trace_rv_i_insn_ip,caliptra_top_dut.trace_rv_i_exception_ip,caliptra_top_dut.trace_rv_i_ecause_ip,
Expand All @@ -1074,18 +1074,18 @@ endgenerate //IV_NO
);
end
if(`DEC.dec_nonblock_load_wen) begin
if (!$test$plusargs("CLP_REGRESSION")) $fwrite (el, "%10d : %32s=%h ; nbL\n", cycleCnt, abi_reg[`DEC.dec_nonblock_load_waddr], `DEC.lsu_nonblock_load_data);
if ($test$plusargs("CLP_BUS_LOGS")) $fwrite (el, "%10d : %32s=%h ; nbL\n", cycleCnt, abi_reg[`DEC.dec_nonblock_load_waddr], `DEC.lsu_nonblock_load_data);
caliptra_top_tb_services.gpr[0][`DEC.dec_nonblock_load_waddr] = `DEC.lsu_nonblock_load_data;
end
if(`DEC.exu_div_wren) begin
if (!$test$plusargs("CLP_REGRESSION")) $fwrite (el, "%10d : %32s=%h ; nbD\n", cycleCnt, abi_reg[`DEC.div_waddr_wb], `DEC.exu_div_result);
if ($test$plusargs("CLP_BUS_LOGS")) $fwrite (el, "%10d : %32s=%h ; nbD\n", cycleCnt, abi_reg[`DEC.div_waddr_wb], `DEC.exu_div_result);
caliptra_top_tb_services.gpr[0][`DEC.div_waddr_wb] = `DEC.exu_div_result;
end
end

// IFU Initiator monitor
always @(posedge clk) begin
if (!$test$plusargs("CLP_REGRESSION"))
if (!$test$plusargs("CLP_BUS_LOGS"))
$fstrobe(ifu_p, "%10d : 0x%0h %h %b %h %h %h %b 0x%08h_%08h %b %b\n", cycleCnt,
caliptra_top_dut.ic_haddr, caliptra_top_dut.ic_hburst, caliptra_top_dut.ic_hmastlock,
caliptra_top_dut.ic_hprot, caliptra_top_dut.ic_hsize, caliptra_top_dut.ic_htrans,
Expand All @@ -1095,7 +1095,7 @@ endgenerate //IV_NO

// LSU Initiator monitor
always @(posedge clk) begin
if (!$test$plusargs("CLP_REGRESSION"))
if ($test$plusargs("CLP_BUS_LOGS"))
$fstrobe(lsu_p, "%10d : 0x%0h %h %h %b 0x%08h_%08h 0x%08h_%08h %b %b\n", cycleCnt,
caliptra_top_dut.initiator_inst.haddr, caliptra_top_dut.initiator_inst.hsize, caliptra_top_dut.initiator_inst.htrans,
caliptra_top_dut.initiator_inst.hwrite, caliptra_top_dut.initiator_inst.hrdata[63:32], caliptra_top_dut.initiator_inst.hrdata[31:0],
Expand All @@ -1108,7 +1108,7 @@ endgenerate //IV_NO
generate
for (sl_i = 0; sl_i < `CALIPTRA_AHB_SLAVES_NUM; sl_i = sl_i + 1) begin: gen_responder_inf_monitor
always @(posedge clk) begin
if (!$test$plusargs("CLP_REGRESSION"))
if ($test$plusargs("CLP_BUS_LOGS"))
$fstrobe(sl_p[sl_i], "%10d : 0x%0h %h %h %b 0x%08h_%08h 0x%08h_%08h %b %b %b %b\n", cycleCnt,
caliptra_top_dut.responder_inst[sl_i].haddr, caliptra_top_dut.responder_inst[sl_i].hsize, caliptra_top_dut.responder_inst[sl_i].htrans,
caliptra_top_dut.responder_inst[sl_i].hwrite, caliptra_top_dut.responder_inst[sl_i].hrdata[63:32], caliptra_top_dut.responder_inst[sl_i].hrdata[31:0],
Expand Down Expand Up @@ -1167,13 +1167,13 @@ endgenerate //IV_NO
if (!hex_file_is_empty) $readmemh("dccm.hex", dummy_dccm_preloader.ram,0,32'h0001_FFFF);
hex_file_is_empty = $system("test -s iccm.hex");
if (!hex_file_is_empty) $readmemh("iccm.hex", dummy_iccm_preloader.ram,0,32'h0001_FFFF);
if (!$test$plusargs("CLP_REGRESSION")) begin
if ($test$plusargs("CLP_BUS_LOGS")) begin
tp = $fopen("trace_port.csv","w");
el = $fopen("exec.log","w");
ifu_p = $fopen("ifu_master_ahb_trace.log", "w");
lsu_p = $fopen("lsu_master_ahb_trace.log", "w");
end
if (!$test$plusargs("CLP_REGRESSION")) begin
if ($test$plusargs("CLP_BUS_LOGS")) begin
$fwrite (el, "// Cycle : #inst 0 pc opcode reg=value ; mnemonic\n");
$fwrite(ifu_p, "// Cycle: ic_haddr ic_hburst ic_hmastlock ic_hprot ic_hsize ic_htrans ic_hwrite ic_hrdata ic_hwdata ic_hready ic_hresp\n");
$fwrite(lsu_p, "// Cycle: lsu_haddr lsu_hsize lsu_htrans lsu_hwrite lsu_hrdata lsu_hwdata lsu_hready lsu_hresp\n");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
---
seed: 1
testname: smoke_test_clk_gating
Loading