Skip to content

Sdtrig #28

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

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from
Draft

Sdtrig #28

wants to merge 7 commits into from

Conversation

munailwaqar
Copy link
Collaborator

No description provided.

logic [CVA6Cfg.XLEN-1:0] tselect_q, tselect_d;
logic tselect_valid_q, tselect_valid_d;
logic [$clog2(N_Triggers)-1:0] tselect_idx_q, tselect_idx_d;
logic [CVA6Cfg.XLEN-1:0] triggers_q[N_Triggers-1:0][2:0], triggers_d[N_Triggers-1:0][2:0]; // 2D N trigger array with 3 registers: tdata1, tdata2, tdata3

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
logic [CVA6Cfg.XLEN-1:0] triggers_q[N_Triggers-1:0][2:0], triggers_d[N_Triggers-1:0][2:0]; // 2D N trigger array with 3 registers: tdata1, tdata2, tdata3
logic [CVA6Cfg.XLEN-1:0]
triggers_q[N_Triggers-1:0][2:0],
triggers_d[N_Triggers-1:0][2:0]; // 2D N trigger array with 3 registers: tdata1, tdata2, tdata3

Comment on lines 402 to 403
if (CVA6Cfg.SDTRIG) begin
csr_rdata = tselect_q;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (CVA6Cfg.SDTRIG) begin
csr_rdata = tselect_q;
if (CVA6Cfg.SDTRIG) begin
csr_rdata = tselect_q;

Comment on lines 408 to 409
if (CVA6Cfg.SDTRIG) begin
csr_rdata = triggers_q[tselect_idx_q][0]; // tdata1

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (CVA6Cfg.SDTRIG) begin
csr_rdata = triggers_q[tselect_idx_q][0]; // tdata1
if (CVA6Cfg.SDTRIG) begin
csr_rdata = triggers_q[tselect_idx_q][0]; // tdata1

Comment on lines 414 to 415
if (CVA6Cfg.SDTRIG) begin
csr_rdata = triggers_q[tselect_idx_q][1]; // tdata2

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (CVA6Cfg.SDTRIG) begin
csr_rdata = triggers_q[tselect_idx_q][1]; // tdata2
if (CVA6Cfg.SDTRIG) begin
csr_rdata = triggers_q[tselect_idx_q][1]; // tdata2

Comment on lines 420 to 421
if (CVA6Cfg.SDTRIG) begin
csr_rdata = triggers_q[tselect_idx_q][2]; // tdata3

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (CVA6Cfg.SDTRIG) begin
csr_rdata = triggers_q[tselect_idx_q][2]; // tdata3
if (CVA6Cfg.SDTRIG) begin
csr_rdata = triggers_q[tselect_idx_q][2]; // tdata3

if (CVA6Cfg.SDTRIG) begin
triggers_d[tselect_idx_d][1] = csr_wdata; // tdata2
end else begin
update_access_exception = 1'b1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
update_access_exception = 1'b1;
update_access_exception = 1'b1;

end
riscv::CSR_TDATA3:
if (CVA6Cfg.SDTRIG) begin
triggers_d[tselect_idx_d][2] = csr_wdata; // tdata3

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
triggers_d[tselect_idx_d][2] = csr_wdata; // tdata3
triggers_d[tselect_idx_d][2] = csr_wdata; // tdata3

if (CVA6Cfg.SDTRIG) begin
triggers_d[tselect_idx_d][2] = csr_wdata; // tdata3
end else begin
update_access_exception = 1'b1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
update_access_exception = 1'b1;
update_access_exception = 1'b1;

update_access_exception = 1'b1;
end
riscv::CSR_TINFO: begin
update_access_exception = 1'b1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
update_access_exception = 1'b1;
update_access_exception = 1'b1;

@@ -2687,6 +2765,12 @@
vsatp_q <= vsatp_d;
en_ld_st_g_translation_q <= en_ld_st_g_translation_d;
end
if (CVA6Cfg.SDTRIG) begin
tselect_q <= tselect_d;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
tselect_q <= tselect_d;
tselect_q <= tselect_d;

update_access_exception = 1'b1;
end
riscv::CSR_TINFO: begin
update_access_exception = 1'b1;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Write on tinfo should be ignored. Should not generate exception

// logic [$clog2(N_Triggers)-1:0] tselect_idx;
// logic [CVA6Cfg.XLEN-1:0] triggers[N_Triggers-1:0][2:0]; // 2D N trigger array with 3 registers: tdata1, tdata2, tdata3

logic [CVA6Cfg.XLEN-1:0] tselect_q, tselect_d;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be of size N_TRIGGERS bits


logic [CVA6Cfg.XLEN-1:0] tselect_q, tselect_d;
logic tselect_valid_q, tselect_valid_d;
logic [$clog2(N_Triggers)-1:0] tselect_idx_q, tselect_idx_d;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use tselect_q.

logic [CVA6Cfg.XLEN-1:0] tselect_q, tselect_d;
logic tselect_valid_q, tselect_valid_d;
logic [$clog2(N_Triggers)-1:0] tselect_idx_q, tselect_idx_d;
logic [CVA6Cfg.XLEN-1:0] triggers_q[N_Triggers-1:0][2:0], triggers_d[N_Triggers-1:0][2:0]; // 2D N trigger array with 3 registers: tdata1, tdata2, tdata3
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would recommend you have separate singals for TDATA1, TDATA2, and TDATA3.

end
riscv::CSR_TDATA1:
if (CVA6Cfg.SDTRIG) begin
csr_rdata = triggers_q[tselect_idx_q][0]; // tdata1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can use tselect_q for indexing

riscv::CSR_TSELECT:
if (CVA6Cfg.SDTRIG) begin
tselect_d = csr_wdata;
tselect_valid_d = (tselect_idx_q < N_Triggers);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No use now

if (CVA6Cfg.SDTRIG) begin
tselect_d = csr_wdata;
tselect_valid_d = (tselect_idx_q < N_Triggers);
tselect_idx_d = tselect_q[$clog2(N_Triggers)-1:0];
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can use tselect_q

end
riscv::CSR_TDATA1:
if (CVA6Cfg.SDTRIG) begin
triggers_d[tselect_idx_d][0] = csr_wdata; // tdata1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are multiple registers on TDATA1 and all have some WARL fields in them. You need to handle them. For example for now, vs and vu should be hardwired to 0. and should be writable.

update_access_exception = 1'b1;
end
riscv::CSR_TDATA2:
if (CVA6Cfg.SDTRIG) begin
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check for WARL here also if any. Check spec for that.

update_access_exception = 1'b1;
end
riscv::CSR_TDATA3:
if (CVA6Cfg.SDTRIG) begin
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check for WARL here also if any. Check spec for that.

Comment on lines 2289 to 2309
// if (CVA6Cfg.SDTRIG) begin
// if (trigger_type_d[tselect_q] == 4'd3) begin
// // case(priv_lvl_o) // trigger will only fire if current priv lvl is same as the trigger wants to fire in
// // riscv::PRIV_LVL_M : if (icount32_tdata1_d[tselect_q].m) priv_match = 1'b1;
// // riscv::PRIV_LVL_S : if (icount32_tdata1_d[tselect_q].s) priv_match = 1'b1;
// // riscv::PRIV_LVL_U : if (icount32_tdata1_d[tselect_q].u) priv_match = 1'b1;
// // endcase
// // if (commit_ack_i) begin
// // icount_d--;
// // end
// // if ((icache_d == 0) && priv_match) begin
// //icount32_tdata1_q[tselect_q].pending = 1'b1;
// //icount32_tdata1_q[tselect_q].hit = 1'b1;
// // case (icount32_tdata1_d[tselect_q].action)
// //breakpoint_from_tigger_module_o = 1'b1;
// //6'd1 : debug_from_trigger_module = 1'b1 //into debug mode;
// // default: ;
// // endcase
// // end
// end
// end
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// if (CVA6Cfg.SDTRIG) begin
// if (trigger_type_d[tselect_q] == 4'd3) begin
// // case(priv_lvl_o) // trigger will only fire if current priv lvl is same as the trigger wants to fire in
// // riscv::PRIV_LVL_M : if (icount32_tdata1_d[tselect_q].m) priv_match = 1'b1;
// // riscv::PRIV_LVL_S : if (icount32_tdata1_d[tselect_q].s) priv_match = 1'b1;
// // riscv::PRIV_LVL_U : if (icount32_tdata1_d[tselect_q].u) priv_match = 1'b1;
// // endcase
// // if (commit_ack_i) begin
// // icount_d--;
// // end
// // if ((icache_d == 0) && priv_match) begin
// //icount32_tdata1_q[tselect_q].pending = 1'b1;
// //icount32_tdata1_q[tselect_q].hit = 1'b1;
// // case (icount32_tdata1_d[tselect_q].action)
// //breakpoint_from_tigger_module_o = 1'b1;
// //6'd1 : debug_from_trigger_module = 1'b1 //into debug mode;
// // default: ;
// // endcase
// // end
// end
// end
// if (CVA6Cfg.SDTRIG) begin
// if (trigger_type_d[tselect_q] == 4'd3) begin
// // case(priv_lvl_o) // trigger will only fire if current priv lvl is same as the trigger wants to fire in
// // riscv::PRIV_LVL_M : if (icount32_tdata1_d[tselect_q].m) priv_match = 1'b1;
// // riscv::PRIV_LVL_S : if (icount32_tdata1_d[tselect_q].s) priv_match = 1'b1;
// // riscv::PRIV_LVL_U : if (icount32_tdata1_d[tselect_q].u) priv_match = 1'b1;
// // endcase
// // if (commit_ack_i) begin
// // icount_d--;
// // end
// // if ((icache_d == 0) && priv_match) begin
// //icount32_tdata1_q[tselect_q].pending = 1'b1;
// //icount32_tdata1_q[tselect_q].hit = 1'b1;
// // case (icount32_tdata1_d[tselect_q].action)
// //breakpoint_from_tigger_module_o = 1'b1;
// //6'd1 : debug_from_trigger_module = 1'b1 //into debug mode;
// // default: ;
// // endcase
// // end
// end
// end

@@ -2604,6 +2737,21 @@ module csr_regfile
vsatp_q <= {CVA6Cfg.XLEN{1'b0}};
en_ld_st_g_translation_q <= 1'b0;
end
if (CVA6Cfg.SDTRIG) begin
scontext_q <= '0;
tselect_q <= '0;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
tselect_q <= '0;
tselect_q <= '0;

@@ -2174,6 +2284,36 @@ module csr_regfile
debug_mode_d = 1'b0;
end
end

// Triggers Match Logic

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// Triggers Match Logic
// Triggers Match Logic

Comment on lines 2290 to 2313
if (trigger_type_d[tselect_q] == 4'd3) begin // icount match logic
case(priv_lvl_o) // trigger will only fire if current priv lvl is same as the trigger wants to fire in
riscv::PRIV_LVL_M : if (icount32_tdata1_d[tselect_q].m) priv_match = 1'b1;
riscv::PRIV_LVL_S : if (icount32_tdata1_d[tselect_q].s) priv_match = 1'b1;
riscv::PRIV_LVL_U : if (icount32_tdata1_d[tselect_q].u) priv_match = 1'b1;
default: priv_match = 1'b0;
endcase
if (ex_i.valid) begin
in_trap_handler = 1'b1;
icount32_tdata1_d[tselect_q].count = icount32_tdata1_d[tselect_q].count - 1;
end
if (commit_ack_i && mret) in_trap_handler = 1'b0;
if (|commit_ack_i && !in_trap_handler && icount32_tdata1_q[tselect_q].count != 0) begin
icount32_tdata1_d[tselect_q].count = icount32_tdata1_d[tselect_q].count - 1;
end
if ((icount32_tdata1_d[tselect_q].count == 0) && priv_match) begin
icount32_tdata1_d[tselect_q].pending = 1'b1;
//icount32_tdata1_d[tselect_q].hit = 1'b1;
case (icount32_tdata1_d[tselect_q].action)
6'd0 : breakpoint_from_tigger_module = 1'b1;
6'd1 : breakpoint_from_tigger_module = 1'b1; //into debug mode;
default: ;
endcase
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (trigger_type_d[tselect_q] == 4'd3) begin // icount match logic
case(priv_lvl_o) // trigger will only fire if current priv lvl is same as the trigger wants to fire in
riscv::PRIV_LVL_M : if (icount32_tdata1_d[tselect_q].m) priv_match = 1'b1;
riscv::PRIV_LVL_S : if (icount32_tdata1_d[tselect_q].s) priv_match = 1'b1;
riscv::PRIV_LVL_U : if (icount32_tdata1_d[tselect_q].u) priv_match = 1'b1;
default: priv_match = 1'b0;
endcase
if (ex_i.valid) begin
in_trap_handler = 1'b1;
icount32_tdata1_d[tselect_q].count = icount32_tdata1_d[tselect_q].count - 1;
end
if (commit_ack_i && mret) in_trap_handler = 1'b0;
if (|commit_ack_i && !in_trap_handler && icount32_tdata1_q[tselect_q].count != 0) begin
icount32_tdata1_d[tselect_q].count = icount32_tdata1_d[tselect_q].count - 1;
end
if ((icount32_tdata1_d[tselect_q].count == 0) && priv_match) begin
icount32_tdata1_d[tselect_q].pending = 1'b1;
//icount32_tdata1_d[tselect_q].hit = 1'b1;
case (icount32_tdata1_d[tselect_q].action)
6'd0 : breakpoint_from_tigger_module = 1'b1;
6'd1 : breakpoint_from_tigger_module = 1'b1; //into debug mode;
default: ;
endcase
end
if (trigger_type_d[tselect_q] == 4'd3) begin // icount match logic
case(priv_lvl_o) // trigger will only fire if current priv lvl is same as the trigger wants to fire in
riscv::PRIV_LVL_M: if (icount32_tdata1_d[tselect_q].m) priv_match = 1'b1;
riscv::PRIV_LVL_S: if (icount32_tdata1_d[tselect_q].s) priv_match = 1'b1;
riscv::PRIV_LVL_U: if (icount32_tdata1_d[tselect_q].u) priv_match = 1'b1;
default: priv_match = 1'b0;
endcase
if (ex_i.valid) begin
in_trap_handler = 1'b1;
icount32_tdata1_d[tselect_q].count = icount32_tdata1_d[tselect_q].count - 1;
end
if (commit_ack_i && mret) in_trap_handler = 1'b0;
if (|commit_ack_i && !in_trap_handler && icount32_tdata1_q[tselect_q].count != 0) begin
icount32_tdata1_d[tselect_q].count = icount32_tdata1_d[tselect_q].count - 1;
end
if ((icount32_tdata1_d[tselect_q].count == 0) && priv_match) begin
icount32_tdata1_d[tselect_q].pending = 1'b1;
//icount32_tdata1_d[tselect_q].hit = 1'b1;
case (icount32_tdata1_d[tselect_q].action)
6'd0: breakpoint_from_tigger_module = 1'b1;
6'd1: breakpoint_from_tigger_module = 1'b1; //into debug mode;
default: ;
endcase

endcase
end
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end
end
end

@@ -2604,6 +2744,21 @@ module csr_regfile
vsatp_q <= {CVA6Cfg.XLEN{1'b0}};
en_ld_st_g_translation_q <= 1'b0;
end
if (CVA6Cfg.SDTRIG) begin
scontext_q <= '0;
tselect_q <= '0;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
tselect_q <= '0;
tselect_q <= '0;

core/cva6.sv Outdated
Comment on lines 754 to 755
.dcache_req_ports_i(dcache_req_ports_cache_id),
.dcache_req_ports_o(dcache_req_ports_id_cache)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
.dcache_req_ports_i(dcache_req_ports_cache_id),
.dcache_req_ports_o(dcache_req_ports_id_cache)
.dcache_req_ports_i (dcache_req_ports_cache_id),
.dcache_req_ports_o (dcache_req_ports_id_cache)

core/cva6.sv Outdated
@@ -1199,6 +1202,7 @@ module cva6
.pmpaddr_o (pmpaddr),
.mcountinhibit_o (mcountinhibit_csr_perf),
.jvt_o (jvt),
.breakpoint_from_tigger_module_o (breakpoint_from_tigger_module),
//RVFI
.rvfi_csr_o (rvfi_csr)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
.rvfi_csr_o (rvfi_csr)
.rvfi_csr_o (rvfi_csr)

core/id_stage.sv Outdated
Comment on lines 342 to 345
.instruction_o (decoded_instruction[i]),
.orig_instr_o (orig_instr[i]),
.is_control_flow_instr_o (is_control_flow_instr[i])
.is_control_flow_instr_o (is_control_flow_instr[i]),
.breakpoint_from_tigger_module_i (breakpoint_from_tigger_module_i)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
.instruction_o (decoded_instruction[i]),
.orig_instr_o (orig_instr[i]),
.is_control_flow_instr_o (is_control_flow_instr[i])
.is_control_flow_instr_o (is_control_flow_instr[i]),
.breakpoint_from_tigger_module_i (breakpoint_from_tigger_module_i)
.instruction_o (decoded_instruction[i]),
.orig_instr_o (orig_instr[i]),
.is_control_flow_instr_o (is_control_flow_instr[i]),
.breakpoint_from_tigger_module_i(breakpoint_from_tigger_module_i)

core/id_stage.sv Outdated
@@ -439,6 +442,10 @@ module id_stage #(
is_control_flow_instr[0]
};
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change

default: priv_match = 1'b0;
endcase
// execute with address
if (mcontrol6_32_tdata1_d[tselect_q].execute && tdata2_d[tselect_q] == commit_instr_i.pc && commit_ack_i && !mcontrol6_32_tdata1_d[tselect_q].select) matched = 1'b1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (mcontrol6_32_tdata1_d[tselect_q].execute && tdata2_d[tselect_q] == commit_instr_i.pc && commit_ack_i && !mcontrol6_32_tdata1_d[tselect_q].select) matched = 1'b1;
if (mcontrol6_32_tdata1_d[tselect_q].execute && tdata2_d[tselect_q] == commit_instr_i.pc && commit_ack_i && !mcontrol6_32_tdata1_d[tselect_q].select)
matched = 1'b1;

// execute with address
if (mcontrol6_32_tdata1_d[tselect_q].execute && tdata2_d[tselect_q] == commit_instr_i.pc && commit_ack_i && !mcontrol6_32_tdata1_d[tselect_q].select) matched = 1'b1;
// execute with instruction
if (mcontrol6_32_tdata1_d[tselect_q].execute && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == orig_instr_i)) matched = 1'b1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (mcontrol6_32_tdata1_d[tselect_q].execute && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == orig_instr_i)) matched = 1'b1;
if (mcontrol6_32_tdata1_d[tselect_q].execute && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == orig_instr_i))
matched = 1'b1;

// execute with instruction
if (mcontrol6_32_tdata1_d[tselect_q].execute && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == orig_instr_i)) matched = 1'b1;
// store with data
if (mcontrol6_32_tdata1_d[tselect_q].store && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == commit_instr_i.result)) matched = 1'b1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (mcontrol6_32_tdata1_d[tselect_q].store && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == commit_instr_i.result)) matched = 1'b1;
if (mcontrol6_32_tdata1_d[tselect_q].store && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == commit_instr_i.result))
matched = 1'b1;

// store with data
if (mcontrol6_32_tdata1_d[tselect_q].store && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == commit_instr_i.result)) matched = 1'b1;
// store with address
if (mcontrol6_32_tdata1_d[tselect_q].store && !mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == vaddr_from_lsu_i)) matched = 1'b1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (mcontrol6_32_tdata1_d[tselect_q].store && !mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == vaddr_from_lsu_i)) matched = 1'b1;
if (mcontrol6_32_tdata1_d[tselect_q].store && !mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == vaddr_from_lsu_i))
matched = 1'b1;

// store with address
if (mcontrol6_32_tdata1_d[tselect_q].store && !mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == vaddr_from_lsu_i)) matched = 1'b1;
// load with data
if (mcontrol6_32_tdata1_d[tselect_q].load && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == commit_instr_i.result && commit_instr_i.op == 8'h27)) matched = 1'b1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (mcontrol6_32_tdata1_d[tselect_q].load && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == commit_instr_i.result && commit_instr_i.op == 8'h27)) matched = 1'b1;
if (mcontrol6_32_tdata1_d[tselect_q].load && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == commit_instr_i.result && commit_instr_i.op == 8'h27))
matched = 1'b1;

// load with data
if (mcontrol6_32_tdata1_d[tselect_q].load && mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == commit_instr_i.result && commit_instr_i.op == 8'h27)) matched = 1'b1;
// load with address
if (mcontrol6_32_tdata1_d[tselect_q].load && !mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == vaddr_from_lsu_i)) matched = 1'b1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (mcontrol6_32_tdata1_d[tselect_q].load && !mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == vaddr_from_lsu_i)) matched = 1'b1;
if (mcontrol6_32_tdata1_d[tselect_q].load && !mcontrol6_32_tdata1_d[tselect_q].select && (tdata2_d[tselect_q] == vaddr_from_lsu_i))
matched = 1'b1;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants