[otbn,dv] Rename "fixed" covergroup to "ecall" Since ECALL is the only instruction that uses this (pseudo-)encoding, let's name it more descriptively. Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
diff --git a/hw/ip/otbn/doc/dv/index.md b/hw/ip/otbn/doc/dv/index.md index c9eaa20..90580b9 100644 --- a/hw/ip/otbn/doc/dv/index.md +++ b/hw/ip/otbn/doc/dv/index.md
@@ -383,7 +383,7 @@ #### ECALL This instruction uses the `I` encoding schema, but with every field set to a fixed value. -Encoding-level coverpoints are tracked in covergroup `enc_fixed_cg`. +Encoding-level coverpoints are tracked in covergroup `enc_ecall_cg`. No special coverage points for this instruction.
diff --git a/hw/ip/otbn/dv/uvm/env/otbn_env_cov.sv b/hw/ip/otbn/dv/uvm/env/otbn_env_cov.sv index ef74440..96ff69e 100644 --- a/hw/ip/otbn/dv/uvm/env/otbn_env_cov.sv +++ b/hw/ip/otbn/dv/uvm/env/otbn_env_cov.sv
@@ -557,8 +557,9 @@ `DEF_GPR_TOGGLE_CROSS(grs2) endgroup - covergroup enc_fixed_cg with function sample(mnem_str_t mnemonic, logic [31:0] insn_data); - // Used for instructions (ECALL) with no immediate or register operands + covergroup enc_ecall_cg with function sample(mnem_str_t mnemonic, logic [31:0] insn_data); + // Used by the ECALL instruction. Although it uses the I encoding in the tooling, it has no + // immediate or register operands so we give it a separate covergroup here. mnemonic_cp: coverpoint mnemonic { `DEF_MNEM_BIN(mnem_ecall); illegal_bins other = default; @@ -752,7 +753,7 @@ enc_bns_cg = new; enc_bnxid_cg = new; enc_b_cg = new; - enc_fixed_cg = new; + enc_ecall_cg = new; enc_i_cg = new; enc_is_cg = new; enc_j_cg = new; @@ -788,7 +789,7 @@ insn_encodings[mnem_jalr] = "I"; insn_encodings[mnem_csrrs] = "I"; insn_encodings[mnem_csrrw] = "I"; - insn_encodings[mnem_ecall] = "fixed"; + insn_encodings[mnem_ecall] = "ecall"; insn_encodings[mnem_loop] = "loop"; insn_encodings[mnem_loopi] = "loopi"; insn_encodings[mnem_bn_add] = "bnaf"; @@ -890,8 +891,8 @@ enc_bnxid_cg.sample(mnem, insn_data, rtl_item.gpr_operand_a, rtl_item.gpr_operand_b); "B": enc_b_cg.sample(mnem, insn_data, rtl_item.gpr_operand_a, rtl_item.gpr_operand_b); - "fixed": - enc_fixed_cg.sample(mnem, insn_data); + "ecall": + enc_ecall_cg.sample(mnem, insn_data); "I": enc_i_cg.sample(mnem, insn_data, rtl_item.gpr_operand_a); "Is":