[top] Select Ibex register file implementation based on target

This commit propagates the register file selection parameter of
rv_core_ibex up to the top to allow selecting a variant based on the
target. The register file itself has a big impact on the overall area
of Ibex (~30%) and we have different implementations FPGA (LUTRAM),
minimum size on ASIC (Latches), and a generic FF-based implementation.

This commit modifies all FPGA tops to use the FPGA register file. We
keep using the FF-based generic implementation for ASIC targets and RTL
simulation (see lowRISC/OpenTitan#2650).

Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
index b423882..4b0ca3c 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -9,6 +9,7 @@
   parameter int unsigned SecAesStartTriggerDelay = 0,
 
   // Manually defined parameters
+  parameter ibex_pkg::regfile_e IbexRegFile = ibex_pkg::RegFileFF,
   parameter bit IbexPipeLine = 0,
   parameter     BootRomInitFile = ""
 ) (
@@ -304,7 +305,7 @@
     .RV32E                    (0),
     .RV32M                    (ibex_pkg::RV32MSingleCycle),
     .RV32B                    (ibex_pkg::RV32BNone),
-    .RegFile                  (ibex_pkg::RegFileFF),
+    .RegFile                  (IbexRegFile),
     .BranchTargetALU          (1),
     .WritebackStage           (1),
     .ICache                   (0),