mirror of
https://github.com/openhwgroup/cva6.git
synced 2025-04-22 05:07:21 -04:00
mmu: Prevent elaboration of incompat MMU version (#713)
Fix the VCS flow for 64-bit CVA6 by only adding compatible MMU sources. For instance, `mmu_sv32` assumes `PLEN` > `VLEN`, which is not the case for RV64. Signed-off-by: Nils Wistoff <nwistoff@iis.ee.ethz.ch>
This commit is contained in:
parent
206916d706
commit
486d9dcbc8
2 changed files with 8 additions and 3 deletions
9
Makefile
9
Makefile
|
@ -152,8 +152,6 @@ src := $(filter-out core/ariane_regfile.sv, $(wildcard core/*.sv))
|
|||
$(filter-out core/fpu/src/fpu_div_sqrt_mvp/hdl/defs_div_sqrt_mvp.sv, \
|
||||
$(wildcard core/fpu/src/fpu_div_sqrt_mvp/hdl/*.sv)) \
|
||||
$(wildcard core/frontend/*.sv) \
|
||||
$(wildcard core/mmu_sv32/*.sv) \
|
||||
$(wildcard core/mmu_sv39/*.sv) \
|
||||
$(filter-out core/cache_subsystem/std_no_dcache.sv, \
|
||||
$(wildcard core/cache_subsystem/*.sv)) \
|
||||
$(wildcard corev_apu/bootrom/*.sv) \
|
||||
|
@ -228,6 +226,13 @@ src := $(filter-out core/ariane_regfile.sv, $(wildcard core/*.sv))
|
|||
corev_apu/tb/common/SimDTM.sv \
|
||||
corev_apu/tb/common/SimJTAG.sv
|
||||
|
||||
# SV32 MMU for CV32, SV39 MMU for CV64
|
||||
ifeq ($(findstring 32, $(variant)),32)
|
||||
src += $(wildcard core/mmu_sv32/*.sv)
|
||||
else
|
||||
src += $(wildcard core/mmu_sv39/*.sv)
|
||||
endif
|
||||
|
||||
src := $(addprefix $(root-dir), $(src))
|
||||
|
||||
uart_src := $(wildcard corev_apu/fpga/src/apb_uart/src/*.vhd)
|
||||
|
|
|
@ -49,7 +49,7 @@ package riscv;
|
|||
localparam VPN2 = (VLEN-31 < 8) ? VLEN-31 : 8;
|
||||
|
||||
localparam FPU_EN = 1'b1; // This bit is to select FPU in the design, FPU_EN = 1'b0 disables FPU in the design
|
||||
|
||||
|
||||
typedef logic [XLEN-1:0] xlen_t;
|
||||
|
||||
// --------------------
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue