Pinout: Replace core_id_i and cluster_id_i by hart_id_i
Created by: Silabs-ArjanB
Currently the core_id_i and cluster_id_i can both be read out from the 32-bit mhartid CSR where they are packed as follows: {21'b0, cluster_id_i[5:0], 1'b0, core_id_i[3:0]}. There really is no need for enforcing semantics on these bits inside the CV32E40P (that can be left to be defined by the integrator). In Ibex a more general purpose solution is used (without losing any functionality) where the 32-bit mhartid CSR simply reflects the 32-bit hart_id_i input signal.
The original behavior of RI5CY can be achieved by simply integrating CV32E40P with the following hookup:
.hart_id_i ({21'b0, cluster_id[5:0], 1'b0, core_id[3:0]}),