assertnot(CPU_EXTENSION_RISCV_A = true)report"NEORV32 CPU CONFIG WARNING! Atomic operations extension (A) only supports <lr.w> and <sc.w> instructions."severitywarning;
assertnot(CPU_EXTENSION_RISCV_A = true)report"NEORV32 CPU CONFIG WARNING! Atomic operations extension (A) only supports <lr.w> and <sc.w> instructions."severitywarning;
-- FIXME: Bit manipulation warning --
-- FIXME: Bit manipulation warning --
assertnot(CPU_EXTENSION_RISCV_B = true)report"NEORV32 CPU CONFIG WARNING! Bit manipulation extension (B) is still HIGHLY EXPERIMENTAL (and spec. is not ratified yet)."severitywarning;
assertnot(CPU_EXTENSION_RISCV_B = true)report"NEORV32 CPU CONFIG WARNING! Bit manipulation extension (B) is still HIGHLY EXPERIMENTAL (and spec. is not ratified yet)."severitywarning;
assertnot(CPU_EXTENSION_RISCV_Zfinx = true)report"NEORV32 CPU CONFIG WARNING! 32-bit floating-point extension (F/Zfinx) is WORK-IN-PROGRESS and NOT OPERATIONAL yet."severitywarning;
assertnot(cp_timeout_en_c = true)report"NEORV32 CPU CONFIG WARNING! Co-processor timeout counter enabled. This should be used for debugging/simulation only."severitywarning;
-- PMP regions check --
-- PMP regions check --
assertnot(PMP_NUM_REGIONS >64)report"NEORV32 CPU CONFIG ERROR! Number of PMP regions <PMP_NUM_REGIONS> out xf valid range (0..64)."severityerror;
assertnot(PMP_NUM_REGIONS >64)report"NEORV32 CPU CONFIG ERROR! Number of PMP regions <PMP_NUM_REGIONS> out xf valid range (0..64)."severityerror;
-- PMP granulartiy --
-- PMP granulartiy --
assertnot((is_power_of_two_f(PMP_MIN_GRANULARITY)= false)and(PMP_NUM_REGIONS >0))report"NEORV32 CPU CONFIG ERROR! PMP granulartiy has to be a power of two."severityerror;
assertnot((is_power_of_two_f(PMP_MIN_GRANULARITY)= false)and(PMP_NUM_REGIONS >0))report"NEORV32 CPU CONFIG ERROR! PMP granulartiy has to be a power of two."severityerror;