From 1f7909a24408783d52e21cb9d1d0350342a13b2d Mon Sep 17 00:00:00 2001 From: Luca Bertaccini <55843305+lucabertaccini@users.noreply.github.com> Date: Wed, 10 May 2023 06:45:02 +0200 Subject: [PATCH] FPU: Bump to pulp-v0.2.3 (extends #25) * Bump FPU to pulp-v0.1.1 * Remove vendor folder in CVFPU * Update Bender.lock * cvfpu: Exclude util directory Signed-off-by: Nils Wistoff * Bender.lock: Revert unrelated changes Signed-off-by: Nils Wistoff --------- Signed-off-by: Nils Wistoff Co-authored-by: Nils Wistoff Signed-off-by: Nils Wistoff --- .gitmodules | 3 ++- Bender.yml | 2 +- core/cvfpu | 2 +- core/fpu_wrap.sv | 23 ++++++++++++------- core/include/ariane_pkg.sv | 2 ++ core/include/build_config_pkg.sv | 8 +++++-- core/include/config_pkg.sv | 4 ++++ .../include/cv32a60x_config_pkg_deprecated.sv | 2 ++ core/include/cv32a65x_config_pkg.sv | 1 + .../cv32a6_embedded_config_pkg_deprecated.sv | 2 ++ .../cv32a6_ima_sv32_fpga_config_pkg.sv | 2 ++ core/include/cv32a6_imac_sv0_config_pkg.sv | 2 ++ core/include/cv32a6_imac_sv32_config_pkg.sv | 2 ++ core/include/cv32a6_imafc_sv32_config_pkg.sv | 2 ++ .../cv64a6_imadfcv_sv39_polara_config_pkg.sv | 2 ++ core/include/cv64a6_imafdc_sv39_config_pkg.sv | 2 ++ .../cv64a6_imafdc_sv39_hpdcache_config_pkg.sv | 2 ++ ...cv64a6_imafdc_sv39_openpiton_config_pkg.sv | 2 ++ .../cv64a6_imafdc_sv39_wb_config_pkg.sv | 2 ++ .../include/cv64a6_imafdch_sv39_config_pkg.sv | 2 ++ .../cv64a6_imafdch_sv39_wb_config_pkg.sv | 2 ++ ...6_imafdchsclic_sv39_hpdcache_config_pkg.sv | 2 ++ .../cv64a6_imafdchsclic_sv39_wb_config_pkg.sv | 2 ++ .../include/cv64a6_imafdcv_sv39_config_pkg.sv | 2 ++ 24 files changed, 64 insertions(+), 13 deletions(-) diff --git a/.gitmodules b/.gitmodules index 3b7e90b93c..30f72dc8f2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -39,7 +39,8 @@ url = https://github.com/openhwgroup/core-v-verif [submodule "core/cvfpu"] path = core/cvfpu - url = https://github.com/openhwgroup/cvfpu.git + url = https://github.com/pulp-platform/cvfpu.git + branch = pulp-v0.2.3 [submodule "core/cache_subsystem/hpdcache"] path = core/cache_subsystem/hpdcache url = https://github.com/paulsc96/cv-hpdcache.git diff --git a/Bender.yml b/Bender.yml index e3d5e2a439..99e1daf4d4 100644 --- a/Bender.yml +++ b/Bender.yml @@ -10,7 +10,7 @@ dependencies: axi: { git: "https://github.com/pulp-platform/axi.git", version: 0.31.0 } common_cells: { git: "https://github.com/pulp-platform/common_cells", version: 1.23.0 } - fpnew: { git: "https://github.com/openhwgroup/cvfpu.git", version: 0.7.0 } + fpnew: { git: "https://github.com/pulp-platform/cvfpu.git", rev: pulp-v0.2.2 } tech_cells_generic: { git: "https://github.com/pulp-platform/tech_cells_generic.git", version: 0.2.13 } diff --git a/core/cvfpu b/core/cvfpu index 3116391bf6..e5aa6a01b5 160000 --- a/core/cvfpu +++ b/core/cvfpu @@ -1 +1 @@ -Subproject commit 3116391bf66660f806b45e212b9949c528b4e270 +Subproject commit e5aa6a01b5bbe1675c3aa8872e1203413ded83d1 diff --git a/core/fpu_wrap.sv b/core/fpu_wrap.sv index c30033463f..5b5fefc23d 100644 --- a/core/fpu_wrap.sv +++ b/core/fpu_wrap.sv @@ -64,7 +64,9 @@ module fpu_wrap Width: unsigned'(CVA6Cfg.FLen), // parameterized using CVA6Cfg.FLen EnableVectors: CVA6Cfg.XFVec, EnableNanBox: 1'b1, - FpFmtMask: {CVA6Cfg.RVF, CVA6Cfg.RVD, CVA6Cfg.XF16, CVA6Cfg.XF8, CVA6Cfg.XF16ALT}, + FpFmtMask: { + CVA6Cfg.RVF, CVA6Cfg.RVD, CVA6Cfg.XF16, CVA6Cfg.XF8, CVA6Cfg.XF16ALT, CVA6Cfg.XF8ALT + }, IntFmtMask: { CVA6Cfg.XFVec && CVA6Cfg.XF8, CVA6Cfg.XFVec && (CVA6Cfg.XF16 || CVA6Cfg.XF16ALT), @@ -75,24 +77,27 @@ module fpu_wrap // Implementation (number of registers etc) localparam fpnew_pkg::fpu_implementation_t FPU_IMPLEMENTATION = '{ - PipeRegs: '{ // FP32, FP64, FP16, FP8, FP16alt + PipeRegs: '{ // FP32, FP64, FP16, FP8, FP16alt, FP8alt '{ unsigned'(LAT_COMP_FP32), unsigned'(LAT_COMP_FP64), unsigned'(LAT_COMP_FP16), unsigned'(LAT_COMP_FP8), - unsigned'(LAT_COMP_FP16ALT) + unsigned'(LAT_COMP_FP16ALT), + unsigned'(LAT_COMP_FP8ALT) }, // ADDMUL '{default: unsigned'(LAT_DIVSQRT)}, // DIVSQRT '{default: unsigned'(LAT_NONCOMP)}, // NONCOMP - '{default: unsigned'(LAT_CONV)} - }, // CONV + '{default: unsigned'(LAT_CONV)}, // CONV + '{default: unsigned'(LAT_SDOTP)} + }, // DOTP UnitTypes: '{ '{default: fpnew_pkg::PARALLEL}, // ADDMUL '{default: fpnew_pkg::MERGED}, // DIVSQRT '{default: fpnew_pkg::PARALLEL}, // NONCOMP - '{default: fpnew_pkg::MERGED} - }, // CONV + '{default: fpnew_pkg::MERGED}, // CONV + '{default: fpnew_pkg::DISABLED} + }, // DOTP PipeConfig: fpnew_pkg::DISTRIBUTED }; @@ -531,10 +536,12 @@ module fpu_wrap fpnew_top #( .Features (FPU_FEATURES), .Implementation(FPU_IMPLEMENTATION), + .DivSqrtSel (fpnew_pkg::PULP), .TagType (logic [CVA6Cfg.TRANS_ID_BITS-1:0]) ) i_fpnew_bulk ( .clk_i, .rst_ni, + .hart_id_i ('0), .operands_i (fpu_operands), .rnd_mode_i (fpnew_pkg::roundmode_e'(fpu_rm)), .op_i (fpnew_pkg::operation_e'(fpu_op)), @@ -544,7 +551,7 @@ module fpu_wrap .int_fmt_i (fpnew_pkg::int_format_e'(fpu_ifmt)), .vectorial_op_i(fpu_vec_op), .tag_i (fpu_tag), - .simd_mask_i (1'b1), + .simd_mask_i ('1), .in_valid_i (fpu_in_valid), .in_ready_o (fpu_in_ready), .flush_i, diff --git a/core/include/ariane_pkg.sv b/core/include/ariane_pkg.sv index 6ca9d7852d..62cb9515a1 100644 --- a/core/include/ariane_pkg.sv +++ b/core/include/ariane_pkg.sv @@ -50,9 +50,11 @@ package ariane_pkg; localparam int unsigned LAT_COMP_FP16 = 'd1; localparam int unsigned LAT_COMP_FP16ALT = 'd1; localparam int unsigned LAT_COMP_FP8 = 'd1; + localparam int unsigned LAT_COMP_FP8ALT = 'd1; localparam int unsigned LAT_DIVSQRT = 'd2; localparam int unsigned LAT_NONCOMP = 'd1; localparam int unsigned LAT_CONV = 'd2; + localparam int unsigned LAT_SDOTP = 'd2; localparam logic [31:0] OPENHWGROUP_MVENDORID = 32'h0602; localparam logic [31:0] ARIANE_MARCHID = 32'd3; diff --git a/core/include/build_config_pkg.sv b/core/include/build_config_pkg.sv index 1005cdac0a..3ab4f0e3d8 100644 --- a/core/include/build_config_pkg.sv +++ b/core/include/build_config_pkg.sv @@ -3,13 +3,14 @@ package build_config_pkg; function automatic config_pkg::cva6_cfg_t build_config(config_pkg::cva6_user_cfg_t CVA6Cfg); bit IS_XLEN32 = (CVA6Cfg.XLEN == 32) ? 1'b1 : 1'b0; bit IS_XLEN64 = (CVA6Cfg.XLEN == 32) ? 1'b0 : 1'b1; - bit FpPresent = CVA6Cfg.RVF | CVA6Cfg.RVD | CVA6Cfg.XF16 | CVA6Cfg.XF16ALT | CVA6Cfg.XF8; - bit NSX = CVA6Cfg.XF16 | CVA6Cfg.XF16ALT | CVA6Cfg.XF8 | CVA6Cfg.XFVec; // Are non-standard extensions present? + bit FpPresent = CVA6Cfg.RVF | CVA6Cfg.RVD | CVA6Cfg.XF16 | CVA6Cfg.XF16ALT | CVA6Cfg.XF8 | CVA6Cfg.XF8ALT; + bit NSX = CVA6Cfg.XF16 | CVA6Cfg.XF16ALT | CVA6Cfg.XF8 | CVA6Cfg.XF8ALT | CVA6Cfg.XFVec; // Are non-standard extensions present? int unsigned FLen = CVA6Cfg.RVD ? 64 : // D ext. CVA6Cfg.RVF ? 32 : // F ext. CVA6Cfg.XF16 ? 16 : // Xf16 ext. CVA6Cfg.XF16ALT ? 16 : // Xf16alt ext. CVA6Cfg.XF8 ? 8 : // Xf8 ext. + CVA6Cfg.XF8ALT ? 8 : // Xf8alt ext. 1; // Unused in case of no FP // Transprecision floating-point extensions configuration @@ -17,6 +18,7 @@ package build_config_pkg; bit XF16Vec = CVA6Cfg.XF16 & CVA6Cfg.XFVec & FLen>16; // FP16 vectors available if vectors and larger fmt enabled bit XF16ALTVec = CVA6Cfg.XF16ALT & CVA6Cfg.XFVec & FLen>16; // FP16ALT vectors available if vectors and larger fmt enabled bit XF8Vec = CVA6Cfg.XF8 & CVA6Cfg.XFVec & FLen>8; // FP8 vectors available if vectors and larger fmt enabled + bit XF8ALTVec = CVA6Cfg.XF8ALT & CVA6Cfg.XFVec & FLen>8; // FP8ALT vectors available if vectors and larger fmt enabled bit EnableAccelerator = CVA6Cfg.RVV; // Currently only used by V extension (Ara) int unsigned NrWbPorts = (CVA6Cfg.CvxifEn || EnableAccelerator) ? 5 : 4; @@ -62,6 +64,7 @@ package build_config_pkg; cfg.XF16 = CVA6Cfg.XF16; cfg.XF16ALT = CVA6Cfg.XF16ALT; cfg.XF8 = CVA6Cfg.XF8; + cfg.XF8ALT = CVA6Cfg.XF8ALT; cfg.RVA = CVA6Cfg.RVA; cfg.RVB = CVA6Cfg.RVB; cfg.RVV = CVA6Cfg.RVV; @@ -85,6 +88,7 @@ package build_config_pkg; cfg.XF16Vec = bit'(XF16Vec); cfg.XF16ALTVec = bit'(XF16ALTVec); cfg.XF8Vec = bit'(XF8Vec); + cfg.XF8ALTVec = bit'(XF8ALTVec); // Can take 2 or 3 in single issue. 4 or 6 in dual issue. cfg.NrRgprPorts = unsigned'(CVA6Cfg.SuperscalarEn ? 4 : 2); // cfg.NrRgprPorts = unsigned'(CVA6Cfg.SuperscalarEn ? 6 : 3); diff --git a/core/include/config_pkg.sv b/core/include/config_pkg.sv index dcdd0e5957..b12b282114 100644 --- a/core/include/config_pkg.sv +++ b/core/include/config_pkg.sv @@ -80,6 +80,8 @@ package config_pkg; bit XF16ALT; // Non standard 8bits Floating Point extension bit XF8; + // TO_BE_COMPLETED + bit XF8ALT; // Non standard Vector Floating Point extension bit XFVec; // Perf counters @@ -237,6 +239,7 @@ package config_pkg; bit XF16; bit XF16ALT; bit XF8; + bit XF8ALT; bit RVA; bit RVB; bit RVV; @@ -261,6 +264,7 @@ package config_pkg; bit XF16Vec; bit XF16ALTVec; bit XF8Vec; + bit XF8ALTVec; int unsigned NrRgprPorts; int unsigned NrWbPorts; bit EnableAccelerator; diff --git a/core/include/cv32a60x_config_pkg_deprecated.sv b/core/include/cv32a60x_config_pkg_deprecated.sv index b53db73bcf..41f5f9aea9 100644 --- a/core/include/cv32a60x_config_pkg_deprecated.sv +++ b/core/include/cv32a60x_config_pkg_deprecated.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 1; @@ -91,6 +92,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv32a65x_config_pkg.sv b/core/include/cv32a65x_config_pkg.sv index 7864df241a..ae02195beb 100644 --- a/core/include/cv32a65x_config_pkg.sv +++ b/core/include/cv32a65x_config_pkg.sv @@ -37,6 +37,7 @@ package cva6_config_pkg; XF16: bit'(0), XF16ALT: bit'(0), XF8: bit'(0), + XF8ALT: bit'(0), RVA: bit'(0), RVB: bit'(1), RVV: bit'(0), diff --git a/core/include/cv32a6_embedded_config_pkg_deprecated.sv b/core/include/cv32a6_embedded_config_pkg_deprecated.sv index 8593f386c7..661a9fb15c 100644 --- a/core/include/cv32a6_embedded_config_pkg_deprecated.sv +++ b/core/include/cv32a6_embedded_config_pkg_deprecated.sv @@ -15,6 +15,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 1; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv32a6_ima_sv32_fpga_config_pkg.sv b/core/include/cv32a6_ima_sv32_fpga_config_pkg.sv index f377ac2c6f..714ea1104b 100644 --- a/core/include/cv32a6_ima_sv32_fpga_config_pkg.sv +++ b/core/include/cv32a6_ima_sv32_fpga_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 0; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv32a6_imac_sv0_config_pkg.sv b/core/include/cv32a6_imac_sv0_config_pkg.sv index b9eec5351e..5a72415a76 100644 --- a/core/include/cv32a6_imac_sv0_config_pkg.sv +++ b/core/include/cv32a6_imac_sv0_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 0; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv32a6_imac_sv32_config_pkg.sv b/core/include/cv32a6_imac_sv32_config_pkg.sv index 3b326a921e..e8a5231999 100644 --- a/core/include/cv32a6_imac_sv32_config_pkg.sv +++ b/core/include/cv32a6_imac_sv32_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 0; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv32a6_imafc_sv32_config_pkg.sv b/core/include/cv32a6_imafc_sv32_config_pkg.sv index 5d5ed71006..7e4e61e373 100644 --- a/core/include/cv32a6_imafc_sv32_config_pkg.sv +++ b/core/include/cv32a6_imafc_sv32_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 0; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv64a6_imadfcv_sv39_polara_config_pkg.sv b/core/include/cv64a6_imadfcv_sv39_polara_config_pkg.sv index f2cf8f4ccb..5a32ba19d2 100644 --- a/core/include/cv64a6_imadfcv_sv39_polara_config_pkg.sv +++ b/core/include/cv64a6_imadfcv_sv39_polara_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 1; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 0; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv64a6_imafdc_sv39_config_pkg.sv b/core/include/cv64a6_imafdc_sv39_config_pkg.sv index bb7403c9bb..300204f1ab 100644 --- a/core/include/cv64a6_imafdc_sv39_config_pkg.sv +++ b/core/include/cv64a6_imafdc_sv39_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 1; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv64a6_imafdc_sv39_hpdcache_config_pkg.sv b/core/include/cv64a6_imafdc_sv39_hpdcache_config_pkg.sv index 0bbe0bf760..232b7a753f 100644 --- a/core/include/cv64a6_imafdc_sv39_hpdcache_config_pkg.sv +++ b/core/include/cv64a6_imafdc_sv39_hpdcache_config_pkg.sv @@ -23,6 +23,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 1; @@ -97,6 +98,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv64a6_imafdc_sv39_openpiton_config_pkg.sv b/core/include/cv64a6_imafdc_sv39_openpiton_config_pkg.sv index a1eb739d55..9d8f7cafd9 100644 --- a/core/include/cv64a6_imafdc_sv39_openpiton_config_pkg.sv +++ b/core/include/cv64a6_imafdc_sv39_openpiton_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 0; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv64a6_imafdc_sv39_wb_config_pkg.sv b/core/include/cv64a6_imafdc_sv39_wb_config_pkg.sv index 9917de55b4..d4f42a9009 100644 --- a/core/include/cv64a6_imafdc_sv39_wb_config_pkg.sv +++ b/core/include/cv64a6_imafdc_sv39_wb_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 1; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv64a6_imafdch_sv39_config_pkg.sv b/core/include/cv64a6_imafdch_sv39_config_pkg.sv index efc048d14a..4395ed13d0 100644 --- a/core/include/cv64a6_imafdch_sv39_config_pkg.sv +++ b/core/include/cv64a6_imafdch_sv39_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 1; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv64a6_imafdch_sv39_wb_config_pkg.sv b/core/include/cv64a6_imafdch_sv39_wb_config_pkg.sv index e9903a326c..7c9d5e9a95 100644 --- a/core/include/cv64a6_imafdch_sv39_wb_config_pkg.sv +++ b/core/include/cv64a6_imafdch_sv39_wb_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 1; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv64a6_imafdchsclic_sv39_hpdcache_config_pkg.sv b/core/include/cv64a6_imafdchsclic_sv39_hpdcache_config_pkg.sv index 3d22433781..ea3c77e18b 100644 --- a/core/include/cv64a6_imafdchsclic_sv39_hpdcache_config_pkg.sv +++ b/core/include/cv64a6_imafdchsclic_sv39_hpdcache_config_pkg.sv @@ -23,6 +23,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 0; @@ -97,6 +98,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv64a6_imafdchsclic_sv39_wb_config_pkg.sv b/core/include/cv64a6_imafdchsclic_sv39_wb_config_pkg.sv index 9a107097b8..24b36162f1 100644 --- a/core/include/cv64a6_imafdchsclic_sv39_wb_config_pkg.sv +++ b/core/include/cv64a6_imafdchsclic_sv39_wb_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 0; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn), diff --git a/core/include/cv64a6_imafdcv_sv39_config_pkg.sv b/core/include/cv64a6_imafdcv_sv39_config_pkg.sv index 4119e5d6fe..4ba8055681 100644 --- a/core/include/cv64a6_imafdcv_sv39_config_pkg.sv +++ b/core/include/cv64a6_imafdcv_sv39_config_pkg.sv @@ -16,6 +16,7 @@ package cva6_config_pkg; localparam CVA6ConfigF16En = 0; localparam CVA6ConfigF16AltEn = 0; localparam CVA6ConfigF8En = 0; + localparam CVA6ConfigF8AltEn = 0; localparam CVA6ConfigFVecEn = 0; localparam CVA6ConfigCvxifEn = 0; @@ -90,6 +91,7 @@ package cva6_config_pkg; XF16: bit'(CVA6ConfigF16En), XF16ALT: bit'(CVA6ConfigF16AltEn), XF8: bit'(CVA6ConfigF8En), + XF8ALT: bit'(CVA6ConfigF8AltEn), RVA: bit'(CVA6ConfigAExtEn), RVB: bit'(CVA6ConfigBExtEn), RVV: bit'(CVA6ConfigVExtEn),