Zero pad wdata tracer port based on XLEN (#2957)

Fix port connection width mismatch warning in the instruction tracer when using 32-bit version of the core. As the tracer is hardcoded to 64 bit operands and it could be useful to have the same trace format for both 64 and 32 bit cores, the most convenient solution is to pad the data when needed.

Co-authored-by: JeanRochCoulon <jean-roch.coulon@thalesgroup.com>
This commit is contained in:
Riccardo Tedeschi 2025-05-14 08:39:34 +02:00 committed by GitHub
parent 9a975a3b8d
commit 7555cb7d60
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1669,12 +1669,17 @@ module cva6
`ifndef VERILATOR
logic [31:0] fetch_instructions[CVA6Cfg.NrIssuePorts-1:0];
logic [ 31:0] fetch_instructions [CVA6Cfg.NrIssuePorts-1:0];
logic [CVA6Cfg.NrCommitPorts-1:0][63:0] wdata_commit_id_padded;
for (genvar i = 0; i < CVA6Cfg.NrIssuePorts; ++i) begin
assign fetch_instructions[i] = fetch_entry_if_id[i].instruction;
end
for (genvar i = 0; i < CVA6Cfg.NrCommitPorts; ++i) begin
assign wdata_commit_id_padded[i] = {{(64 - CVA6Cfg.XLEN) {1'b0}}, wdata_commit_id};
end
instr_tracer #(
.CVA6Cfg(CVA6Cfg),
.bp_resolve_t(bp_resolve_t),
@ -1694,7 +1699,7 @@ module cva6
.issue_ack(issue_stage_i.i_scoreboard.issue_ack_i),
.issue_sbe(issue_stage_i.i_scoreboard.issue_instr_o),
.waddr(waddr_commit_id),
.wdata(wdata_commit_id),
.wdata(wdata_commit_id_padded),
.we_gpr(we_gpr_commit_id),
.we_fpr(we_fpr_commit_id),
.commit_instr(commit_instr_id_commit),