Skip to content

[RVFI] Many files: Add support for tracing addr/mask/data of memory ops.

Created by: zchamski

This PR adds the upward propagation of address, mask and data of memory operations from the LOAD/STORE unit level to the RVFI tracer. The address and data information is required for orderly termination of tests (detection of write at specified address, including the value written) and will also help improving RTL coverage.

Files changed

  • core/cva6.sv (rvfi_mem_addr_o): New global signal from ex_stage. (rvfi_mem_rmask_o): Ditto. (rvfi_mem_rdata_o): Ditto. (rvfi_mem_wmask_o): Ditto. (rvfi_mem_wdata_o): Ditto. (rvfi_o): Set memory-related fields of current commit port.
  • core/ex_stage.sv (rvfi_mem_addr_o): New output, pass-thru from LSU. (rvfi_mem_rmask_o): Ditto. (rvfi_mem_rdata_o): Ditto. (rvfi_mem_wmask_o): Ditto. (rvfi_mem_wdata_o): Ditto.
  • core/load_store_unit.sv (rvfi_mem_addr_o): New output, uses physical addr with zero extension. (rvfi_mem_rmask_o): New output, pass-through from load unit. (rvfi_mem_rdata_o): Ditto. (rvfi_mem_wmask_o): New output, pass-through from store unit. (rvfi_mem_wdata_o): Ditto.
  • core/load_unit.sv (rvfi_mem_rmask_o): New output. Set according to state of the unit. (rvfi_mem_rdata_o): New output, equal to load result.
  • core/store_unit.sv (rvfi_mem_wmask_o): New output. (rvfi_mem_wdata): Ditto.

Signed-off-by: Zbigniew Chamski zbigniew.chamski@thalesgroup.com

Merge request reports

Loading